我想将文件复制到目录而不更改ext4文件系统上目录的修改时间戳。好吧,脚本中有很多文件和很多目录。
我查看了rsync和cp选项。
为了解决这个问题,如何在ext4文件系统上复制文件并保留目标目录上的时间戳?
有许多方法可以复制文件并保留其属性,但它们会修改父目录时间戳。所需要的是记录该时间戳并在复制后应用它的两步过程。在引用的问题中没有解决这个问题。 Giving a file/directory the same modification date as another
答案 0 :(得分:0)
一种选择是保存和恢复时间戳:
# Save current modification time
timestamp=$(stat -c @%Y mydir)
[.. copy/sync files ..]
# Restore that timestamp
touch -d "$timestamp" mydir
答案 1 :(得分:-1)
见guid。如果您想保留原始时间戳,请使用
$ touch -r <original_file> <new_file>
。
这将复制另一个文件中的属性。如果您需要更改特定属性,请使用以下内容。
访问时间
$ touch -a --date="1988-02-15" file.txt
修改时间:
$ touch -m --date="2020-01-20" file.txt
要查看文件或文件夹的统计信息,请使用stat <file>
答案 2 :(得分:-1)
$ cp --preserve=timestamps oldfile newfile
或
$ cp -p oldfile newfile
会这样做。 人页明确说明了这一点。