Chinaunix首页 | 论坛 | 博客
  • 博客访问: 37893
  • 博文数量: 9
  • 博客积分: 215
  • 博客等级: 入伍新兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-08 14:00
文章分类
文章存档

2011年(9)

最近访客

分类: LINUX

2011-04-17 16:30:07

在linux下面搜索文件的功能非常强大。比较常用的有以下四种:
which:查看可执行文件的位置
whereis:查看文件的位置
locate:从数据库中查看文件位置
find:搜索硬盘查询文件

1、which的使用
    which [文件名]
    说明:它主要搜索PATH环境变量中的路径,所以主要还是查询可执行文件

2、whereis的使用
    whereis [-bmsu] [目录名称]
    -b:只找二进制文件
    -m:只找在说明文件manual路径下的文件
    -s:只找source源文件
    -u:没有说明文档的文件!
    说明:whereis查询速度非常快,因为它是查找数据库的,linux系统会将系统内的所有文件都记录在一个数据库文件中,whereis和locate都是基于此文件进行查询的,所以在数据库更新期间发生的删除和添加文件都会对查询造成影响,使查询不太准确。基本上Linux每天会针对Linux主机执行updatedb(针对该数据库文件)动作,您可以在/etc/cron.weekly/slocate.cron文件中找到相关的机制。当然,也可以直接使用/usr/bin/updatedb来更新数据库文件

3、locate的使用
    locate [目录名称]
    说明:locate的查询速度非常快,这是因为locate也是从已经建立的数据库/var/lib/slocate中查找的,不需要访问磁盘。但是这也存在一个限制,即数据库如果更新不及时,那么在两次更新之间新建的文件不能找到。

4、find的使用
    find [路径] [参数]
    a. 时间:
        -atime n:将n*24小时内被存取过的文件列出来
        -ctime n:将n*24小时内被改变、新增的文件或目录列出来
        -mtime n:将n*24小时内被修改过的文件列出来
        -newer file :把比file还要新的文件列出来
    b.使用名称:
        -gid n:寻找群组ID为n的文件
        -group name :寻找群组名称为name的文件
        -uid n:寻找拥有者ID为n的文件
        -user name :寻找用户名称为name的文件
        -name file :寻找文件名为file的文件名称(可以使用通配符)
        -type type :寻找文件属性为type的文件,type包含了b, c, d, p, l, s,
            这些与前一章的属性相同。例如l为Link而d为目录
    说明:find查找文件时是搜索磁盘来查找的,非常耗时,所以一般情况下使用whereis和locate代替,不过find的参数非常强大,所以查找的效果会很好。
阅读(1957) | 评论(0) | 转发(0) |
0

上一篇:fdisk,fsck,ssh,telnet,$PATH

下一篇:磁盘操作

给主人留下些什么吧!~~