CHFLAGS(1)

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

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

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

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

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

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

-P  -R オプションが指定されていれば、どのシンボリックリンクもたどりません。 これがデフォルトです。

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

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

arch
    archived フラグをセットします (スーパユーザのみ)
opaque
    opaque フラグをセットします (所有者かスーパユーザのみ)
nodump
    nodump フラグをセットします (所有者かスーパユーザのみ)
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” をつけると、そのフラグを無効にします。 例:

nouchg
    immutable ビットをクリア

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

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

診断

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

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