Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10803622
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:34:59

搜索文件的时候,大部分用户使用的第一个命令就是“the which”命令。但是,这样的命令只适用于那些包括在用户路径里的文件。如果一个文件不在用户的路径上,“the which”命令是不会找到目标文件的。
  
  下一个选择就是找到命令本身,但是这是极具杀伤里。这样搜索需要时间,因为它要在每个目录,和每个文件下查找与要求的标准相匹配的内容。如果你拥有某种许可或是所有权进行搜索文件,这就相当不错了,但是当你使用名字搜索特定文件却又是相当耗时的。
  
  另外一个选择就是slocate命令,它是大部分Linux供应商的标准。这种命令是通过数据库进行文件查找,利用cron job在夜间进行更新。
  
  安装好slocate之后,你必须创建它所要搜索的数据库。创建数据库的时间会有所不同,这个视你的文件系统的大小而定。
创建数据库:updatedb(/var/lib/slocate)下  
  使用以下命令,初始化数据库:
  
  # slocate -c -u
  
  在创建好数据库之后,创建一个cron job,每天晚上运行slocate(正如以上所示)更新数据库。
  
  执行以下命令,找到文件:
  
  $ slocatemyfile
  
  不管此文件在系统的任何位置上,这个命令都能找到“myfile”文件。如果有相似的文件存在,比如“myfiles”“test-myfile”,命令也会找到这些文件。
  
  你能够传送许多选项到此命令。你也能够使用slocate,通过传递给它一个常规的表达式进行文件搜索,你也能够进行模糊搜索,而且你能限制返回结果的数量。
阅读(1113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~