我想将目录从一个位置移动到另一个位置,但是当我这样做时,我可以看到时间戳发生了变化。有什么办法可以保留原始时间戳吗?
已查看其手册页,mv
但找不到任何现有选项。
答案1
使用cp
如下,mv
不行。
cp -r -p /path/to/sourceDirectory /path/to/destination/
来自男人cp:
-p
same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
然后复制完成后删除 源目录。
答案2
在 Linux 上,这是有效的:
timestamp=$(stat -c %y foldername)
mv foldername new_foldername
touch -d "$timestamp" new_foldername
该stat -c %y
命令以可读形式返回文件夹的修改日期。该值将被保留并与命令一起使用touch -d "$timestamp"
来设置新文件夹的时间。