语法格式
find [路径] [选项] [操作]
选项含义
-name根据文件名进行查找
-perm根据文件权限进行查找
-prune排除 查找目录
-user根据文件属主查找
-group根据文件属组查找
-mtime -n | n根据文件更改时间查找
-nogroup查找无有效数组的文件
-nouser查找无有效属主的文件
-newer file1 ! file2查找更新时间比file1新但比file2旧的文件
-type按照文件类型查找
-size -n n按文件大小查找
-mindepth n从n级子目录开始搜索
-maxdepth n最后搜索到n级子目录
-type选项
搜索当前目录下的文件
find . -type f
搜索当前目录下的链接文件
find . -type l
类型解释
f文件
d目录
c字符设备文件
b块设备文件
l链接文件
p管道文件
-size选项
类型解释
-n大小小于n的文件
n大小大于n的文件
n大小等于n的文件
查找/etc目录下小于10000字节的文件
find /etc -size -10000c
查找/etc目录下大于1m的文件
find /etc -size 1m
-mtime选项
类型解释
-nn天以内修改的文件
nn天以外修改的文件
n正好n天修改的文件
查找etc目录下5天之内修改且以conf结尾的文件
find /etc -mtime -5 -name '*.conf'
查找etc目录下10天之前修改且属主为root的文件
find /etc -mtime 10 -user root
-mmin选项
类型解释
-nn分钟以内修改的文件
nn分钟以外修改的文件
查找/etc目录下30分钟之前修改的文件
find /etc/ -mmin 30
查找/etc目录下30分钟之内修改的目录
find /etc -mmin -30 -type d
-mindepth n 选项
表示从n级子目录开始搜索
在/etc下的3级子目录开始搜索
find /etc -mindepth 3
-maxdepth n 选项
表示最多搜索到n级子目录
查找当前文件夹下的普通文件
find . -maxdepth 1 -type f
操作
-print 打印输出(默认输出,不加也行)
-exec 对搜索到的文件执行特定的操作,格式为-exec ‘command’ {} ;
搜索/etc下的文件(非目录),文件名以conf结尾,且大于10k,然后将其删除
find /etc/ -type f -name '*.conf' -size 10k -exec rm -f {} ;
将/var/log目录下以log结尾的文件,且更改时间在7天以上的删除
find /var/log/ -name '*.log' -mtime 7 -exec rm -rf {} ;
搜索/etc下的文件(非目录),文件名以conf结尾,且大于10k,将其复制到/root/conf目录下
find /etc/ -type f -name '*.conf' -size 10k exec cp {} /root/conf/ ;
逻辑运算符
符号含义
-a与
-o或
-not!
-ok 和exec功能一样,只是每次操作都会给用户提示
查找当前目录下,属主不是hdfs的所有文件
find . -not -user hdfs | find . ! -user hdfs
查找当前目录下,属主属于hdfs,且大小大于300字节的文件
find . -type f -a -user hdfs -a -size 300c
查找当前目录下属主为hdfs或者以xml结尾的普通文件
find . -type f -a (-user hdfs -o -name '*.xml')