find 命令实战巧用

一、命令简介

find 命令的 -size 参数 单位b(不是byte而是block)、c、w、k、M、G。默认是单位b ,也就是1block = 512byte = 0.5kb (文件系统ext4)

-size参数的这些单位都存在误差,无法计算 -1b  -1c -1k -1M -1G,这些都被视为0,空文件

-size 1k 表示查找 大小在 0~1k之间的文件 ;-size 1M 表示查找大小在 0~1M之间的文件 -size 1G 表示大小在0~1G之间的文件

-size 5k 表示查找 大小在 4k~5k之间的文件; -size 5G表示查找大小在4~5G之间的文件,以此类推。

ls 命令加 -s -h 参数 执行结果中文件大小为文件内容的字符个数+1 这个1是 dollar $

du 命令加 -sh 参数显示的是文件所占磁盘块的大小

二、对应关系

如果要在这三个命令之间寻求文件大小的对应关系

find 命令 -size 参数的数字后需要加 c单位才能和 ls 命令相对应

du 无法和 find 、ls取得准确对应,du只能粗略显示文件所占磁盘块大小

三、关于 atime mtime ctime amin mmin cmin

四、查找并删除空文件

find temp/ -type f -empty -exec rm -rf {} ;

五、查找昨天修改的视频文件,后缀为.mp4

find upload/video/ -mtime -1 -type f -name *.mp4 -exec echo "http://cdn.233xyx.com/"{} ; > mp4.txt

六、查找两分钟内生成的apk文件,并复制到新的目录下

find /data/jenkins -cmin -2 -name "*.apk" -exec cp {} /data/nginx/html/apk/jenkins ;

七、查找target目录下、大于20Mb、一分钟内创建的文件

find target -maxdepth 1 -type f -size +20M -regex "target/w+.[jw]ar" -cmin -1

 八、删除当前目录下的文本文件,而不删除目录

 find .  -maxdepth 1 -type f -delete
原文地址:https://www.cnblogs.com/zhengwenqiang/p/8000531.html