一:档案和目录篇(5)——搜寻档案

1.搜寻执行档——which

which指令主要是在PATH所包含的目录中去搜寻执行档的档名,若加上-a参数就可以搜寻除所有包含档案的信息

上面列出root账号的PATH包含的目录,which命令会在这些目录中去查看文件

如果文件不在这些目录中就会提示找不到,如下

cd档案用which找不到,因为cd不在PATH所包含的目录中,它是属于bash内建的命令。

2.whereis

whereis和locate是在数据库中查找档案的,所以查找的速度很快

3.locate

选项与参数

  -i:忽略大小写的差异

  -r:后面可直接更正则表达法的显示方式

locate命令会在执行的时候去读取/var/lib/mlocate中建立的数据库而不会去查询磁盘,所以搜寻速度很快

但是有时当你新建一个档案时,用locate搜寻时提示找不到是因为数据库还没有更新,手动使用updatedb命令就可以更新数据库

4.find

find命令算是功能很强大的搜寻档案指令了,它是在整个磁盘中查找文件,它有几种参数选项,分别介绍如下

1.与时间相关的选项— -atime, -ctime ,-mtime, 以-mtime介绍

  -mtime n:在n天之前的(一天24小时内)被更改过内容的档案

  -mtime +n:在n天之前的(不含n天本身)被更改过内容的档案

  -mtime -n:在n天之内(含n天本身)被更改过内容的档案

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

这个选项主要是找出最近做出变动的档案,非常方便

比如列出一天前24小时内容变动的档案

列出比/home/test更新的档案

2.与使用者和组名有关的选项:

  -uid n:找出uid为n的档案

  -gid n:找出gid为n的档案

  -user name:找出使用者为name的档案

  -group name:找出群组为name的档案

  -nouser :找出不存在拥有者的档案

  -nogroup :找出不存在群组的档案

上面找出的档案的拥有者都是root

其他参数大家自己试试

3.与档案权限及名称有关的参数:

  (1) -name file:找出文件名为file的档案

            

  (2) -size [+-]SIZE:找出比SIZE(+)大(-)小的档案,其中SIZE可以用c(字节)、k(1024字节)表示,(-size +100k,找出大于100k的档案)

            

  (3) -type TYPE:找出类型为TYPE的档案,其中TYPE可以用 一般档案(f)、装置档案(b,c)、目录(d)、连接档(l)、socket(s)、FIFO(p)表示

      

  (4) -perm mode:找出档案权限刚好等于mode的档案

            

    (5) -perm -mode:找出档案权限要全部包含mode的档案

    (6) -perm +mode:找出档案权限包含任一mode的档案

            

4.额外可进行的动作:

  -exec command:-exec后面接其他指令,可以额外出来搜寻出来的结果

 

posted @ 2017-12-21 14:57  三峡之美  阅读(208)  评论(0编辑  收藏  举报