linux_详解find命令

find命令基本语法

这里写图片描述

Linux通配符

这里写图片描述

实例

首先让我们进入HOME下的用户文件夹

这里写图片描述

用ls命令查看该文件夹下的所有文件,可以看到cangls文件的路径为/home/wbin/cangls

这里写图片描述

find命令搜索home文件下的cangls文件

这里写图片描述

find命令加*通配符去搜索文件

这里写图片描述
可以发现,加了*号通配符之后,查询的结果为home文件下所有以cangls开头的文件

find命令加?和【】通配符去搜索文件

首先创建两个文件abc和abd

这里写图片描述

分别用?和【】去查找abc和abd文件

这里写图片描述

这里写图片描述

find命令选项

我们在上文的基础上再创建一个ABC文件,这样一来,当前文件夹中就有了abc与ABC两个文件


根据文件名搜索

-name选项(以文件名来检索,区分大小写 )
-iname选项(以文件名来检索,不区分大小写)

这里写图片描述

这里写图片描述

这里写图片描述


根据用户搜索

-user选项(以文件所属的用户来检索)
-nouser选项(检索没有文件所有者的文件)

例如:# find /home -user root,这句话的意思是在home文件夹下,搜索文件所有者是root的文件

这里写图片描述

例如:find /home -nouser,搜索home文件夹下所有没有文件所有者的文件
一般来说,Linux下没有文件所有者的文件都是垃圾文件,需要手动删除。不过有两种特殊的情况,一种就是从其他地方拷贝进Linux的文件,还有一种就是Linux系统内核产生的文件(一般存在于proc和sys文件夹),Linux系统内核产生的文件不能删除

根据文件的使用时间来搜索

这里写图片描述

根据文件大小搜索

‘’.‘’代表当前目录

这里写图片描述

根据i节点(id号)搜索

这里写图片描述

组合条件搜索
-exec最后一定要加“\”,这个是标准格式。
这里写图片描述



文件命令组合:

批量删除当前目录下的后缀名为.c的文件:

find . -name "*.c" -maxdepth | xargs rm

-maxdepth 1参数的意思是当前目录,即目录深度为1,不包括其子目录。xargs是给命令传递参数的一个过滤器,也就是组合多个命令的一个工具。

猜你喜欢

转载自blog.csdn.net/cloudxli/article/details/79645484