BSD / macOSファイルフラグを読み取ったり一覧表示したりするためのAPI /システムコール

BSD / macOSファイルフラグを読み取ったり一覧表示したりするためのAPI /システムコール

標準 *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

以下を使用してフラグを変更できますchflagsFreeBSD マニュアルページ

これらのフラグを変更する対応するシステムchflagsコールがあります。lchflagsfchflagsmacOS のマニュアルページ

しかし、システムコールが見つからないようです。読むバナー。確かにlsそれらを得るためにどの関数が呼び出されますか?これを変更できるシステムコールも現在の状態を返すことができないようです。

私は何を見逃していますか?

(StackOverflowに属している場合は、自由にそこに移動してください。)

ベストアンサー1

読み取りフラグを使用できます。statmacOSとBSDでは、st_flagsフィールドに表示されます。

おすすめ記事