![覆盖文件时如何保留文件创建日期?](https://linux22.com/image/224200/%E8%A6%86%E7%9B%96%E6%96%87%E4%BB%B6%E6%97%B6%E5%A6%82%E4%BD%95%E4%BF%9D%E7%95%99%E6%96%87%E4%BB%B6%E5%88%9B%E5%BB%BA%E6%97%A5%E6%9C%9F%EF%BC%9F.png)
当我用一个文件覆盖另一个文件时,不仅会更新修改时间,还会更新出生时间,这是不需要的。我想让 Dolphin 以这种方式覆盖文件,这样目标的出生时间将保持与覆盖之前相同。
但是,如果不可能以这种方式配置 Dolphin,那么任何其他方法都会受到赞赏。
Debian 12
答案1
出生时间不能任意设置,除非设置“上下文”时间(通常是系统时间)。这意味着无法将一个文件复制到另一个文件并让副本保留原始文件的出生时间。 (看为什么使用“cp -a”不能保留创建时间?了解详情。)
然而,保留现有目标的出生时间是可能的(我觉得这就是你所追求的)。为此,复制操作必须确保目标不会被完全替换,而只会替换其内容;更明确地说,不应删除现有目标并为副本创建新文件,而应清空(截断)现有目标并将源数据复制到其中。这是应该如何cp
操作,除非错误阻止它截断或写入现有目标。
因此,实现目标的一种方法是使用普通旧版cp
本来复制文件。在开始复制操作之前,您还应该确保所有现有目标文件都是可写的。