DisplayName Asked: 2019-02-20 11:36:27 +0800 CST2019-02-20 11:36:27 +0800 CST 2019-02-20 11:36:27 +0800 CST bash 可以读取文件/目录的“添加日期”吗? 772 对于stat您所看到的访问、修改和更改程序,但对于 macOS 上的 Finder,有一个“添加日期”字段。我可以获取终端中显示的文件或目录的“添加日期”,例如stat可以显示修改日期吗? bash osx 1 个回答 Voted Best Answer Christopher 2019-02-20T11:56:32+08:002019-02-20T11:56:32+08:00 一些候选人包括以下内容。文件时间在元数据中公开,mdls是“元数据” 。与该选项一起使用时,来自包含用 NUL 字符分隔的字段的输出。例如如下。-rawmdls # 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(通过 Homebrew 的 5.0.2(1))产生testing.txt. /bin/zsh(macOS 包含 5.3)产生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 这是一个有趣的问题,我希望能对造成这种差异的原因有更多的了解。
一些候选人包括以下内容。文件时间在元数据中公开,
mdls
是“元数据” 。与该选项一起使用时,来自包含用 NUL 字符分隔的字段的输出。例如如下。-raw
mdls
该
stat
命令的行为不同。使用命令 , 来自两个 shell 的四个版本的结果stat -f $filename
如下。/usr/local/bin/zsh
(5.7.1 通过 Homebrew)产生stat: missing file descriptor
./usr/local/bin/bash
(通过 Homebrew 的 5.0.2(1))产生testing.txt
./bin/zsh
(macOS 包含 5.3)产生stat: missing file descriptor
./bin/bash
(3.2.57(1) 包括 macOS 产生testing.txt
的 .但是,通过使用 的完整路径
stat
,命令在两个 shell 的每个版本中都按预期完成。一个生成所有时间的示例,stat
如下所示。该命令从上面的命令中生成如下结果。
这是一个有趣的问题,我希望能对造成这种差异的原因有更多的了解。