公開:

lsattrコマンドとは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


lsattrコマンドとは

lsattrはLinuxシステムにおいてファイルの拡張属性を表示するためのコマンドです。ファイルの拡張属性とは、ファイルに対して設定される特殊な属性のことを指します。

lsattrコマンドを使用することで、ファイルに設定されている拡張属性を確認できます。拡張属性には、ファイルの変更を制限したり、バックアップ対象から除外したりするなどの機能があります。

lsattrコマンドは、ファイルシステムがext2、ext3ext4、XFS、JFS、Btrfsなどの場合に使用可能です。ファイルシステムによって、サポートされている拡張属性の種類が異なります。

lsattrコマンドの実行には、rootユーザーまたはsudo権限が必要となる場合があります。一般ユーザーでも実行可能ですが、表示される情報に制限がかかることがあります。

lsattrコマンドを使いこなすことで、ファイルの拡張属性を理解し、適切に設定や管理を行うことができます。システム管理者にとって、lsattrは重要なコマンドの一つと言えるでしょう。

lsattrコマンドの使用方法と主なオプション

lsattrコマンドの使用方法と主なオプションに関して、以下3つを簡単に解説していきます。

  • lsattrコマンドの基本的な使い方
  • lsattrコマンドでよく使われるオプション
  • lsattrコマンドの実行例と出力結果の見方

lsattrコマンドの基本的な使い方

lsattrコマンドの基本的な使い方は、コマンドの後にファイル名やディレクトリ名を指定するだけです。指定したファイルやディレクトリの拡張属性が表示されます。

複数のファイルやディレクトリを指定することも可能です。ワイルドカードを使用して、複数のファイルを一括で指定することもできます。

$ lsattr ファイル名
$ lsattr ディレクトリ名
$ lsattr ファイル名1 ファイル名2 ディレクトリ名
$ lsattr *.txt

lsattrコマンドでよく使われるオプション

lsattrコマンドには、拡張属性の表示方法を変更したり、特定の属性のみを表示したりするためのオプションがあります。よく使われるオプションとしては、-a、-d、-R、-vなどがあります。

-aオプションは、ドット(.)で始まる隠しファイルの拡張属性も表示します。-dオプションは、ディレクトリ自体の拡張属性を表示します。-Rオプションは、指定したディレクトリ内のサブディレクトリやファイルの拡張属性も再帰的に表示します。

$ lsattr -a ファイル名
$ lsattr -d ディレクトリ名
$ lsattr -R ディレクトリ名
$ lsattr -v ファイル名

lsattrコマンドの実行例と出力結果の見方

lsattrコマンドを実行すると、ファイルやディレクトリの拡張属性が表示されます。出力結果は、属性を表す文字列とファイル名が表示されます。

属性を表す文字列は、各文字が特定の拡張属性を示しています。例えば、「i」はimmutableを表し、ファイルの変更が禁止されていることを示します。「a」はappendを表し、ファイルへの追記のみが許可されていることを示します。

$ lsattr ファイル名
----i--------e-- ファイル名
$ lsattr -d ディレクトリ名
----i--------e-- ディレクトリ名

lsattrコマンドで表示される拡張属性の種類

lsattrコマンドで表示される拡張属性の種類に関して、以下3つを簡単に解説していきます。

  • ファイルの変更を制限する拡張属性
  • ファイルのバックアップや同期に関する拡張属性
  • その他の特殊な拡張属性

ファイルの変更を制限する拡張属性

lsattrコマンドで表示される拡張属性の中には、ファイルの変更を制限するものがあります。代表的なものとして、「i」(immutable)と「a」(append)があります。

「i」属性が設定されたファイルは、変更や削除が禁止されます。「a」属性が設定されたファイルは、追記のみが許可され、既存のデータの変更や削除はできません。これらの属性は、重要なファイルを保護する目的で使用されます。

----i--------e-- ファイル名
-----a-------e-- ファイル名

ファイルのバックアップや同期に関する拡張属性

lsattrコマンドで表示される拡張属性には、ファイルのバックアップや同期に関するものもあります。「s」(secure deletion)と「S」(synchronous updates)が代表的な属性です。

「s」属性が設定されたファイルは、削除時にデータが上書きされ、復元が困難になります。「S」属性が設定されたファイルは、変更内容がディスクに同期的に書き込まれ、データの整合性が保たれます。これらの属性は、セキュリティやデータの信頼性を高めるために使用されます。

--s---------e-- ファイル名
---S--------e-- ファイル名

その他の特殊な拡張属性

lsattrコマンドで表示される拡張属性には、その他にも特殊な属性があります。「u」(undelete)、「c」(compressed)、「t」(no tail-merging)などがその例です。

「u」属性が設定されたファイルは、削除後も一定期間復元可能な状態で保持されます。「c」属性が設定されたファイルは、透過的に圧縮された状態で保存されます。「t」属性が設定されたファイルは、テールマージ最適化が無効になります。

--u---------e-- ファイル名
---c--------e-- ファイル名
----t-------e-- ファイル名

lsattrコマンドの注意点と拡張属性の設定方法

lsattrコマンドの注意点と拡張属性の設定方法に関して、以下3つを簡単に解説していきます。

  • lsattrコマンド実行時の注意点
  • chattrコマンドを使った拡張属性の設定と解除
  • 拡張属性を活用する際の留意点

lsattrコマンド実行時の注意点

lsattrコマンドを実行する際は、いくつかの注意点があります。まず、lsattrコマンドを実行するには、対象のファイルやディレクトリに対する読み取り権限が必要です。

また、lsattrコマンドはファイルシステムによってサポートされている拡張属性のみを表示します。ファイルシステムがサポートしていない拡張属性は表示されないため、注意が必要です。

$ lsattr ファイル名
lsattr: Permission denied
$ lsattr ファイル名
--------------e-- ファイル名

chattrコマンドを使った拡張属性の設定と解除

拡張属性の設定や解除には、chattrコマンドを使用します。chattrコマンドは、指定したファイルやディレクトリに拡張属性を設定したり、解除したりするためのコマンドです。

chattrコマンドを使って拡張属性を設定する場合は、「+」記号と属性文字を組み合わせて指定します。拡張属性を解除する場合は、「-」記号と属性文字を組み合わせます。chattrコマンドの実行には、rootユーザーまたはsudo権限が必要です。

$ sudo chattr +i ファイル名
$ sudo chattr -i ファイル名
$ sudo chattr +a ファイル名
$ sudo chattr -a ファイル名

拡張属性を活用する際の留意点

拡張属性を活用する際は、いくつかの留意点があります。拡張属性を設定することで、ファイルの変更や削除が制限されるため、必要な操作ができなくなる可能性があります。

また、バックアップツールや同期ツールによっては、拡張属性を正しく扱えない場合があります。拡張属性を設定する前に、使用するツールがそれらをサポートしているかを確認することが重要です。

$ sudo chattr +i 重要なファイル
$ sudo rm 重要なファイル
rm: cannot remove '重要なファイル': Operation not permitted

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「コンピュータ」に関するコラム一覧「コンピュータ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。