あなたのプログラムはstat
アクセス、修正、変更を見ることができますが、macOSのFinderには「追加日」フィールドがあります。端末に表示されるファイルやディレクトリの「追加日」を取得できますか?たとえば、stat
変更された日付を表示できますか?
答え1
一部の候補者には以下が含まれます。ファイル時間はメタデータに公開されmdls
、米到着予定時間Dアタ私私St".-raw
このオプションと組み合わせて使用すると、出力にmdls
NUL 文字で区切られたフィールドが含まれます。たとえば、次のようになります。
# The creation date which should not change.
mdls -raw -name kMDItemFSCreationDate $filename
コマンドはstat
異なる動作をします。このコマンドを使用する2つのシェルの4つのバージョンの結果stat -f $filename
は次のとおりです。
/usr/local/bin/zsh
(5.7.1 Homebrew経由)stat: missing file descriptor
。/usr/local/bin/bash
(5.0.2(1)Homebrew経由)testing.txt
。/bin/zsh
(macOS 5.3に含まれています)ビルドstat: missing file descriptor
。/bin/bash
(macOSに含まれている3.2.57(1)はtesting.txt
。
ただし、フルパスを使用すると、両方のシェルのstat
すべてのバージョンで期待どおりにコマンドが完了します。検索されたすべての時間を生成する例stat
は次のとおりです。
/usr/bin/stat -f "Access (atime): %Sa%nModify (mtime): %Sm%nChange (ctime): %Sc%nBirth (Btime): %SB" testing.txt
このコマンドは、上記のコマンドの次の結果のような出力を生成します。
Access (atime): Feb 21 10:46:41 2019
Modify (mtime): Feb 21 10:46:21 2019
Change (ctime): Feb 21 10:46:21 2019
Birth (Btime): Feb 21 10:22:17 2019
これは興味深い質問であり、これらの違いが発生する理由についてもっと知りたいです。