CHFLAGS(1)

名称
chflags - ファイルのフラグを変更する

書式
chflags [ -R [-H | -L | -P]] flags file ...

解説
chflags は指定したファイルのフラグを、 flags で指定した値に変更します。

オプションは以下のとおりです。

-H  -R オプションが指定されていれば、引数で指定されたシンボリックリンクを たどります (木構造の検索中にみつかったシンボリックリンクはたどりません)。

-L  -R オプションが指定されていれば、全てのシンボリックリンクをたどります。

-P  -R オプションが指定されていれば、どのシンボリックリンクもたどりません。

-R  指定されたファイル自身ではなく、 そのファイル以下のディレクトリ階層すべての フラグを変更します。

フラグはキーワードをコンマで区切ったものです。 現在定義されているキーワードは以下のとおりです:

    arch	archived フラグをセットします (スーパユーザのみ)
    dump	dump フラグをセットします
    sappnd	system append-only (システムレベルでの追加専用) フラグをセットします
    	(スーパユーザのみ)
    schg	system immutable (システムレベルでの変更不可) フラグをセットします
    	(スーパユーザのみ)
    sunlnk	system undeletable (システムレベルでの削除不可) フラグをセットします
    	(スーパユーザのみ)
    uappnd	user append-only (ユーザレベルでの追加専用) フラグをセットします
    	(所有者またはスーパユーザのみ)
    uchg	user immutable (ユーザレベルでの変更不可) フラグをセットします
    	(所有者またはスーパユーザのみ)
    uunlnk	user undeletable (ユーザレベルでの削除不可) フラグをセットします
    	(所有者またはスーパユーザのみ)
    archived、sappend、schange、simmutable、uappend、uchange、uimmutable,
    sunlink, uunlink
    	は上記のキーワードのエイリアスです。

オプションキーワードの前に “no” をつけると、そのフラグを無効にします。 例えば、

    nodump	dump フラグをクリアします

シンボリックリンクにはフラグはありません。 よって、 -H あるいは -L オプションを指定せずにシンボリックリンクに 対して chflags を実行した場合、常に成功しますが、何の効果もありません。 -H 、 -L 、 -P オプションは -R オプションを指定しない限り無視されます。 また、これらのオプションはお互いの効果を上書きするため、 最後に指定されたオプションによってコマンドの動作が決まります。

ファイルのフラグを見るには "ls -lo" とします。

chflags は実行に成功すると 0 を、エラーが発生すると 0 より大きい値を 戻り値として返します。

関連項目
ls(1), chflags(2), stat(2), fts(3), symlink(7)

歴史
chflags は 4.4BSD に初めて登場しました。