1. 程式人生 > 實用技巧 >Linux 按時間批量刪除檔案命令(刪除N天前檔案)

Linux 按時間批量刪除檔案命令(刪除N天前檔案)

需要根據時間刪除這個目錄下的檔案,/home/lifeccp/dicom/studies,清理掉20天之前的無效資料。

可以使用下面一條命令去完成:

1 find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;

這個是根據時間刪除。

下面簡要解釋一下,這句shell命令:

1 find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;
  • /home/lifeccp/dicom/studies :準備要進行清理的任意目錄
  • -mtime:標準語句寫法
  • +10:查詢10天前的檔案,這裡用數字代表天數,+30表示查詢30天前的檔案
  • "*.*":希望查詢的資料型別,"*.jpg"表示查詢副檔名為jpg的所有檔案,"*"表示查詢所有檔案
  • -exec:固定寫法
  • rm -rf:強制刪除檔案,包括目錄
  • {} \; :固定寫法,一對大括號+空格+/+;

當然也可以根據檔名、根據大小,根據其他不同條件過濾刪除,或者修改等,可以考慮sort等命令結合使用。