為什麼用 touch -am 人為地改變訪問/修改時間?

為什麼用 touch -am 人為地改變訪問/修改時間?

所以我了解到 withtouch -atouch -mone 可以分別更改文件的存取和修改時間。

但為什麼?

維基百科說:

“更新的存取或修改日期對於各種其他程式(例如備份實用程式或 make 命令列介面程式設計實用程式)可能很重要。”

但我還是不明白。

有人有 1 或 2 個現實生活場景嗎?另外,這個指令會被濫用嗎?

答案1

維基百科的一個例子指出它對於 make 命令很有用。 Make 是一個用於執行 Makefile 的程序,其中包含任何原始程式碼的建置腳本,如果執行該命令,它將在目錄中儲存目前 Makefile 的修改時間。

現在假設您出於某種原因想要重建原始程式碼。如果你再次執行 make ,它會告訴你沒有什麼可做的,因為它已經運行過。這樣就可以運行touch -m "source.file"來模擬檔案修改。第三次運行 make 將識別更改並重建原始程式碼。

另一個例子是強制備份。例如,如果您正在執行備份實用程序,則該實用程式會根據檔案的修改時間來備份檔案。您可以透過變更檔案的修改時間來強製程式備份(或從備份中排除)檔案。

造成關於文件年齡的錯誤印象

例如用於備份方案。您可能不希望使用較新的備份來更新備份,因為它們是相同的,或者因為與在遠端主機的慢速線路上更新備份的費用相比,這些變更是無關緊要的。為了實現這一目標,您可以選擇使用較新的時間戳標記備份文件,而不是偽造,而是聲明該文件的有效性時間戳現在是不同的。

關於文件年齡的印象現在確實是錯誤的,但其含義是真實且合法的。

  • 回答來自問題在哪裡可以找到更多範例

相關內容