🐧如何在Linux上更改文件而不更改其时间戳

您可能知道,在编辑或修改文件后,文件的“访问时间”和“修改时间”时间戳将更改为当前时间。

有时,即使在编辑或修改文件后,出于某些原因,您可能仍需要保留旧的时间戳记。

本快速教程介绍了如何在Linux系统上编辑文件而不更改其时间戳。

在Linux上编辑文件而不更改其时间戳

可以使用以下命令更新文件时间戳记 触摸

当我们手动向文件中添加内容或从文件中删除数据时,时间戳也会更新。

如果要更改文件的内容而不更改其时间戳,则没有直接的方法。 但是有可能!

我们可以使用触摸命令选项-r(链接)之一在编辑或修改后保留文件的时间戳。 -r选项用于将一个文件的时间戳设置为另一个文件的时间戳。

我有一个名为itsecforu.txt的文本文件。

让我们使用stat命令查看该文件的时间戳:

$ stat itsecforu.txt 
  File: itsecforu.txt
  Size: 38        	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 4351679     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/      sk)   Gid: ( 1000/      sk)
Access: 2020-11-12 19:47:55.992788870 +0530
Modify: 2020-11-12 19:47:55.992788870 +0530
Change: 2020-11-12 19:47:55.992788870 +0530
 Birth: -

如前所述,如果我们更改此文件的内容或元数据,则时间戳也会更改。

$ touch -r itsecforu.txt itsecforu.timestamp

让我们检查新文件的时间戳:

$ stat itsecforu.timestamp 
  File: itsecforu.timestamp
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 4328645     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      sk)   Gid: ( 1000/      sk)
Access: 2020-11-12 19:47:55.992788870 +0530
Modify: 2020-11-12 19:47:55.992788870 +0530
Change: 2020-11-12 19:48:48.934235300 +0530
 Birth: -

看到?

两个文件的atime和mtime相同!

现在,对主文件itsecforu.txt进行更改。

您可能已经猜到了,主文件的时间戳将改变。

最后,将新文件的时间戳(例如itsecforu.timestamp)复制到主文件中:

$ touch -r itsecforu.timestamp itsecforu.txt

现在,主文件在编辑/修改之前具有旧的时间戳记。

概要

使用touch命令创建一个与主文件具有相同时间戳的新文件,对主文件进行更改,然后使用-r选项将新文件的时间戳设置为主文件。

本文赞助- https://youproxy.ru/

Sidebar