Linux 按時間批量刪除檔案命令(刪除N天前檔案)
阿新 • • 發佈:2020-07-16
需要根據時間刪除這個目錄下的檔案,/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等命令結合使用。