「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 からこっそり独立した

「分かりそう」で「分からない」でも「分かった」気になれる拡張子辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典

chattr

何するコマンド?

ファイルの属性情報を設定するときに使うコマンド。



書き方

chattr [オプション] [設定する属性] [対象のファイルディレクトリ]



オプション

オプション説明
-vファイルの世代情報を設定する。
-R対象にディレクトリがある場合はその中身も再帰的に設定する
-Vバージョン情報を表示する

補足事項

設定する属性は

chattr +aciu text.txt

のように、対応するアルファベットで指定します。
属性と対応するアルファベットの関係は以下の通りです。


アルファベット属性の内容
a追加モードでしかファイルを開けないよ
A file with the ‘a’ attribute set can only be open in append mode for writing. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
c圧縮されるよ
A file with the ‘c’ attribute set is automatically compressed on the disk by the kernel. A read from this file returns uncompressed data. A write to this file compresses data before storing them on the disk. Note:please make sure to read the bugs and limitations section at the end of this document.
ddumpプログラムが動いた際にバックアップされないよ
A file with the ‘d’ attribute set is not candidate for backup when the dump(8) program is run.
i変更できないよ
A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
jうんちゃらかんちゃら。
A file with the ‘j’ attribute has all of its data written to the ext3 journal before being written to the file itself, if the filesystem is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journal" option all file data is already journalled and this attribute has no effect. Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute.
sファイルが削除されると、割り当てられていたブロックの中身が0になって、ディスクに書き戻されるよ。ごめんなさい。よく分からないです。
When a file with the ‘s’ attribute set is deleted, its blocks are zeroed and written back to the disk. Note: please make sure to read the bugs and limitations section at the end of this document.
tうんちゃらかんちゃら。
A file with the ’t’ attribute will not have a partial block fragment at the end of the file merged with other files (for those filesystems which support tail-merging). This is necessary for applications such as LILO which read the filesystem directly, and which don’t understand tail-merged files. Note: As of this writing, the ext2 or ext3 filesystems do not (yet, except in very experimental patches) support tail-merging.
u削除できなくするよ
When a file with the ‘u’ attribute set is deleted, its contents are saved. This allows the user to ask for its undeletion. Note: please make sure to read the bugs and limitations section at the end of this document.
Aアクセス時刻を更新しないよ
When a file with the ’A’ attribute set is accessed, its atime record is not modified. This avoids a certain amount of disk I/O for laptop systems.
Dそのディレクトリが変更されたときに同期を取るよ
When a directory with the ‘D’ attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the ‘dirsync’mount option applied to a subset of the files.
E圧縮エラーがあるよ
The ’E’ attribute is used by the experimental compression patches to indicate that a compressed file has a compression error. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
Iうんちゃらかんちゃら。
The ’I’ attribute is used by the htree code to indicate that a directory is behind indexed using hashed trees. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
Sそのファイルが変更されたときに同期を取るよ
When a file with the ‘S’ attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the ‘sync’ mount option applied to a subset of the files.
Tうんちゃらかんちゃら。
A directory with the ’T’ attribute will be deemed to be the top of directory hierarchies for the purposes of the Orlov block allocator (which is used in on systems with Linux 2.5.46 or later).
Xうんちゃらかんちゃら。
The ’X’ attribute is used by the experimental compression patches to indicate that a raw contents of a compressed file can be accessed directly. It currently may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
Zうんちゃらかんちゃら。
The ’Z’ attribute is used by the experimental compression patches to indicate a compressed file is dirty. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).

面倒くさそうなところは訳していません。ごめんなさい。気が向いたらそのうち訳します。

「chattr」コマンドの使い方はそんなに難しくありません。
属性を付与したい場合は「+【属性】」の形で指定します。
属性を取り除きたい場合は「-【属性】」の形で指定します。
属性は複数のアルファベットをまとめて指定することも可能です。

例えば

chattr +iu test.txt

と指定して実行すると、属性「i」と「u」が「text.txt」に付与されます。

反対に

chattr -iu test.txt

を実行すると、属性「i」と「u」が「text.txt」から取り除かれます。

それだけです。

あとはそうですね。
いまいち使い所の分からない「-v」オプションですかね。

「-v」オプションは

chattr -v 100 test.txt

のように指定することで、ファイルの世代情報?を設定できます。

属性を表示するコマンド「lsattr」を使って

lsattr -v test.txt

を実行したときに一番左に表示される数字

3504287671 -u----------- test.txt

を設定する際に使います。
使い所がいまいち分かりませんが、余裕があれば覚えてあげてください。

これが「chattr」コマンドの使い方です。

スポンサーリンク


スポンサーリンク