Linux培训
达内IT学院

400-996-5531

Linux系统中的文件查找命令汇总


今天小编要跟大家分享的文章是关于Linux系统中的文件查找命令汇总。正在从事Linux运维相关工作的小伙伴们来和小编一起看一看,希望本篇文章能够对大家有所帮助。

在系统里查找文件,是所有工程师都必备的技能(不管你用的是Windows、Linux、还是MacOS系统)。对于Linux操作系统,单单一个find命令就可以完成非常多的搜索工作。

但是,文件搜索命令远不止一个find命令,还有很多。本文就对Linux下文件搜索命令进行一个科普,让你能够在短时间内找到自己需要的文件。

  1. find  

find 命令应该是最经典的命令了,谈到搜索工具第一个想到的肯定是find命令。但是,find命令非常强大,想要把它的功能都介绍一遍,恐怕要写好几篇文章。

所以,这里就偷个懒,介绍最基本的,根据文件名查找文件的方法。假如我们想搜索当前目录(及其子目录)下所有 .sh 文件,可以这样搜索:

Linux系统中的文件查找命令

  2. locate  

locate 是另外一个根据文件名来搜索文件的命令。区别于find命令,locate命令无需指定路径,直接搜索即可。

这个命令不是直接去系统的各个角落搜索文件,而是在一个叫 mlocate.db 的数据库下搜索。这个数据库位于 /var/lib/mlocate/mlocate.db ,它包含了系统里所有文件的索引,并且会在每天早上的时候由cron工具自动更新一次。

正因为如此,locate的搜索速度远快于find命令,因为它直接在数据库里检索,速度自然更快。

locate命令在找到文件之后,将直接显示该文件的绝对路径,比如:

Linux系统中的文件查找命令

但是locate命令有个弊端,它无法搜索当天所创建的文件,因为它的数据库一天只在早上更新一次。比如我现在创建一个新文件,locate没办法搜索到:

Linux系统中的文件查找命令

为了解决这个问题,我们可以使用 updatedb 命令手动去更新它的数据库:

$ sudo updadb

然后,我们就可以搜索到新文件了。

Linux系统中的文件查找命令

  3. which  

which 命令主要用来查找可执行文件的位置,它搜索的位置指定在 $PATH 及$MANPATH 环境变量下的值,默认情况下,which 命令将显示可执行文件的第一个存储位置:

Linux系统中的文件查找命令

如果某个可执行文件存储在多个位置,可以使用 -a 选项列出所有的位置。

如果你想一次性查找多个文件,可以直接跟在which命令后面即可。

Linux系统中的文件查找命令

  4. whereis  

whereis 命令会在系统默认安装目录(一般是有root权限时默认安装的软件)查找二进制文件、源码、文档中包含给定查询关键词的文件。(默认目录有 /bin, /sbin,/usr/bin, /usr/lib, /usr/local/man等类似路径)。

一般包含以下三部分内容:

·     二进制文件的路径

·     二进制文件的源码路径

·     对应man文件的路径

比如我们现在搜索ls命令:

Linux系统中的文件查找命令

我们可以使用 -b 选项来只搜索可执行文件所在位置,使用 -B 选项指定搜索位置,使用 -f 选项列出文件的信息。

同样地,我们可以使用 -s 限定只搜索源码路径,使用 -m 搜索man page路径,使用 -s 指定搜索源代码文件的路径,使用 -M 指定搜索帮助文件的路径。

以上就是小编今天为大家分享的关于Linux系统中的文件查找命令汇总的文章,希望本篇文章能够对正在从事Linux运维相关工作的小伙伴们有所帮助,想要了解更多Linux相关知识记得关注达内Linux培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Linux运维工程师。

文章来源于良许Linux ,作者良许

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux运维面试经常会用到的shell脚本汇总
下一篇:Linux运维初学者必备的工作习惯有哪些

运维培训班出来好找活吗?

新能源运维工程师是干什么的

云计算就业岗位有哪些?

学物联网工程好就业吗?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省