Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688384
  • 博文数量: 34
  • 博客积分: 4020
  • 博客等级: 上校
  • 技术积分: 367
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-05 16:22
文章分类

全部博文(34)

文章存档

2010年(1)

2009年(16)

2008年(9)

2007年(8)

我的朋友

分类: LINUX

2008-07-03 00:49:32

对文件定位的命令有which、whereis、find、locate以及slocate,每个命令的用法及适用环境也有一定差别,今天刚好看书看到这里,故做一小结。
1、which
语法:
  which command
说明:
  在PATH环境变量指示的位置寻找command的位置并显示其完整路径名称。只要找到一个符合条件的可执行文件即退出。

2、whereis
语法:
  whereis [options] name
说明:
  所给出的name会先行去掉前面的路径名及后面的扩展名,然后按照去掉之后结果在Linux的标准目录中搜索的可执行文件、源码文件或manpage文件。默认情况下whereis只在下面的目录中进行查找,并且不会进入子目录查找,所以不一定总能找到你要的东西。
       /{bin,sbin,etc}
       /usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,
                           X386,TeX,g++-include}
       /usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs}
  但可以通过命令的选项改变命令的行为,如只找源码文件或可执行文件。
  绝大部分的软件都安装在这些标准目录中,所以which找到不的命令可以用这个命令试试。

3、find
语法:
  find paths expression [action]
说明:
  以paths为探索起点,逐层查找每一个符合expression条件的文件,并对该文件执行action代表的处理动作。查找时要遍历paths下的所有子目录及文件,引发大量的读磁盘操作,因而查找的速度不是特别快。
  该命令功能强大,参数的复杂度也与之成正比,这里不做详细的说明。但这条命令还是值得我们花大力气学习的。在查找的效果上,可以说:只要磁盘上存在的东西,用它都能找得到(前提是你要有适当的权限)。

4、locate
语法:
  locate patterns
说明:
  在索引数据库中查找符合patterns的文件,由于是在索引数据库中查找,所以查找速度极快。locate特别适合搜索很少变动的目录,对于最近的新建文件及改过名的文件,则无能为力,除非重建数据库。
  重建数据库的命令是updatedb,一般可把该命令放到cron中定期执行。

5、slocate
语法:
  slocate patterns
说明:
  与locate相似,只是slocate在执行时会自动跳过那些没有权限的目录。


阅读(2457) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~