Files
更新多個文件訪問時間的簡單方法
我有一個包含幾個子文件夾和文件的文件夾。我在一台伺服器上工作,任何超過 60 天的文件都會被自動刪除。有什麼簡單的命令來更新文件的訪問時間(atime),這樣就不會發生這種刪除(有時我不處理文件超過 60 天,設置所有文件很痛苦再次文件夾)?
我想到了一個很粗暴的方法——使用
vim * vim */* ... and so on
打開所有子文件夾,然後用 :q 關閉它們。然而,這又是一個乏味的過程。關於如何設置腳本或使用 vim 以外的工具的任何想法?
touch
– 更改文件訪問和修改時間注意:雖然您可以這樣做,
touch *
但不會遞歸到子目錄中,*
如果不存在文件,則會創建一個名為的文件。一個更強大的解決方案是使用:find /path/to/root_dir/ -exec touch -a {} \;
此外,您似乎只想更新目錄的修改時間?這可能會更好,因為我確定該伺服器上的刪除策略是為了節省空間,並且您不想盲目地保留所有文件只是為了節省一些。要僅觸摸目錄,您可以執行以下操作:
find /path/to/root_dir/ -type d -exec touch -a {} \;
注意:
touch
沒有選項會將訪問時間和修改時間都修改為目前時間,其中-a
只會更新訪問時間。此外,如果您想要一個命令來顯示哪些文件即將刪除,您可以執行類似的命令;
find /path/to/root_dir/ -atime +55
這將列出
/path/to/root_dir/
訪問時間超過 55 天的所有文件。這可能有助於讓您知道哪些文件即將達到最大使用期限。55
如果您想進一步檢查,您可以更改為另一個號碼。