Linux whereis、find和locate命令找不到文件

命令简介

●whereis

功能:定位文件所在的目录
使用whereis命令可以定位常用命令的位置:

[root@yanghsia root]#whereis ls                  (# 定位ls命令的位置)
ls:/bin/ls                                      (# ls位于/usr/bln目录下)

whereis命令不是通过查找磁盘上的所有文件来实现定位的,你可以随便指定一个可执行文件,估计whereis会找不到,这是因为whereis是根据环境变量PATH来查找文件的,而PATH通常设置成存放命令的那些路径,如 /bin、/usr/bin等,因此whereis的用途仅限于定位shell命令所在的位置。

●find

功能:查找文件
find命令可以用来从指定的目录开始查找文件,它的速度虽比不上whereis命令,但没有任何限制,而且功能要比whereis命令强。

[root@yanghsia root]#find -name student.txt
/tmp/student.txt                                (# 查找结果)

●locate

功能:查找文件或目录
除find命令外,locate也是在系统中查找文件的常用方法。

[root@yanghsia root]#locate student.txt           (# 查找student.txt文件)

用locate命令查找的文件和find一样没有任何限制,但执行速度却比find要快不少,其主要原因在于,locate不是从磁盘中实时查找文件,而是到由updatedb命令产生的信息库中查找相应的文件和目录,这样一来速度当然快了。

[root@yanghsia root]#updatedb

注 意:如果locate找不到某个文件,而你又确信该文件肯定存在,那一定是updatedb生成的信息库已经过时了。此时你要做的就是以root身份登 录,然后执行updatedb命令,重新建立整个系统所有文件和目录的资料库,虽然这个过程可能会浪费一点时间,但以后再查找文件时就方便多了。

Linux文件搜索 which,whereis,locate,find
在Linux中,也有相当优秀的搜索系统。通常,find不常用,因为速度慢,耗费硬盘空间。通常我们先使用whereis或者locate来检查,如果 找不到,才用find搜索。为什么?因为whereis与locate是使用数据库来搜索数据,所以相当快,而且并没有实际搜索硬盘,比较省时。

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值