find 命令:
实时查找工具、通过遍历指定路径完成文件查找
工作特点:
1、查找速度略慢
2、精确查找
3、实时查找
注意:可能只搜索用户具备读取和执行权限的目录
语法:
find [option]... [查找路径][查找条件][处理动作]
查找路径:指定具体目标路径;默认当前
查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕
查找条件:
指搜索层数
-maxdepth level 最大搜索目录深度,指定目录为第1级
-mindepth level 最小搜索目录深度
先处理目录内的文件,在处理目录
-depth
根据文件名和inode查找:
-name "文件名称" :支持使用glob *, ?, [], [^]
-iname "文件名称" :不区分字母大小写
-inum n :按inode号查找
-samefile name :相同inode号的文件
-links n :链接数为n 的文件
-regex "pattern " : 以pattern匹配整个文件路径,而非文件名称
例如:
]# find /etc/ -name 'passwd' :精确查找/etc下文件名为passwd的文件;
]# find /etc/ -name '*passwd*':查找/etc下文件名包含passwd的文件;
]# find /etc/ -iname 'passwd*':查找/etc下文件名以passwd开头的文件;
]# find /etc/ -iname 'passwd?':查找/etc下文件名以passwd开头后面跟一个字符的文件;
]# find /etc/ -iname 'passwd[:alnum:]':查找/etc下文件名以passwd开头后跟字母或数字的文件;
根据属主、属组查找:
-user USERNAME:查找属主为指定用户(UID)的文件
-group GRPNAME: 查找属组为指定组(GID)的文件
-uid UserID:查找属主为指定的UID号的文件
-gid GroupID:查找属组为指定的GID号的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
例如:
]# find /tmp/ -user magedu:查找/tmp目录下属主为magedu的文件;
]# find /tmp/ -group linux:查找/tmp目录下属组为linux的文件;
]# find /tmp/ -uid 5015:查找/tmp目录下属主为UID为5015的文件;
]# find /tmp/ -gid 5015:查找/tmp目录下属组为GID为5015的文件;
]# find /tmp/ -nouser -exec rm {} /;:查找没有属主的文件并删除;
]# find /tmp -name '*magedu*' -a -user ubuntu:查找文件名包含magedu并且属主为ubuntu;
]# find /tmp -name '*magedu*' -o -user ubuntu -o -uer magedu -ls
查找文件名包含magedu或属主为ubuntu或属主为magedu的文件;
]# find /tmp -name '*magedu*' -a -user ubuntu -o -uer magedu
查找文件名包含magedu并且属主为ubuntu,或属主为magedu的文件;
]# find /tmp -name '*magedu*' -o -user ubuntu -not -user
find 命令特点及用法
最新推荐文章于 2021-05-22 17:59:20 发布
本文详细介绍了Linux系统中find命令的使用,包括其工作特点、基本语法、查找路径、查找条件和处理动作。内容涵盖文件名、大小、类型、权限、属主、属组等多个查找条件,以及如何进行文件操作,如删除、移动等。此外,还提供了多个实用的find命令实例,帮助读者更好地理解和运用find命令。
摘要由CSDN通过智能技术生成