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