更新文件,但不更改文件修改日期。可以吗?

时间:2011-11-11 14:32:56

标签: linux

在Linux中,我可以更改文件内容,但保留该文件的相同修改日期吗?如果是,那怎么样?感谢。

4 个答案:

答案 0 :(得分:9)

获取文件的修改日期。 更改文件内容,然后您可以通过touch命令更改修改日期。例如

touch -m -t 09082000 file
to change the modification time to 8 sep, 20:00.

您也可以将修改日期更改为过去,对于10/15/1998 12:30,命令将是这样的:

touch -m -t 19981015123000 file

答案 1 :(得分:1)

另一种可能性可能是一种象征性的联系?

如果您有alink->a.txt,则更改a.txt的内容,alink的最后修改时间将不会更新。

答案 2 :(得分:1)

您可以在修改内容之前记住修改日期;内容修改后,您可以将日期修改为初始值。它可以在Linux中从命令行完成。例如:

触摸-t 09082000文件 将修改时间更改为8 sep,20:00。更多信息can be found here.

答案 3 :(得分:0)

由于我现在有一个类似的问题,并通过google找到了这个问题,因此我将提供一个简单,自动的解决方案。我将当前修改时间存储在变量CURRENT中,然后在修改文件后,通过touch将修改时间设置回其原始时间。请注意,获取当前时间戳有点笨拙,您可能需要对其进行一些修改。

FILE=test.txt
touch $FILE
CURRENT=$(date -r $FILE +%Y%m%d%H%M)
# run your command here
touch $FILE 
touch -a -m -t $CURRENT $FILE