首页 > 代码库 > 【linux】find删除指定时间之前的文件

【linux】find删除指定时间之前的文件

今天磁盘满了,想删掉一些老的日志文件。开始想写个python脚本,转念一想,可能shell脚本好点。结果发现,根本不用写脚本,一个find指令就可以解决问题了。

 

先上指令

find .  -type f  -name *.log  -mtime +180  -exec rm {} \;

解析:

find 后面紧跟的是要查找的目录,. 表示当前目录

-type f:指定查找对象为文件

-name *.log:指定查找对象名称以.log结尾

-mtime +180: 查找180天以前的老文件

-exec rm {} \;  :执行删除命令,这句长得很奇怪,后面有个 {} \; 是必须的,也可以执行其他指令,比如ls, rm -i之类的

 

下面指令显示查找到文件的详细信息

find . -type f -mtime -180 -exec ls -l {} \; | more

后面用管道,实现分页显示

【linux】find删除指定时间之前的文件