语法格式

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')

发表评论

后才能评论