查找命令介绍

一、       locate命令

1、 语法格式:

        locate [option]… PATTERN

               -b:只匹配路径中的基名

               -c:统计共有多少符合条件的文件

               -r:PATTERN支持基本正则表达式

 

2、 locate命令依赖于事先构建好的数据库/var/lib/mlocate。所以查找速度比较快,但是由于数据库并不是实时更新的,所以查找的数据可能有滞后性。

 

3、 updatedb:手动更新数据库命令

updatedb命令是根据/etc/updatedb.conf配置文件中的设置去查找硬盘内的文件,并更新到数据库中的。

 

二、       whereis命令

1、 语法格式:

        whereis [option]… filename

               -b:只查找二进制文件

               -m:只查找说明文件manual路径下的文件

               -s:只查找源文件

               -u:查找不属于上述3者的文件

 

三、       find命令

1、 语法格式:

       find [path] [option] [action]

 

path:查找起始路径

option:查找条件,用于指定查找的标准

action:多符合条件的文件的操作

 

2、 各种option类型

根据文件名查找:

        -name “pattern“  

        -iname “pattern“ 不区分大小写

 

根据文件从属关系查找:

        -user USERNAME 查找属主匹配的文件

        -group GRPNAME 查找属组匹配的文件

       

        -uid UID 查找UID匹配的文件

        -gid GID 查找GID匹配的文件

 

        -nouser:查找没有属主的文件

        -nogroup:查找没有属组的文件

 

根据文件类型查找

        -type TYPE

               f:普通文件

               d:目录

               l:符号链接

               b:块设备

               c:字符设备

               p:管道文件

               s:套接字文件

 

组合逻辑查找

        -a:与,多条件并存,默认的组合逻辑

        -o:或

        -not/!:非

 

根据文件的大小查找

        -size [+|-]#UINT

               +:大于指定大小

               -:小于指定大小

               UNIT:指定大小单位,有k、M、G

 

根据时间戳查找

        -mtime:根据修改时间查找

        -atime:根据访问时间查找

        -ctime:根据状态时间查找

三个时间的查找格式都相同,下面以mtime为例说明

-mtime +n:第n+1天前(包括n+1天)被修改过的文件

-mtime n :现在起之前的第n天当天被修改过的文件

-mtime -n:第n天之前到现在,即n天内

 

根据权限查找

-perm [/|-]mode

        mode:查找文件权限正好等于mode权限

        /mode:查找文件权限包含mode中任一权限即可

        -mode:查找文件权限至少包括所有mode权限,

 

3、 action(处理动作)

-print:输出查找到的内容

-ls:列出文件详细信息

-delete:删除查找到的文件

-exec COMMAND {} \; :对查找到的文件执行COMMAND命令