CentOS下如何搜寻档案或目录命令

2020-01-30 16:08:05于丽

搜寻档案或目录:

档案的搜寻可就厉害了!因为我们常常需要知道那个档案放在哪里,所以来谈一谈怎么搜寻吧!在 Linux 底下也有相当优异的

搜寻系统呦!通常 find 不很常用的!因为速度慢之外,也很操硬盘!通常我们都是先使用 whereis 或者是 locate 来检查,如果

真的找不到了,才以 find 来搜寻呦!为什么呢?因为 whereis 与 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没

有实际的搜寻硬盘,比较省时间啦!

which   查看可执行档案的位置

whereis 查看档案的位置

locate  配合数据库查看档案位置

find    实际搜寻硬盘去查询文件名称

• which

语法:

[root @test /root ]# which  [文件名称]

参数说明:

范例:

[root @test /root]# which passwd

/usr/bin/passwd

说明: which 的基本功能是『藉由 PATH 这个环境变量的内容,去该路径内寻找可执行文件』,所以基本的功能在于『寻找

执行档』啰!

• whereis

语法:

[root @test /root ]# whereis [-bmsu] [目录名称]

参数说明:

-b    :只找 binary 的档案

-m    :只找在说明文件 manual 路径下的档案

-s    :只找 source 来源档案

-u    :没有说明档的档案!

范例:

[root @test /root]# whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.bz2

将 passwd 相关字眼的档案或目录都列出来!

[root @test /root]# whereis -b passwd

passwd: /usr/bin/passwd /etc/passwd

仅列出binary 档案!

[root @test /root]# whereis -m passwd

passwd: /usr/share/man/man1/passwd.1.bz2

仅搜寻 man page 所在的目录!

说明:

如果使用 find 太麻烦,而且时间花用的很大!(因为如果你的硬盘比较老旧的话,嘿嘿!有的等的!)这个时候

whereis 就相当的好用了!另外, whereis 可以加入参数来找寻相关的资料,例如如果你是要找可执行档( binary )

那么加上 -b 就可以啦!例如上面的范例针对 passwd 这支程序来说明!如果不加任何参数的话,那么就将所有的数

据列出来啰!那么 whereis 到底是使用什么咚咚呢?为何搜寻的速度会比 find 快这么多?!其实那也没有什么!这是

因为 Linux 系统会将系统内的所有档案都记录在一个数据库档案里面,而当使用 whereis 或者是底下要说的 locate 时,

都会以此数据库档案的内容为准,因此,有的时后你还会发现使用这两个执行档时,会找到已经被杀掉的档案!这就

是因为他是一个『数据库』档案呀!另外,基本上 Linux 每天会针对 Linux 主机进行 updatedb (就是那一个数据库