HowtoForgeに9月5日(米国時間)に掲載された記事「Linux lsattr Command Tutorial for Beginners (with Examples)」が、lsattrコマンドの使い方を伝えた。lsattrはext2など特定のファイルシステムにおけるファイル属性を表示するためのコマンドで、利用できる属性はファイルシステムごとに異なっている。

lsattrコマンドの主な使い方は次のとおり。

コマンド 内容
lsattr ファイルやディレクトリの属性を一覧表示
lsattr パス 対象のファイル属性を表示
lsattr -R パス 対象を再帰的に一覧表示
lsattr -p パス ファイルプロジェクトとバージョンを表示

表示されるファイル属性の意味は次のとおり。

属性 意味
a アペンド・オンリー
A アクセス時間アップデートなし
c 圧縮済み
C CoWを実施しない
d ダンプなし
D 同期ディレクトリアップデート
e 拡張フォーマット
i イミュータブル
j データジャーナリング
P プロジェクトヒエラルキ
s セキュア・デリーション
S 同期アップデート
t tailマージなし
T ディレクトリヒエラルキートップ
u 削除不可
E 暗号済み
I インデックスディレクトリ
N インラインデータ
  • lsattrコマンドの実行例 / Ubuntu 18.04 LTS

    lsattrコマンドの実行例 / Ubuntu 18.04 LTS

ファイル属性のようなデータはファイルシステムごとに異なっており、属性を変更したり、設定した属性を表示したりするコマンドも統一性がない。FreeBSDではUFS2のファイルフラグをchflagsで設置することができ、lsコマンドに-olを指定することで表示が可能。macOSにも同様の機能が用意されており、lsコマンドに-Olを指定することで表示させることができる。

  • ls -olコマンドの実行例 / FreeBSD

    ls -olコマンドの実行例 / FreeBSD

  • ls -Olコマンドの実行例 / macOS

    ls -Olコマンドの実行例 / macOS

ファイルシステムが提供しているこうした保護機能はパーミッションよりも優先されることが多く、パーミッションで削除可能な設定になっていても、属性やフラグで削除不可能が設定されていると削除できなくなる。同じオペレーティングシステムであってもファイルシステムが変わると利用できる属性やフラグ、その設定方法や閲覧方法なども変わってくる。