首页 > 代码库 > linux搜索相关指令

linux搜索相关指令

  1. file 档案路径:查看档案类型,以及特殊权限等一些信息。常见类型包括,ASCII text(纯文本),executable(可执行文件),data(数据文件)等。

  2. which  [-a] command:根据环境变量PATH所规范的路径,去搜寻该指令对应的文件的绝对路径。参数-a,将所有由PATH目录中可以找到的指令均列出,而不止第一个被找到的指令名称。另外cd这个指令是内建指令,因此用该指令搜索不到。

  3. whereis [-bmsi]:档案或目录名,参数:

    1-b:只找binary格式的档案。

    2-m:只找manul路径下的档案

    3-s:只找source来源档案

    4-u:搜索不在上述三个项目中的其他特殊档案

    5)默认搜索所有的档案。

    linux系统会将所有档案都记录在一个数据库档案里面,而当使用whereis或者是locate时,都会以此数据库档案的内容为准,因此,使用该指令是可能出现找到已经删除的档案或者找不到刚刚建立的档案的情况。

4.locate [-ir] keyword:模糊检索档案的路径。参数

    1-i:忽略大小写

    2-r:后面接正则表达式。

    locate寻找的数据是由已建立的数据库/var/lib/mlocate里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据。这个数据库每天更新一次。用户可以使用updatedb指令来更新该数据库。updatedb会去读取/erc/updatedb.conf这个配置文件的设定,然后再去硬盘里面搜寻文件名,最后更新整个数据库。

5.find [PATH] [option][action]:通过直接搜索硬盘的方式,搜索文件。参数:

    1)  与时间有关的选项:共有-atime-ctime-mtime,以-mtime为例,

    -mtime nn为数字,意思是在n天之前的一天内被更改过的档案

    -mtime –n:列在在n天之内(包含n天)被更改过得档案

    -mtime +n:列出在n天之前(不含n天本身)被更改过得档案

    -newer file:列出比file还要新的档案

    其他时间参数类似。关于时间的图解如下(以3天为例):

 wKioL1SQWOmC0EkkAAA8Gz3TsfQ746.jpg

    2)  -uid n:用户的uid,该信息存储在/etc/passwd

    3)  -gid n:ID,该信息存储在/etc/group

    4)  -user name:name为用户名

    5)  -group name:用户组名

    6)  -nouser:寻找档案的拥有者不存在于/etc/passwd的人

    7)  -nogruop:寻找档案的拥有群组不存于/etc/group下的档案

    8)  -name filename:根据文件名进行搜索

    9)  -size [+-] SIZE:搜索比SIZE大(+)或小(-)的档案,单位c代表bytek代表1024byte

    10)   -type TYPE:搜寻档案类型为TYPE的,雷友主要有,一般档案(f),装置档案(bc),目录(d),链接档(l),sockets)。

    11)   perm mode:搜索档案权限刚好等于mode的档案,mode为以数字表示的权限如777

    12)   -perm –mode:搜索必须是全去囊括mode权限的文件。

    13)   -perm +mode:搜索档案权限包含任意mode的权限的档案

    14)   -exec commandexec后面可再接额外的指令来处理搜寻到的结果

    15)   -print:将结果打印到屏幕上,这个动作是预设的。


本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1590857

linux搜索相关指令