将文件的创建和修改日期复制到另一个文件的优雅方式是什么?

GJ.*_*GJ. 40 linux bash macos

如何将文件的时间信息设置为与 OSX/Linux 上的另一个文件的时间信息相同?

Fra*_*ran 62

类型:

touch -r FROMFILE TOFILE
Run Code Online (Sandbox Code Playgroud)

这将设置 TOFILE 的访问和修改时间以匹配 FROMFILE。

它还会将 TOFILE 的 ctime 更新为当前时间。

无法更新 ctime(inode 更改时间)以匹配另一个文件,只能更新到当前系统时间。(如果您确实需要设置 ctime,或者debugfs在未挂载的 ext2/3/4 文件系统上使用,您可以更改。在 Stack Overflow 上查看更多信息

  • 并注意:臭名昭著的“创建时间”(又名“ctime”)可能会听到人们说 UNIX 系统为文件存储实际上是“i-node 修改时间”,这实际上毫无用处,而且肯定不代表时间文件已创建。 (12认同)
  • *真正的*“创建时间”是 **btime** 又名“出生时间”,某些文件系统支持它,但 Linux stat() 不(还)。 (7认同)
  • 在 OSX 上使用 `touch -r` 时,“创建时间”(出现在文件的“获取信息”框中)与“上次修改”时间相同。即似乎 FILE1 创建时间在此过程中被忽略/丢失 (2认同)
  • @Fran 我不知道 ctime 是如何工作的。我在这里找到了一个很好的解释。`http://www.unix.com/tips-tutorials/20526-mtime-ctime-atime.html` (2认同)