Linux中使用find命令搜索文件
基本语法
常见用法
按文件名搜索
按文件类型搜索
按文件大小搜索
按文件修改时间搜索
组合搜索条件
其他常用选项
分类:
Linux
聚焦技术和人文,分享干货,共同成长。
find
命令是一个强大且常用的工具,可用于在指定目录下根据各种条件搜索文件和目录。以下详细介绍其使用方法:find [路径] [选项] [表达式]
-name
选项可以按照文件名进行精确搜索。例如,在当前目录及其子目录中搜索名为 example.txt
的文件:find . -name "example.txt"
.
表示当前目录,-name
后面跟着要搜索的文件名,文件名需用引号括起来。.log
结尾的文件:find /var/log -name "*.log"
/var/log
是搜索的起始目录,*.log
表示任意文件名以 .log
结尾的文件。-type
选项可以根据文件类型进行搜索,常见的文件类型有:f
:普通文件d
:目录l
:符号链接find . -type d
/home
目录下的所有普通文件:find /home -type f
-size
选项可以根据文件大小进行搜索,文件大小的单位可以是:c
:字节k
:千字节M
:兆字节G
:吉字节find . -size +100M
+
表示大于指定大小,若要搜索小于指定大小的文件,可以使用 -
,如搜索小于 10KB 的文件:find . -size -10k
-mtime
选项可以根据文件的修改时间进行搜索,时间单位为天。例如,搜索在最近 7 天内修改过的文件:find . -mtime -7
-
表示在指定时间内,若要搜索在 7 天前修改的文件,可以使用 +
,如搜索在 7 天前修改过的文件:find . -mtime +7
-and
、-or
、-not
)来组合多个搜索条件。例如,搜索当前目录下大小大于 10MB 且在最近 3 天内修改过的普通文件:find . -type f -and -size +10M -and -mtime -3
-and
表示逻辑与,即所有条件都要满足。.txt
文件并删除它们:find . -name "*.txt" -exec rm {} \;
{}
表示搜索到的文件,\;
是命令的结束标志。-print0
选项可以避免因文件名分割导致的问题。例如,将搜索到的文件传递给 xargs
命令:find . -name "*.txt" -print0 | xargs -0 rm
-print0
用空字符分隔文件名,-0
告诉 xargs
以空字符作为分隔符。find
命令在 Linux 系统中进行各种文件搜索任务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2023-03-03 面试官:来说说 https 和 http 区别?