运维经–目录
批量删除你不喜欢的文件
你不喜欢什么文件?陈旧的日志、临时文件、占用空间过大的文件……都可能成为你的目标。
今天主要使用的工具就是find
命令,这个命令很强大,我们不可能把它的每一个参数都熟记,也没这个必要。那我们就以几个常见的场景进行介绍,主要就是干掉你不喜欢的文件。
# 30天没有访问过的文件
$ find . -atime -1 -type f -exec rm -rf {} \;
# 删除所有可执行文件——可以写在Makefile的clean里面,很方便哦
$ find . -perm /u=x -type f -exec rm -rf {} \;
# 删除所有符号链接文件
$ $ find . -type l -exec rm -rf {} \;
# 删除比当前日志旧的文件(包括这个文件本身)
$ find . ! -newer "cur.log" -type f -exec rm -rf {} \;
# 磁盘空间不够时,先可大文件删除(删除超过100M的文件)
$ find . -size +100M -type f -exec rm -rf {} \;
上面几种情况也可以排列组合
# 删除10天以上没有访问过且大小超过100M的文件
find . -size +100M atime +10 -type f -exec rm -rf {} \;