🐧如何在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/