目录
1. 按照名字查找
语法:find [路径] -name “查找条件” 。其中查找条件可以使用通配符 * ? 和 []
【1】默认为精确搜索,如 find . -name “hello”,为查找当前目录下名字为hello的文件
【2】* :用*取代任何字符串,包括空串。如:find . -name “*.txt” ,查找当前目录下以txt结尾的所有文件
【3】?:【用于取代单个字符】如:find . -name “test?.txt” ,查找当前目录下以file为前缀,后缀为一个字符的txt文件
【4】[]:find . -name “hello[1-2].txt”,左右括号用于取代[]括出来集合中的单个字符,不可多字符。其中[1-9, a-z, A-Z]均可用来表示这两个集合的交集
2. 不区分大小写查找
语法:find [路径] -iname “查找条件”,如 find . -iname “test?.txt”
3. 按文件类型查找
语法:find pathname -type 类型名字。如下所示,其中举例:find . -type f
d | directory (文件夹 – 常用) |
f | regular file (普通文件 – 常用) |
c | character(buffered)special |
l | symbolic link |
4. 按照大小来查找
语法:find [路径] -size +-[大小],注意:大小需要换算成KB再乘2,其中+号表示大于,-号表示等于,不写表示等于(很少有等于的情况,基本上都是大于或小于)
如下命令为:find . -size -204800,为查找当前目录下文件大小小于100MB的文件和文件夹
5. 按照时间查找
语法:find [路径] [参数] +-时间
有三种类型:【access 访问时间:a 】【modify 修改时间:m】【change :c】
因此有以下参数:-amin/-atime、-mmin/-mtime、-cmin/-ctime
示例:find . -cmin +5,表示查找当前目录下在大于五分钟后被修改过属性的文件和目录
6. 正常搜索 但 指定忽略的目录
语法:find 查找文件的目录 -path 需要排除的目录 -prune -o -name 需要查询的内容 -print
注意:
- -prune 必须和 -path,-o 一起使用
- -prune -o 的顺序不 能调换
- -name等必须放在-prune -o后面才能使用
比如:find . -path “./dir1” -prune -o -name “*.txt” -print。表示找到所有后缀为txt的文件,但要排除以test开头的txt文件。
7. find 常见的集合运算
-a:求两个条件交集 | find . -type d -o -name “*.txt” //查找普通文件和名字里包含txt的文件 |
-o : 求两个条件并集 | find . ! -type d //查找非文件夹 |
!求条件补集 | find . -name “*.txt” -a -size +50b //查找后缀名为.txt 且大于50字节的文件 【find 表达式的默认操作就是 -a】 |
8. 对find查找结果进行其他操作
语法:[find的查找条件] -exec/-ok [命令] {} \; 其中-ok和-exec的区别就是 -ok 多了一个询问环节
示例1:找到以test开头的txt文件,并展示其详细信息
示例2:如果有一个文件,怎么都删除不了。可以找到该文件的节点,并进行删除
如下示例则删除了i节点为92111286的文件,语法:find -inum [inode节点号]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87461.html