Linux常见命令 7 – 文件搜索命令 find

导读:本篇文章讲解 Linux常见命令 7 – 文件搜索命令 find,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

1. 按照名字查找

2. 不区分大小写查找

 3. 按文件类型查找 

 4. 按照大小来查找

5. 按照时间查找

6. 正常搜索 但 指定忽略的目录

7. find 常见的集合运算

8. 对find查找结果进行其他操作


1. 按照名字查找

语法:find [路径] -name “查找条件” 。其中查找条件可以使用通配符 * ? 和 []

【1】默认为精确搜索,如 find . -name “hello”,为查找当前目录下名字为hello的文件

Linux常见命令 7 - 文件搜索命令 find

 【2】* :用*取代任何字符串,包括空串。如:find . -name “*.txt” ,查找当前目录下以txt结尾的所有文件

Linux常见命令 7 - 文件搜索命令 find

【3】?:【用于取代单个字符】如:find . -name “test?.txt” ,查找当前目录下以file为前缀,后缀为一个字符的txt文件

Linux常见命令 7 - 文件搜索命令 find

【4】[]:find . -name “hello[1-2].txt”,左右括号用于取代[]括出来集合中的单个字符,不可多字符。其中[1-9, a-z, A-Z]均可用来表示这两个集合的交集

Linux常见命令 7 - 文件搜索命令 find

2. 不区分大小写查找

语法:find [路径] -iname “查找条件”,如 find . -iname “test?.txt”

Linux常见命令 7 - 文件搜索命令 find

 3. 按文件类型查找 

语法:find pathname  -type 类型名字。如下所示,其中举例:find .  -type f

d directory (文件夹 – 常用)
f regular file (普通文件 – 常用)
c character(buffered)special
l symbolic link

Linux常见命令 7 - 文件搜索命令 find

 4. 按照大小来查找

语法:find [路径] -size +-[大小],注意:大小需要换算成KB再乘2,其中+号表示大于,-号表示等于,不写表示等于(很少有等于的情况,基本上都是大于或小于)

如下命令为:find . -size -204800,为查找当前目录下文件大小小于100MB的文件和文件夹

Linux常见命令 7 - 文件搜索命令 find

5. 按照时间查找

语法:find [路径] [参数] +-时间

有三种类型:【access 访问时间:a 】【modify 修改时间:m】【change :c】
因此有以下参数:-amin/-atime、-mmin/-mtime、-cmin/-ctime

示例:find . -cmin +5,表示查找当前目录下在大于五分钟后被修改过属性的文件和目录

Linux常见命令 7 - 文件搜索命令 find

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文件。

Linux常见命令 7 - 文件搜索命令 find

Linux常见命令 7 - 文件搜索命令 find

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文件,并展示其详细信息

Linux常见命令 7 - 文件搜索命令 find

 Linux常见命令 7 - 文件搜索命令 find

 示例2:如果有一个文件,怎么都删除不了。可以找到该文件的节点,并进行删除

如下示例则删除了i节点为92111286的文件,语法:find  -inum [inode节点号]

Linux常见命令 7 - 文件搜索命令 find

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87461.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!