Linux 基础命令,按时间批量删除文件
展开阅读全文

Linux 基础命令,按时间批量删除文件

需要根据时间删除这个目录下的文件,/home/wang/dicom/studies,清理掉10天之前的无效数据。

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

find /home/wang/dicom/studies-mtime +11 -name "." -exec rm -Rf ;

这个是根据时间删除。

下面简要解释一下,这句shell命令:

find /home/wang/dicom/studies -mtime +11-name "." -exec rm -Rf ;

· /home/wang/dicom/studies :准备要进行清理的任意目录

· -mtime:标准语句写法

· +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件

· ".":希望查找的数据类型,".jpg"表示查找扩展名为jpg的所有文件,""表示查找所有文件

· -exec:固定写法

· rm-rf:强制删除文件,包括目录

· ; :固定写法,一对大括号+空格+/+;

另附find 参数说明

-amin -n: 最后一次访问发生在 n分钟 之内

-amin n: 最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟

-amin +n: 最后一次访问发生在 (n+1)分钟 之外

-atime -n: 最后一次访问发生在 n天 之内

-atime n: 最后一次访问发生在 n天 至(n+1)天

-atime +n: 最后一次访问发生在 (n+1)天 之外

-cmin -n: 最后一次文件状态修改发生在 n分钟 之内

-cmin n: 最后一次文件状态修改发生在 n分钟 至 (n+1)分钟

-cmin +n: 最后一次文件状态修改发生在 (n+1)分钟 之外

-ctime -n: 最后一次文件状态修改发生在 n天 之内

-ctime n: 最后一次文件状态修改发生在 n天 至 (n+1) 天

-ctime +n: 最后一次文件状态修改发生在 (n+1)天 之外

-mmin -n: 最后一次文件内容修改发生在 n分钟 之内

-mmin n: 最后一次文件内容修改发生在 n分钟 至 (n+1)分钟

-mmin +n: 最后一次文件内容修改发生在 (n+1)分钟 之外

-mtime -n: 最后一次文件内容修改发生在 n天 之内

-mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天

-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外

例如查找文件内容修改发生在2天之内的文件

find /var/log/hive/-name "*" -mtime -2