Chinaunix首页 | 论坛 | 博客
  • 博客访问: 774281
  • 博文数量: 143
  • 博客积分: 2077
  • 博客等级: 大尉
  • 技术积分: 2393
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-28 12:57
文章存档

2016年(2)

2015年(3)

2014年(3)

2013年(41)

2012年(94)

分类: LINUX

2012-10-05 11:31:48

文件名的查找:whereis,locate
  whereis,locate是利用数据库来查找数据,所以相当快速,而且并没有实际查询磁盘,比较节省时间,find不是很常用,因为速度太慢,它会去查找磁盘。

  linux 系统会将系统内的所有文件都记录在一个数据库文件里,而当使用 whereis 或者 locate 时,都会以此数据库内的文件为准。因此有时候我们查到的数据会不准确,可能会查询到已经被删除的文件,而且也找不到刚才创建的文件。

whereis:查找特定文件
#whereis [-bmsu] 文件或目录
  -b :只找二进制格式的文件(可执行文件)
  -m :只找在说明文件manual路径下的文件
  -s :只找source源文件
  -u :查找不在上述三个选项中的其他特殊文件

  例如:#whereis passwd

locate:输入文件的部分名称时就可以查询
#locate [-ir] keyword
  -i :忽略大小写
  -r :后面可以接正则表达式的显示方式

例如:找出系统中与passwd 有关的文件名
          #locate passwd

updatedb:手动更新数据库
  #updatedb

  updatedb命令会去读取/etc/updatedb.conf 这个配置文件的设置,然后再去硬盘里面进行查找文件名的工作,最后就更新整个数据库文件,数据库文件在 /var/lib/mlocate 。所以上面两个命令其实都是去/var/lib/mlocate 里面查找。









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