架构师

您现在的位置是:首页 > 技术博客 > 爱运维

爱运维

系统总结清楚Linux下find命令的各种选项,从此查找不再难

2019-07-17爱运维
介绍语法格式find [路径] [选项] [操作]选项含义-name根据文件名进行查找-perm根据文件权限进行查找-prune排除 查找目录-user根据文件属主查找-group根据文件属组查找-mti
系统总结清楚Linux下find命令的各种选项,从此查找不再难 介绍

语法格式

find [路径] [选项] [操作]

系统总结清楚Linux下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 系统总结清楚Linux下find命令的各种选项,从此查找不再难

类型解释

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选项

系统总结清楚Linux下find命令的各种选项,从此查找不再难

类型解释

-nn天以内修改的文件

+nn天以外修改的文件

n正好n天修改的文件

查找etc目录下5天之内修改且以conf结尾的文件

find /etc -mtime -5 -name '*.conf'

查找etc目录下10天之前修改且属主为root的文件

find /etc -mtime +10 -user root

-mmin选项

系统总结清楚Linux下find命令的各种选项,从此查找不再难

类型解释

-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 系统总结清楚Linux下find命令的各种选项,从此查找不再难 了解选项

操作

-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/ \;

逻辑运算符

系统总结清楚Linux下find命令的各种选项,从此查找不再难

符号含义

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

文章评论