在Linux下,有时需要清理一些目录下的旧文件;如监控系统每天每分每秒向指定目录写入海量video,可硬盘空间又是有限的,大约保存个7天吧,太久的记录保存也没价值;就得去做清理,为其它工作留出空间,可用下面的命令:
find /path/to/files1/ -type f -mtime +7 -exec rm -rf {} \;
上面命令意思:
find: 查询文件
/path/to/files1 要查询文件的最高层目录
-type f: 加上这个命令就可不删除目录,只删除文件
-mtime +7: 指定文件的生命周期,这里指7天前的文件
-exec: 对查询到的文件如何操作的提示符
rm -rf: 强制删除
{}: 表示查询到的每个文件
;: 操作命令的结束符 #“;”不要省略
如果不是删除,而是移动,命令可写成如下:
find /path/to/files1/ -type f -mtime +7 -exec mv {} /path/to/files2 \;