Linux下find查找文件路径方法
时间:2026-02-11 12:21:45 146浏览 收藏
知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个文章开发实战,手把手教大家学习《Linux如何用find查找文件路径》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
在Linux中定位文件可用find按名、类型、时间搜索,或用locate快速查路径,which/whereis找可执行文件,grep结合find实现内容检索。

如果您需要在Linux系统中定位某个文件的具体位置,但不确定它存放在哪个目录下,则可以利用find命令进行递归式搜索。以下是实现此目标的多种方法:
一、使用find命令按文件名搜索
该方法通过遍历指定起始目录及其所有子目录,匹配与给定名称完全一致的文件。默认从当前目录开始,也可指定根目录以实现全局查找。
1、打开终端,输入以下命令从根目录开始搜索:
sudo find / -name "filename.txt"
2、若已知文件位于用户主目录下,可缩小范围提高效率:
find ~/ -name "config.conf"
3、忽略大小写进行匹配,适用于不确定命名格式的情况:
find /usr -iname "readme.md"
二、使用find命令按文件类型和名称组合搜索
该方法在限定文件类型的基础上进一步筛选名称,避免误匹配同名但类型不同的条目,如仅查找普通文件而非目录或符号链接。
1、只搜索普通文件(排除目录和设备文件):
find /var -type f -name "access.log"
2、只搜索目录:
find /etc -type d -name "nginx"
3、结合通配符匹配多个可能的扩展名:
find ~ -type f \( -name "*.log" -o -name "*.out" \)
三、使用find命令按修改时间查找文件
该方法适用于已知文件大致创建或更新时间范围,但不记得确切名称的情形。find支持以天或分钟为单位的时间条件判断。
1、查找过去7天内修改过的所有.sh脚本:
find /home -name "*.sh" -mtime -7
2、查找恰好3天前修改的文件:
find /tmp -type f -mtime 3
3、查找最近10分钟内访问过的文件:
find /var/log -amin -10
四、使用find命令配合exec执行后续操作
该方法不仅定位文件,还可对搜索结果立即执行命令,例如查看权限、打印路径或更改所有权,减少手动干预步骤。
1、列出所有匹配文件的详细属性:
find /opt -name "package.json" -exec ls -l {} \;
2、批量修改找到的.log文件权限为644:
find /var/log -name "*.log" -exec chmod 644 {} \;
3、删除30天前的临时文件(慎用):
find /tmp -name "*.tmp" -mtime +30 -exec rm -f {} \;
五、使用locate命令快速查找文件路径
locate命令依赖于预先构建的数据库,因此查询速度远超find,但结果可能滞后于最新文件系统变更。需定期更新数据库以保证准确性。
1、首次使用前更新数据库:
sudo updatedb
2、搜索包含特定字符串的路径:
locate nginx.conf
3、仅显示完整匹配的文件(避免子串误匹配):
locate -b '\httpd.conf'
六、使用which和whereis定位可执行文件
which用于查找PATH环境变量中定义的可执行文件路径;whereis则额外提供源码和手册页位置,适用于系统命令定位。
1、查找python命令的实际路径:
which python3
2、获取gcc的二进制、源码及man手册路径:
whereis gcc
3、仅显示二进制路径,忽略其他信息:
whereis -b git
七、使用grep配合find实现内容级搜索
当仅知道文件中包含某段文字却不知文件名时,可在find结果中逐个调用grep,实现“全文检索”效果。注意需处理权限拒绝提示以避免干扰输出。
1、搜索所有.py文件中含"def main"的行:
find /usr/lib -name "*.py" -exec grep -l "def main" {} \; 2>/dev/null
2、显示匹配行及其所在文件路径:
find ~/projects -name "*.js" -exec grep -H "fetch(" {} \; 2>/dev/null
3、忽略大小写并限制搜索深度为2层以提升响应速度:
find . -maxdepth 2 -name "*.txt" -exec grep -i "error" {} \; 2>/dev/null
今天关于《Linux下find查找文件路径方法》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
183 收藏
-
450 收藏
-
413 收藏
-
298 收藏
-
136 收藏
-
342 收藏
-
491 收藏
-
408 收藏
-
439 收藏
-
300 收藏
-
456 收藏
-
102 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习