find文件查找
1.文件查找
find:查找文件和目录
语法:
find [路径] [选项] [表达式] [动作]
2.find的选项
-type:按文件类型查找
文件类型的分类:
f:普通文件
d:目录
l:软链接文件
c:字符设备文件
b:块设备文件
s:安全套接字文件
p:管道文件
语法:
find 路径 -type 文件类型

-size:按文件内容的大小查找
数字:精准查找文件内容的大小
+ 数字:查找大于这个数字的文件内容的大小
- 数字:查找小于这个数字的文件内容的大小
语法:
find 路径 -size [+(-)]数字

-name:按文件名查找
语法:
find 路径 -name '文件名'

-iname:按文件名查找并且不区分大小写
语法:
find 路径 -iname '文件名'

按文件时间查找:
一个文件三种时间:
-atime:按文件访问时间查找
-mtime:按文件内容创建,修改时间查找(一般使用这个查找)
-ctime:按文件属性修改时间查找
数字:查找从当前时间算起减去这个数字的文件
+ 数字:查找从当前时间算起减去这个数字之前的所有文件
- 数字:查找从当前时间算起到这个数字之内的文件
语法:
find 路径 -mtime [+(-)]数字

stat:查看文件的三种时间
语法:
stat 文件名

-user:按文件属主查找
-nouser:查找没有属主的文件
语法:
find 路径 -user 文件的属主

-group:按文件属组查找
-nogroup:查找没有属组的文件
语法:
find 路径 -group 文件的属组

-perm:按文件权限查找
参数:
/权限:三个权限位上,只要有一个权限位上的权限被包含,就可以被找到
-权限:每个权限位上必须该数字权限的所有权限
语法:
find 路径 -prem [-(/)]权限数字

-maxdepth:按文件层级查找
语法:
find 路径 -maxdepth 数字(会显示数字到第一层层级)

3.find的动作
-print:打印查找到的内容到终端上(find命令默认自带加了和没加没有区别)
-ls:查看文件的详细信息
其他查看信息(效果一样):
|xargs ls -l
ls -l $(find xxx)
ls -l `find xxx`

-delete:删除查找到的文件,只能删除空目录
其他删除命令:
|xargs rm -fr
rm -rf $(find xxx)
rm -rf `find xxx`

-ok:找到文件后执行后面的bash命令,并询问是否要进行操作
语法:
find 路径 选项 -ok bash命令 {查找出来的文件} \;(这个'\'转义符,find命令不识别';',所以需要转义符来处理)

-exec:和-ok动作一样,但是它会直接执行不会询问

4.find多条件查找
-a:和,并且(fin命令自带,两个选项之间可以不加-a)

-o:或者

!:取反

5.补充
xargs:管道命令,是个命令传递参数的一个过滤器,也是组合多个命令的一个工具,就是把其他命令给它的数据传递给它后面的命令作为参数
语法:
find xxx |xargs [选项] bash命令

选项:
-i:用{}放置传递的数据

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异