linux命令/文件/文件夹搜索

命令的搜索:which

文件的搜索:whereis、locate、find

which命令搜索

在终端机模式当中,连续输入两次[tab]按键就能够知道使用者有多少命令可以下达。(PATH 目录中可以找到的命令)

那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧!

这个命令是根据『PATH』这个环境变量所规范的路径,去搜寻『运行档』的档名~ 

所以,重点是找出『运行档』而已!且 which 后面接的是『完整档名』喔!若加上 -a 选项,则可以列出所有的可以找到的同名运行档,而非仅显示第一个而已!

最后一个范例最有趣,怎么 cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是『bash 内建的命令』啦! 

但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的啊!那怎办?没关系!我们可以透过 type 这个命令喔! 

文件的搜寻:

在 Linux 底下也有相当优异的搜寻命令,通常 find 不很常用的!因为速度慢之外, 也很操硬盘。

通常我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻。 

为什么呢?因为 whereis 与 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没有实际的搜寻硬盘, 比较省时间。

find . -name "*.sar" -type d

在当前目录下,查找名字为*.sar的目录。

如果不加-type d的话,会把文件和目录都查出来。

-name   按照文件名查找文件。

-type  查找某一类型的文件,诸如:

b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号链接文件,f - 普通文件。

find /opt/soft/test/ -name "*.sar"。

 

猜你喜欢

转载自ezbcw.iteye.com/blog/2149183