whereis、locate 查找与命令对应的文件

命令解释

在Linux下面,有很多优秀的查找命令。一般情况下我们并不会去使用find,因为速度很慢。更多的时候使用whereislocate这两个命令,因为它们两个是利用数据库去查找数据,所以相当快速,如果真找不到了,才会使用find来查询。

whereis 寻找特定文件

命令说明
[root@localhost ~]# whereis [-bmsu] 文件或目录名
参数:
-b : 只查找二进制格式文件。
-m : 只查找说明文件 manual 路径下的文件。
-s : 只查找 source 源文件。
-u : 查找不在上述三种选项之中的其他特殊文件。
命令举例
例子一:请使用不同身份找出 ifconfig 这个文件名
[root@localhost ~]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[wenjie@localhost root]$ su - wenjie
[wenjie@localhost ~]$ whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
# 当我们使用 shich 的时候,是找不到这个文件的,而使用 whereis 却可以顺利找到。
# 说明系统真有 ifconfig 这个“文件”,至饿时用户的 PATH 并没有加入 /sbin。

例子二:只查找出跟 passwd 有关的“说明文件”文件名
[root@localhost wenjie]# whereis -m passwd
passwd: /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz

locate 根据文件部分名称去查找文件

命令说明
[root@localhost ~]# locate [-ir] keyword
参数:
-i : 忽略大小写的差异。
-r : 后面可以接正则表达式的显示方式。
命令举例
例子一:找出系统中所有与 passwd 相关的文件名
[root@localhost ~]# locate ifconfig
/sbin/ifconfig
/usr/share/man/de/man8/ifconfig.8.gz
/usr/share/man/fr/man8/ifconfig.8.gz
/usr/share/man/man8/ifconfig.8.gz
/usr/share/man/pt/man8/ifconfig.8.gz

更新查找数据库

因为whereislocate这两个查找命令是根据数据库中的数据去查找的,所以如果数据库中数据没有及时更新的话,我们有可能会查找出已经删除、或者查找不出刚刚新建的文件。数据库默认是一天更新一次,所以当你做新建或者删除操作的时候,你会发现出问题
如果我们创建或删除一个文件之后,想及时更新,该怎么办呢?
可以使用updatedb命令,这个命令就会及时将数据库更新。

updatedb 及时更新数据库
  • 根据 /etc/updatedb.conf 的设置去查找系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值