Bootstrap

Linux-文件查找find命令

目录

1、命令:locate

常用参数:

特性:

示例

1、查找/etc目录下所有以pas开头的文件

2、新建的文件,立即使用locate是查找不到的

3、新删除的文件,没有更新locate数据库还是能查询到

4、指定显示查找到的内容数量

5、使用正则表达式,查找以auth结尾的文件或目录

6、查找文件或目录时,不区分名字大小写

7、locate无法查询/tmp目录的任何内容

2、命令:find(重点)

常用参数:

语法:

示例

1、按照指定文件名称查找

(1)在/etc目录下查找 hos 开头的文件和目录

2、按照指定文件大小查找

(1)在/etc目录下查找大于5M的文件和目录

(2)在/etc目录下查找小于5M的文件和目录

3、按照目录最大深度查找

(1)在指定的根目录下的第三级目录中查找te开头的文件

4、按照文件属主查找。查找属主是testadmin的文件

5、按照文件属组查找。查找属组是wheel的文件

6、按照文件类型查找

系统文件类型:

(1)查找文件(f)类型的文件和目录

(2)查找目录(d)类型的文件

(3)查找设备(b)类型的文件

(4)查找链接(l)类型的文件

(5)查找管道(p)类型的文件

7、按照文件权限查找文件

(1)在root目录下查找权限为755的文件和目录

(2)在root目录下查找权限为644的文件和目录

8、按照访问文件的日期查找文件

(1)查找一天内在etc目录下,以hostn开头被访问过的文件

9、按照修改文件的日期查找文件

(1)查找一天内在etc目录下,以host开头被修改过的文件

10、查找到文件后的处理动作

(1)查找root目录下权限为644的文件,找到后删除

(2)查找/home目录下的test*开头的文件,并打印出来

(3)查找etc目录下以host开头的文件和目录,并复制到tmp目录下

(4)查找tmp目录下以host开头的文件,并列出文件详细信息

好好学习,天天向上。


1、命令:locate

常用参数:

  • -n:指定显示查找到的内容数量;
  • -i:不区分大小写;
  • -r:使用正则表达式;

快速查找文件或目录。

特性:

  • 基于/var/lib/mlocate/mlocate.db数据库查找,不是在系统中查找,而是在数据库中查找;
  • locate数据库存储了系统所有文件的名称和绝对路径;
  • 新建的文件,立即用locate命令去找是找不到的,因为locate数据库更新不是实时的;
  • 删除的文件,立即用locate命令去找还是能找到,还是因为locate数据库更新不是实时的;
  • 新建或删除文件或目录,都需要更新一次数据库,更新命令:updatedb;
  • 系统重启时,locate数据库会自动更新;
  • locate命令无法查询/tmp目录中的文件和目录;

示例

1、查找/etc目录下所有以pas开头的文件

2、新建的文件,立即使用locate是查找不到的

3、新删除的文件,没有更新locate数据库还是能查询到

4、指定显示查找到的内容数量

5、使用正则表达式,查找以auth结尾的文件或目录

6、查找文件或目录时,不区分名字大小写

7、locate无法查询/tmp目录的任何内容

2、命令:find(重点)

在指定目录下查找文件。

常用参数:

-name

指定文件名

-iname

指定文件名并且忽略大小写

-size

指定文件大小,加号“ + ”大于,减号“ - ”小于

-maxdepth

指定在第几级目录中查找,指定的目录为第一级

-type

指定文件类型

-o/ -a / -not

或 与 非

-user

指定文件属主

-group

指定文件属组

-perm

指定文件权限

-exec

找到文件后的处理动作

-exec:需要执行的shell命令

-print

找到文件后打印出文件的路径(默认就是这个)

-delete

找到文件后删除文件

-mtime

指定修改文件的天数查找,加号“ + ”大于,减号“ - ”小于

-atime

指定访问文件的天数查找,加号“ + ”大于,减号“ - ”小于

语法:

find 路径 参数 条件表达式

示例

1、按照指定文件名称查找

(1)在/etc目录下查找 hos 开头的文件和目录

2、按照指定文件大小查找

(1)在/etc目录下查找大于5M的文件和目录

(2)在/etc目录下查找小于5M的文件和目录

3、按照目录最大深度查找

(1)在指定的根目录下的第三级目录中查找te开头的文件

注意:指定的目录为第一级。这里指定目录为根目录,也就是第一级目录是根目录

4、按照文件属主查找。查找属主是testadmin的文件

5、按照文件属组查找。查找属组是wheel的文件

6、按照文件类型查找

系统文件类型:

(1)查找文件(f)类型的文件和目录

(2)查找目录(d)类型的文件

(3)查找设备(b)类型的文件

(4)查找链接(l)类型的文件

(5)查找管道(p)类型的文件

7、按照文件权限查找文件

(1)在root目录下查找权限为755的文件和目录

(2)在root目录下查找权限为644的文件和目录

8、按照访问文件的日期查找文件

(1)查找一天内在etc目录下,以hostn开头被访问过的文件

9、按照修改文件的日期查找文件

(1)查找一天内在etc目录下,以host开头被修改过的文件

10、查找到文件后的处理动作

(1)查找root目录下权限为644的文件,找到后删除

(2)查找/home目录下的test*开头的文件,并打印出来

(3)查找etc目录下以host开头的文件和目录,并复制到tmp目录下

-exec:需要执行的shell命令

{}:find查找到的文件;

\; :作为find命令的结束标记;

(4)查找tmp目录下以host开头的文件,并列出文件详细信息

;