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等命令结合使用。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM