当前位置: 首页 > Linux

极好的!除了find命令,还有这么多文件搜索命令,高手必备!

时间:2023-04-06 11:58:45 Linux

大家好,我是良旭。在系统中查找文件是所有工程师必备的技能(无论你使用的是Windows、Linux还是MacOS系统)。对于Linux操作系统,单个find命令可以进行大量搜索。但是,文件搜索命令不仅仅是查找命令。本文是一篇关于Linux下文件搜索命令的科普,让你在短时间内找到你需要的文件。1.findfind命令应该是最经典的命令了。说到搜索工具,第一个想到的肯定是find命令。但是,find命令非常强大。如果要介绍它的所有功能,可能要写好几篇文章。那么,这里偷懒的介绍一下最基本的根据文件名查找文件的方法。如果我们要搜索当前目录(及其子目录)下的所有.sh文件,我们可以这样搜索:2.locatlocate是另一个按文件名搜索文件的命令。与find命令不同,locate命令不需要指定路径,直接搜索即可。该命令并没有直接到系统的各个角落去搜索文件,而是在一个名为mlocate.db的数据库下搜索。该数据库位于/var/lib/mlocate/mlocate.db,其中包含系统中所有文件的索引,每天早上由cron工具自动更新。正因为如此,locate的查找速度要比find命令快很多,因为是直接在数据库中查找,自然更快。locate命令找到文件后,会直接显示文件的绝对路径,例如:但是locate命令有一个缺点,它不能搜索当天创建的文件,因为它的数据库每天只更新一次早晨。比如我现在新建一个文件,locate找不到:要解决这个问题,我们可以使用updatedb命令手动更新它的数据库:$sudoupdadb然后,我们就可以搜索这个新文件了。3.whichwhich命令主要用来查找可执行文件的位置。它搜索的位置在$PATH和$MANPATH环境变量中指定。默认情况下,which命令会显示可执行文件的第一个存储位置:如果一个可执行文件存储在多个位置,则可以使用-a选项列出所有位置。如果想一次查找多个文件,可以直接跟着which命令。4、whereiswhereis命令会在系统默认安装目录(通常是root权限下默认安装的软件)中搜索包含给定查询关键字的二进制文件、源代码和文档。(默认目录为/bin、/sbin、/usr/bin、/usr/lib、/usr/local/man和类似路径)。一般包括以下三部分:二进制文件的路径二进制文件的源码路径对应man文件的路径比如我们现在搜索ls命令:可以使用-b选项只搜索对于可执行文件的位置,使用-B选项指定搜索位置,使用-f选项列出文件信息。同样,我们可以使用-s将搜索限制在源代码路径,使用-m搜索man页面路径,使用-s指定搜索源代码文件的路径,使用-M指定路径搜索帮助文件。最后,最近有很多朋友找我要一份Linux学习路线图,所以我结合自己的经验,利用业余时间熬夜一个月,整理了一本电子书。无论你是面试还是自我提升,相信都会对你有所帮助!免费送给大家,只求大家给我点个赞!电子书|LinuxDevelopmentLearningRoadmap也希望有小伙伴可以和我一起把这本电子书做得更完美!获得?希望老铁们来个三连击,让更多人看到这篇文章。推荐阅读:干货|程序员和高级架构师免费发送工件的必备资源|支持搜索的资源网站