语法格式
find [路径] [选项] [操作]
选项:
-name 【按照文件名称查找】
find /etc -name '*.conf' //查找/etc目录下以conf结尾的文件
-iname
find . -iname aa // 查找当前目录下文件名为aa的文件,不区分大小写
-perm 【按照权限查找:-perm 755】
finc . -perm 777 //查找当前目录下权限是777的文件
-prune 【使用此选项可以使find命令不在当前指定的目录中查找】
通常和-path一起使用,用于将特定目录排除在搜索条件之外
例子1:查找当前目录下所有普通文件,但排除test目录
find . -path ./test -prune -o -type f
例子2:查找当前目录下所有普通文件,但排除etc和opt目录
find . -path ./etc -prune -o -path ./opt -prune -o -type f
-user 【按照文件属主来查找】
find . -user wangteng //查找文件属主为wangteng的所有文件
-group【按照文件属组来查找】
find . -group wangteng //查找属组为wangteng的当前目录所有文件
-type 【查找某一类型的文件】
type的选项:
b 【块设备文件】
d 【目录】
c 【字符设备文件】
f 【普通文件】
p 【管道文件】
l 【符号链接文件】
-amin n 【查找系统中最后n分钟访问的文件】
-cmin n 【查找系统中最后n分钟被改变文件状态的文件】
-ctime n【查找系统中最后n*24小时{即n天前}被改变文件状态的文件】
-mmin n 【查找系统中最后n分钟被改变文件数据的文件】
find /etc -mmin +30 //查找/etc目录下30分钟之前修改的文件
find /etc -mmin 30 -type d 、/查找etc目录下30分钟之内修改的目录
-empty 查找为空的文件
-size 按容量大小查找
find /etc -size -10000c //查找/etc目录下小雨10000字节的文件
find /etc -size +1M //查找/etc目录下大与1M的文件
-perm mode 查找指定属性的文件
-mtime N 查找在N天前被修改过的文件【查找系统中最后n*24小时{即n天前}被改变文件数据的文件】 +n:N天前find /var -mtime +3;-n:N天内
find /etc -mtime -5 -name '*.conf' //查找/etc目录下5天内修改过且以conf结尾的文件
find /etc -mtime +10 -user root //查找/etc目录下十天之前修改且属主为root的文件
-atime N 查找在N天前被访问过的文件【查找系统中最后n*24小时{即n天前}访问的文件】
-exec 对搜索到的文件执行特定的操作,格式为-exec 'command' {} \;
例子1:搜索/etc下的文件(非目录),文件名以conf结尾,且大于10K,然后将其删除
find /etc/ -type f -name '*.conf' -size +10k -exec rm -f {} \;
例子2:将/var/log/目录下以log结尾的文件,且更新时间在7天以上的删除
find /var/log/ -name '*.log' -mtime +7 -exec rm -rf {} \;
例子3:搜索条件和例子1一样,只是不删除,而是将其复制到/root/conf目录下
find /etc/ -size 10k -type f -name '*.conf' -exec cp {} /root/conf \;
find . \( -name "*.txt" -o -name "*.pdf" \) -print //查找txt和pdf文件
find . -name "[a-a]*" //查找所有字母开头的文件
find . ! -name "*.txt" -print //否定参数->查找所有非txt文本
find . -maxdepth 1 -type f //指定搜索深度->打印出当前目录的文件(深度为1)
find . -regex ".*\(\.txt|\.pdf\)$" //正则方式查找.txt和pdf
find . -type f -size +2k //寻找大于2k的文件
find . -type f -name "*.avi" -delete //删除当前目录下所有的avi文件
find . -type f -user root -exec chown root {} \; //将当前目录下的所有权变更为root 执行动作(强大的exec)