修改MacOS文件创建时间(creationdate)使用Setfile命令,不是touch命令,附带Linux文件时间属性介绍使用命令touch实现(事先说明,这种通用方法不能满足要求修改“创建时间”。后来有一个可行的方案是使用setfile命令):命令格式touch[选项参数]<文件名>命令参数-t使用指定的日期和时间,修改“atime(访问时间))”和文件的“mtime(修改时间)”。-aor--time=atimeor--time=accessor--time=use只修改atime(访问时间)。-m或--time=mtime或--time=modify只修改mtime(修改时间)。-c或--no-create不创建任何文件,该参数会修改“atime(访问时间)”、“mtime(修改时间)”、“ctime(文件属性改变时间)”。-d使用指定的日期时间而不是当前时间。-f这个参数会被忽略不处理,它只负责解决BSD版本touch命令的兼容性问题。-r将指定文档或目录的日期和时间设置为与引用文档或目录的日期和时间相同。关于Linux系统的atime(访问时间)、mtime(修改时间)、ctime(文件属性改变时间),将在下面的“附录”部分进行介绍。e.g.//使用指定时间(2020年2月3日12:30),修改文件的“atime(访问时间)”和“mtime(修改时间)”touch-t202002031230<文件名>//使用指定时间(2020年02月03日12:30),修改文件的“修改时间”touch-mt202002031230<文件名>无论是touch-t还是touch-mt,执行后:只有“修改时间”修改了,但是“创建时间”还是没有修改。原因是:如果指定时间早于原始创建时间,touch-t只会修改创建时间。解决方案是使用Setfile命令。Setfile命令是一个MacOSX开发者工具,可以修改文件的创建(creationtime)和修改日期(modificationtime)。但前提是你的MacOS上必须已经安装了Xcode。如果没有,您可以前往MacAppStore进行安装。您可以在/usr/bin/SetFile位置找到此命令行工具。使用方法Setfile-d'01/10/202011:00:00'
