chapter7:Linux文件与目录管理之(3)命令与文件查询

一.脚本文件名的查询

which----寻找执行文件

which [-a] command

-a:将所有由PATH目录中可以找到的命令都列出来,而不是只列出第一个

\

alis后面是命令别名,也就是说,输入ls相当于输入后面的一些内容.

说明:这个命令是根据PATH里面的路径去找.且which后面要加的是完整的文件名.

 

二.文件名的查找

通常使用whereis /locate ,而find用的不多.只有在实在找不到时才用find,因为whereis 和locate都是利用数据库来查找,所以速度快.而find是在硬盘上查找.

(1)whereis (查找特定的文件)

whereis [-bmsu]  文件名或者目录名

-b: 只找二进制文件

-m: 只找说明目录/man下面的文件

-s: 只找source文件

-u: 找不在上面三个选项中的特殊文件

(2)locate

locate [-ir] keyword

-i: 不管大小写

-r:后面可以接正则表达式

使用locate的时候,直接在后面输入"文件的部分名"就可以得到结果.这是与whereis的一个不同的地方.如下图

可以看到,只有使用locate才可以.

注意:

whereis与locate还有使用上的限制,使用它们的时候,数据是从已经创建的数据库/var/lib/mlocate里面找的.所以速度很快,但是数据库默认的是每天更新一次,所以有可以找不到最新的文件,这个时候我们可以输入updatedb更新数据库,这个命令会读取/etc/updatedb.config这个配置文件的设置,再去硬盘里面进行更新操作.这个过程要花费几分钟.

(3)find

find [PATH] [option] [action]

1.查找/home下属于chuiyuan用户的文件

2.查找系统中不属于任何人的文件

通过这个命令可以找出不正常的文件,不过有时候也是正常的,特别是以源码的方法编译软件的时候.

3.找出文件名为vi1test1的文件

vi1test1为新文件,所以使用locate是无法找到的.如下图

4.找出目录/var下类型为socket的文件名

5.通配符查找

 

posted @ 2015-12-23 00:00  chuiyuan  阅读(168)  评论(0编辑  收藏  举报