Linux

如何刪除今天未創建的所有文件

  • October 6, 2020

我想要delete all今天未創建的文件夾中的文件。我知道如何獲取今天創建的文件列表

find . -type f -mtime -1

但是,我不知道如何獲取今天未創建的所有文件的列表。基本上我必須在文件夾中查找除今天之外是否有帶有舊時間戳的文件。如果存在,我只需要刪除舊文件。

find . -type f -mtime +0 -exec rm -f {} +

或者

find . -type f ! -mtime -1 -exec rm -f {} +

將刪除其內容最後一次修改超過 24 小時前的正常文件(-mtime +0意思是:其天數(向下舍入為整數,天數為 24 小時,或 86400 Unix紀元秒持續時間)嚴格大於 0)。

一些find實現有一個-delete謂詞,你可以使用它來代替它,-exec rm -f {} +這將使它更安全、更有效。

對於在今天 00:00:00 之前最後一次修改的文件,使用 GNU find,您可以添加-daystart謂詞。這將包括昨天最後修改的文件,即使不到 24 小時前。

通過一些find實現,您還可以執行以下操作:

find . ! -newermt 00:00:00 -delete

刪除在今天 00:00:00 之前(或恰好在)00:00:00 之前最後修改的文件。

引用自:https://unix.stackexchange.com/questions/441314