2007-06-22

搜寻文件或目录

关键字: Linux学习
       我们通常需要查找文件,知道哪个文件放在哪里。Linux下也有相当优秀的搜寻系统,通常find不很常用,因为速度慢而且很费硬盘。通常都是先使用whereis或者locate来查找。如果真的找不到,才使用find,因为whereis与locate都是利用数据库来搜寻数据,所以相当快,而且没有实际寻找硬盘,比较省时间。

which

        which的基本功能是通过path环境变量到该路径内寻找可执行文件,所以基本的功能在于寻找可执行文件。
语法:which    [文件名称]
示例:
which passwd

/usr/bin/passwd

whereis
语法:
whereis   [-bmsu]   [目录名称]
参数说明:
-b:只查询二进制文件
-m:只查询manual路径下的文件
-s:只查询source文件
-u:没有说明文档的文件

       locate的使用方式简单,直接输入要查找的文件名就可以了。但是这个工具有一些使用限制。因为它是通过数据库来搜寻,而数据库的更新默认是每周一次,所以,在数据库更新之前新建的文件就会找不到,必须要在更新数据库后。
语法:
locate   [目录名称]
      
       要寻找一个文件,使用find是不错的主意,它可以根据不同的参数搜寻文件。例如你要寻找一个名为httpd.conf的文件,知道它应该在/etc下,那么可以使用find /etc   -name   httpd.conf。如果记得有一个文件名包含了httpd,但是不知道全名,此时可以使用通配符*。

语法:
find   [路径]   [参数]
参数说明:
1.时间:
-atime   n:将n*24小时内被存取过的文件列出来
-ctime   n:将n*24小时被改变、新增的文件或目录列出来
-mtime   n:将n*24小时内被修改过的文件列出来
-newer   file:把比file还要新的文件列出来

2.使用名称:
-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。

示例:
find   / -name   testing   //寻找文件名为testing的文件
find   / -name   'test*'   //寻找文件名包含test的文件
find   .   -ctime   1   //寻找当前目录下一天内新增的目录或文件
find   /home/test   -newer   .bashrc   //寻找/home/test目录下比.bashrc还要新的文件
find   /home   -user   test   //寻找/home下拥有者为test的文件
find   /dev   -type   b   // 寻找/dev目录下文件属性为b的文件
      
       
 
评论
发表评论

您还没有登录,请登录后发表评论

yanshiyi
搜索本博客
最近加入圈子
存档
最新评论