-
历史备份包清理
# 查找更新时间在30天以前的文件、并删除这些文件
find /bak -maxdepth 1 -type f -atime +30 -exec rm -rf {} \;
# 查找更新时间在30天以前、文件名不包含01.gz字符串的文件,并删除这些文件
find /bak -maxdepth 1 -type f -atime +30 \( ! -name "*01.gz*" \) -exec rm -rf {} \;
-
多个文件名条件查找
# 文件名以.开始、并且排除.目录
# 注意: ( expr )为表达式,在bash中使用时需使用转义形式\(和\),并且注意前后的空格。
find ./ -maxdepth 1 -type d \( -name ".*" -a ! -name "." \)
# 对当前目录下所有一级子目录计算空间占用
find ./ -maxdepth 1 -type d \( -name ".*" -a ! -name "." \)|xargs -I% du -sh "%"
-
使用find批量修改文件权限
cd /data/www/pylogs
# 先设置所有目录和文件属主为root、权限为755
chown -R root:root * && chmod -R 755 *
# 再用find将所有文件设置为644
find ./ -type f -print0|xargs chmod 644
# 将所有.sh结尾的文件添加可执行权限
find ./ -type f -name "*.sh" -print0|xargs chmod 755
-
按文件大小查找
find / -size +200M
-
查看文件mine-type
file --mime-type file1.pdf
find . -maxdepth 1 -type f -exec file --mime-type {} +
find . -maxdepth 1 -type f -exec file --mime-type {} + | grep 'image/png$'