千家信息网

find命令详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、find简介find是一个实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找;其工作特性:查找速度略慢;精确查找;实时查找;二、find用法find [OPTIONS] [查找起始路
千家信息网最后更新 2026年11月01日find命令详解

一、find简介

find是一个实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找;

其工作特性:查找速度略慢;精确查找;实时查找;

二、find用法

find [OPTIONS] [查找起始路径] [查找条件] [处理动作]

查找起始路径:指定具体搜索目标起始路径;默认为当前目录;

查找条件:指定的查找标准,可以根据文件名、大小、类型、从属关系、权限等等标准进行;默认为找出指定路径下的所有文件;

处理动作:对符合查找条件的文件做出的操作,例如删除等操作;默认为输出至标准输出;

查找条件:

表达式:选项和测试

测试:结果通常为布尔型("true", "false")

2.1.根据文件名查找

-name "pattern"

-iname "pattern"

支持glob风格的通配符;

*, ?, [], [^]

-regex pattern:基于正则表达式模式查找文件,匹配是整个路径,而非其名;

示例:find /usr -name nginx


2.2.根据文件从属关系查找

-user USERNAME:查找属主指定用户的所有文件;

-group GRPNAME:查找属组指定组的所有文件;

-uid UID:查找属主指定的UID的所有文件;

-gid GID:查找属组指定的GID的所有文件;

-nouser:查找没有属主的文件;

-nogroup:查找没有属组的文件;

2.3.根据文件的类型查找:

-type TYPE:

f: 普通文件

d: 目录文件

l:符号链接文件

b:块设备 文件

c:字符设备文件

p:管道文件

s:套接字文件

组合测试:

与:-a, 默认组合逻辑;

或:-o

非:-not, !


!A -a !B = !(A -o B)

!A -o !B = !(A -a B)

练习:

1、找出/tmp目录下属主为非root的所有文件;


2、找出/tmp目录下文件名中不包含fstab字符串的文件;


3、找出/tmp目录下属主为非root,而且文件名不包含fstab字符串的文件;

2.4.根据文件的大小查找

-size [+|-]#UNIT

常用单位:k, M, G

#UNIT:(#-1, #]

-#UNIT:[0,#-1]

+#UNIT:(#, oo)

2.5.根据时间戳查找

以"天"为单位:

-atime [+|-]#

#:[#, #-1)

-#:(#, 0]

+#:(oo, #-1]

-mtime

-ctime

以"分钟"为单位:

-amin

-mmin

-cmin

根据权限查找

-perm [/|-]mode

mode:精确权限匹配;

/mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在"或"关系;

-mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;9位权限之间存在"与"关系;

处理动作

-print:输出至标准输出;默认的动作;

-ls:类似于对查找到的文件执行"ls -l"命令,输出文件的详细信息;

-delete:删除查找到的文件;

-fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;

-ok COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;

-exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;

注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;

但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:


三、args命令的用法

xargs - build and execute command lines from standard input


描述:

之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令。xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments.因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空白字元的时候,xargs可能就会误判了


常用选项:

-o : 当sdtin含有特殊字元时候,将其当成一般字符,想/'空格等;

-a file :从文件中读入作为sdtin;

-e flag :注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止;

-p :当每次执行一个argument的时候询问一次用户

-n num :后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的;

-t :表示先打印命令,然后再执行;

-i 或者是-I :这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替;

-r no-run-if-empty :当xargs的输入为空的时候则停止xargs,不用再去执行了;

-s num :命令行的最好字符数,指的是xargs后面那个命令的最大命令行字符数;

-L num Use at most max-lines nonblank input lines per command line.-s是含有空格的;

-l 同-L;

-d delim :分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符;

-x exit的意思,主要是配合-s使用;

-P 修改最大的进程数,默认是1,为0时候为as many as it can ;


练习:

1、查找/var目录下属主为root,且属组为mail的所有文件或目录;

~]# find /var -user root -a -group mail -ls


2、查找/usr目录下不属于root, bin或hadoop的所有文件或目录;用两种方法;

~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop

~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls

3、查找/etc目录下最近一周内其内容修改过,且属主不是root用户也不是hadoop用户的文件或目录;

~]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

~]# find /etc -mtime -7 -a -not -user root -a -not -user hadoop -ls

4、查找当前系统上没有属或属组,且最近一周内曾被访问过的文件或目录;

~]# find / \( -nouser -o -nogroup \) -atime -7 -ls

5、查找/etc目录下大于1M且类型为普通文件的所有文件;

~]# find /etc -size +1M -type f -exec ls -lh {} \;

6、查找/etc目录下所有用户都没有写权限的文件;

~]# find /etc -not -perm /222 -type f -ls

7、查找/etc目录至少有一类用户没有执行权限的文件;

~]# find /etc -not -perm -111 -type f -ls

8、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的所有文件;

~]# find /etc -perm -113 -type f -ls

博客作业:find详解


文件 命令 目录 权限 用户 时候 路径 条件 字符 输出 分隔符 动作 文件名 标准 空格 起始 单位 类型 处理 支持 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 科技创新与互联网经济 科技互联网公司装修 中国互联网科技发展 万达互联网科技 伴你行互联网科技有限公司 互联网科技网站 互联网科技公司有哪些 上海亿帐通互联网科技 互联网科技大会案例 互联网科技股午盘股票涨跌 滨湖区互联网智能科技产品供应 互联网巨头投资的硬核科技 上海电发互联网科技有限公司 中国航天科技大学国际工业互联网 互联网科技实习生岗位 皮皮虾互联网科技有限公司 九思连强互联网电子科技有限公司 广西泛欧互联网科技有限公司 第三届互联网大会安防黑科技 中关村互联网 科技集团 互联网科技工作委员会毛军 互联网 科技 中正互联网科技招聘 富国互联网科技创新基金 语蝶互联网科技有限公司 注册互联网科技公司经营范围大全 互联网科技的全部知识 互联网金融运营模式中的金融科技 安徽九吞吴互联网科技有限公司
0