find 查找文件指定类型
find
命令的一般语法如下:
find path options [-print -exec -ok ...] 复制代码
-
path
:所要查找的目录路径,例如"."表示当前目录,"/"表示根目录 -
-print
:将匹配的文件输出到标准输出 -
-exec
:对匹配的文件执行该参数所指定的shell命令 -
-ok
:和-exec的作用相同,只不过更加安全一点,在执行每一个命令之前,系统会让用户确定是否执行
常用命令选项参数如下:
-
-name
:按文件名查找文件 -
-type
:按文件类型查找文件 -
-perm
:按文件权限来查找文件 -
-prune
:表示要忽略的目录 -
-depth
:指定搜索顺序,从文件树的最子层目录查起 -
-user
:查找属于指定用户名的所有文件 -
-group
:查找属于指定用户组的所有文件 -
-size n
:查找文件长度为n块的文件,默认每块512字节 -
-mtime -n/+n
: 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。 -
-atime:按照文件的访问时间来查找文件,使用与mtime相同。
-
-ctime: 按照文件的改变状态的时间来查找文件,使用与mtime相同。
按名称查找文件
通过名称查找文件是find
命令最常见的用法,例如:要在/root
目录下查找名为find_test.txt
的文件,可以使用以下命令:
find /root -name find_test.txt 复制代码
如果想要忽略大小写的搜索,-name
选项更改为-iname
即可:
find /root -iname FIND_test.txt 复制代码
除此之外,find
还支持使用通配符,例如:
find /root -name *_test.txt 复制代码
使用比较常用的是按扩展名搜索文件,例如,要在/root
目录下查找所有以.tar.gz
结尾的文件:
find /root -name '*.tar.gz' 复制代码
按类型查找文件
有时需要搜索特定文件类型的文件,比如普通文件,目录或符号链接等,可以使用-type
选项和以下描述符之一来指定文件类型:
-
f
:常规文件 -
d
:目录 -
l
:符号链接文件 -
c
:字符设备文件 -
b
:块设备文件 -
p
:管道文件 -
s
:套接字文件
例如,要在当前目录中查找所有目录:
find . -type d 复制代码
按大小查找文件
按文件大小查找文件,可以使用-size
选项,可以使用以下后缀来指定文件大小:
-
b
:512字节块(默认) -
c
:字节 -
K
:千字节 -
M
:兆字节 -
G
:千兆字节
以下命令将在/root
目录下找到所有1024
个字节的文件:
find /root -size 1024c 复制代码
find
命令还支持搜索大于或小于指定大小的文件,例如,在/root
目录下搜索所有小于1MB
的文件,需要使用-
符号:
find /root -size -1M 复制代码
搜索大于1MB
的文件,则需要使用+
符号:
find /root -size +1M 复制代码
甚至可以搜索大小范围内的文件,例如,查找大小在1MB
和2MB
之间的文件:
find /root -size +1M -size 2M 复制代码
按权限查找文件
-perm
选项可以按照文件权限搜索文件,例如,要在/root
目录中查找权限为775
的文件:
find /root -perm 775 复制代码
按所有者查找文件
要查找特定用户或组拥有的文件,可以使用-user
和-group
选项。
例如,要搜索用户tigeriaf
拥有的所有文件和目录,应运行:
find / -user tigeriaf 复制代码
查找文件并执行指定操作
查找所有匹配的文件,并执行指定的命令,可以使用-exec
或者-ok
选项,上面已经说过-exec
和-ok
的作用相同,只不过-ok
更加安全一点,在执行每一个命令之前,系统会让用户确定是否执行。相应的格式为-exec/-ok command {} \;
,"command"是要执行的命令,"{}"就是代替查到的文件。
例如,查找所有符合*test.txt
的文件并删除它们:
find . -name *test.txt -exec rm {} \; 复制代码
或者
find . -name *test.txt -ok rm {} \; 复制代码
总结
这里只介绍了find
命令部分比较常用的功能,还有很多强大的功能,想要了解更多的小伙伴可以自行了解一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2019-07-06 linux主机序列号