
標準 *nix ファイルに加えて特権、macOSにもファイルがありますバナー、BSD Unixに由来しています。 macOS用のこれらのフラグセットは次のとおりです。
UF_NODUMP Do not dump the file. UF_IMMUTABLE The file may not be changed. UF_APPEND The file may only be appended to. UF_OPAQUE The directory is opaque when viewed through a union stack. UF_HIDDEN The file or directory is not intended to be dis-played displayed played to the user. SF_ARCHIVED The file has been archived. SF_IMMUTABLE The file may not be changed. SF_APPEND The file may only be appended to.
スイッチは異なりますが、ls 用の追加スイッチを使用すると、次の追加フラグを表示できます。
ls -lo
- BSDとmacOSの以前のバージョンかもしれませんls -lO
- 現在のバージョンのmacOS
以下を使用してフラグを変更できますchflags
。FreeBSD マニュアルページ
これらのフラグを変更する対応するシステムchflags
コールがあります。lchflags
fchflags
macOS のマニュアルページ
しかし、システムコールが見つからないようです。読むバナー。確かにls
それらを得るためにどの関数が呼び出されますか?これを変更できるシステムコールも現在の状態を返すことができないようです。
私は何を見逃していますか?
(StackOverflowに属している場合は、自由にそこに移動してください。)
答え1
読み取りフラグを使用できます。stat
macOSとBSDでは、st_flags
フィールドに表示されます。