2006年9月19日星期二

(2)文件查找命令

  名称:whereis
  功能:定位文件所在的目录

 
  使用 whereis 命令可以定位常用命令的位置:
  [root@kevin ~]#whereis ls (# 定位ls命令的位置)
  ls:/bin/ls (# ls位于/usr/bin目录下)

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

 
  
名称:find
  功能:查找文件

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

 
  [root@kevin ~]#find /root/ -name source.txt source.txt -print
  /root/source.txt (# 查找结果)

 
  
名称:locate
  功能:查找文件或目录

 
  除 find 命令外,locate 也是在系统中查找文件的常用方法。
  [root@kevin ~]#locate source.txt (# 查找source.txt文件)

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

 
  [root@kevin ~]#updatedb

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

没有评论: