Linux 按时间批量删除文件(删除 30 天前文件)
需要根据时间删除这个目录下的文件,/home/demo
,清理掉 30 天之前的无效数据。
可以使用下面一条命令去完成:
sh
find /home/demo -mtime +30 -name "*.*" -exec rm -rf {} \;
这个是根据时间删除。
下面简要解释一下,这句 shell 命令:
sh
find /home/demo -mtime +30 -name "*.*" -exec rm -rf {} \;
/home/demo
:准备要进行清理的任意目录
-mtime
:标准语句写法
+ 10
:查找 10 天前的文件,这里用数字代表天数,+ 30 表示查找 30 天前的文件
"*.*"
:希望查找的数据类型,"*.jpg"表示查找扩展名为 jpg 的所有文件,"*"表示查找所有文件
-exec
:固定写法
rm -rf
:强制删除文件,包括目录
{} \;
:固定写法,一对大括号+空格+/+;