有没有办法将文件A复制到目录B而不更改B的时间戳?如果是,那么它是什么?
编辑:
更大的目标:我正在挖掘一年多前写的一些代码。我发现我做过的事情总会让我对未来的自我感到困惑。我想在那里添加一个README文件来解释这个问题。但我想保留上次在该目录中工作的时间。
最后:
感谢您的回答。我最终做了“触摸-r B / newestoldfile B”,这对我来说已经足够了。即使像有人指出的那样,在所有情况下,这都不是我问题的确切答案。我投了两个答案,但不得不接受。我选择了一个简要提到-r选项的那个:)
答案 0 :(得分:3)
捕获B目录的旧mtime。然后移动文件,然后使用touch
命令用您存储的旧mtime重写B目录的mtime。
old_mtime=$(stat -c%Y B)
mv A B
touch -d"$(date --date="@$old_time")" B
我们使用@$old_time
创建代表自纪元以来$old_time
秒的日期,这是stat
给我们的。
答案 1 :(得分:2)
您可以在使用stat -c %Y
进行复制之前从目录中获取时间戳,然后使用touch
命令修改之后的时间戳。
如果您只想将目录A中的时间戳复制到B:
touch -r A B
答案 2 :(得分:1)
编码时,您应使用Git,Mercurial或Subversion等源代码管理系统。它允许您创建项目文件的存储库,编辑文件,注册版本以及更改内容的注释,最终将编辑后的文件合并到项目中,使用分布式系统将其托管在云中。
其他人已经正确地回答了你提到的方法,但是我想给你一个更好的建议,使用另一个你将来也会更好用的解决方案。