文件名查找 whereis   locate

查找文件。通常我们用whereis 或者 locate 命令进行查询。如果查找不到,再用find 命令来查找、

因为whereis locate 命令是利用数据库来查找数据的,所以速度很快。而且并没有实际查找硬盘、比较节省时间。

whereis 查找特定的文件

[kin@kin /]$ whereis  [-bmsu]  文件或目录

参数;

-b :只找二进制格式的文件

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

-s :只找source 源文件

-u :查找不在上述三个选项中的其他特殊文件

范例

[kin@kin /]$ whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

#直接whereis  filename

[root@kin /]# whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

#切换到了root用户,结果与一般用户一样

[root@kin /]# whereis -m ifconfig

#加‘-m 属性。只找出跟ifconfig 有关的‘说明文件’

ifconfig: /usr/share/man/man8/ifconfig.8.gz

locate命令使用。

[root@kin /]#locate [-ir] keyword

参数:

-i:忽略大小写的差异

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

范例:

[root@kin /]# locate passwd

/etc/passwd

/etc/passwd-

/etc/news/passwd.nntp

/etc/pam.d/passwd

…….

这个命令使用更加简单,直接输入文件部分名称,如果你不记得完整的文件名,这个命令可以好好的帮助到你。

比如说、你忘记了passwd 这个文件名。只记得pass 前面这段。你可以用:locate  pass 可以查询到所有含有pass字段 的文件名。

但是,这个命令有限制的

和上一个whereis命令一样。他们查找的数据都是在一个数据库文件里面的。这个命令/var/lib/mlocate 文件里面。

可是!数据库的创建默认是每天执行一次的,所有当你新建文件后查询该文件,那么。Locate会提示‘找不到’

可以选择手动更新数据库。

[root@kin /]#updatedb

update :根据/etc/updatedb.conf 的设置去查找系统硬盘内的文件名,并更新/etc/lib/mlocate内的数据库文件。

Locate:依据/var/lib/mlocate 内的数据库记载,找出用户输入的关键字文件名。。。

 

----鸟哥的私房菜188