虽然类Unix系统设置文件的“修改时间”可以使用touch命令来实现,但无法满足修改“创建时间”的需求。Setfile命令是一个 Mac OS X 的开发者工具,它可以更改文件的创建时间、修改时间。早期使用 Setfile 需要安装 Xcode command line tools(命令:xcode-select --install)而在 Mac OS X 10.5 以及之后系统版本中 Setfile 命令已作为系统的内置命令方便用户使用。

macOS.jpg
macOS.jpg

1、使用 Setfile 更改文件时间

setfile
Usage: SetFile [option...] file...
    -a attributes  # attributes (lowercase = 0, uppercase = 1)*
    -c creator     # file creator
    -d date        # creation date (mm/dd/[yy]yy [hh:mm[:ss] [AM | PM]])*
    -m date        # modification date (mm/dd/[yy]yy [hh:mm[:ss] [AM | PM]])*
    -P             # perform action on symlink instead of following it
    -t type        # file type

使用示例:

# 修改创建日期
setfile -d mm/dd/yy hh:mm:ss filename

# 示例
setfile -d '22/10/2022 20:10:00' filename.txt

# 修改修改日期
setfile -m mm/dd/yy hh:mm:ss filename

# 示例
setfile -m '22/10/2022 20:20:00' filename.txt

最后,修改完成后,可运行 Stat 命令查看文件时间属性进行确认。

2、使用 Stat 查看文件时间属性

stat -x filename.txt

Darwin 系统可以查看文件的 Access(访问时间)、Modify(文件修改时间)、Change (文件权限修改时间)、Birth(创建时间)这四个时间更友好,而在 Linux 中执行 stat 相比缺少一个 Birth(创建时间)。