在像您这样的程序中,stat
您可以看到访问、修改和更改,但在 macOS 上的 Finder 中,有一个“添加日期”字段。我可以获取终端中显示的文件或目录的“添加日期”,例如stat
可以显示修改日期吗?
答案1
一些候选者包括以下内容。文件时间在元数据中公开,并且mdls
是“米埃塔d阿塔我我st"。当与该-raw
选项一起使用时,输出mdls
包含用 NUL 字符分隔的字段。例如,如下所示。
# The creation date which should not change.
mdls -raw -name kMDItemFSCreationDate $filename
该stat
命令的行为有所不同。使用命令 的两个 shell 的四个版本的结果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
(5.3 包含在 macOS 中)生成stat: missing file descriptor
./bin/bash
(3.2.57(1) 包含在 macOS 中会生成testing.txt
.
但是,通过使用 的完整路径stat
,该命令在两个 shell 的每个版本中都按预期完成。生成所有找到的时间的示例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
这是一个有趣的问题,我希望对造成这种差异的原因有更多的了解。