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

青梅煮史各种视角下的历史学 2017-12-21

1.搜寻执行档——which

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

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

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

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

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

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

2.whereis

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

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

3.locate

选项与参数

-i:忽略大小写的差异

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

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

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小时内容变动的档案

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

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

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

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

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

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

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

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

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

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

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

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

其他参数大家自己试试

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

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

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

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

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

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

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

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

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

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

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

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

4.额外可进行的动作:

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

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

相关推荐