Linux学习笔记--find命令(文件搜索命令)


find,查找的意思,作用是在系统当中搜索符合条件的文件。

find命令与locate命令的区别:

locate: 1) 非实时查找;
        2) 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时系统自动进行,
        可以用updatedb命令更新索引;
        3) 查找速度快;
        4) 非精准查找。

find  : 1) 实时查找;
        2) 精准查找 (系统上实时的有就是有没有就是没有);
        3) 精确查找 (查找结果绝对符合查找条件才予显示);
        4) 查找速度慢。

1. 命令格式:

find [搜索范围] [搜索条件] [处理动作]

2. 常用搜索条件选项:

-name "文件名称" : 按照文件名来搜索(可以使用通配符);
       通配符有  :*   (匹配任意多个字符)
                 ?   (匹配任意一个字符)
                 []  (匹配任意一个中括号内的字符)
                 [^] (匹配任意一个不在中括号内的字符)

-iname "文件名称" : 按照文件名来搜索,并忽略大小写(可以使用通配符);

-user   用户名    : 按照所有者搜索;

-nouser 用户名    : 搜索没有所有者的文件;

-type   文件类型  : 根据文件类型进行搜索;
        文件类型有:b (块设备文件)
                  c (字符设备文件)
                  d (目录文件)
                  f (普通文件)
                  l (符号链接文件)
                  s (套接字文件)
                  p (命名管道文件)

-mtime   单位属性 : 按修改文件的时间进行搜索(单位为"天");
         例如     : -mtime -10 (搜索10天内修改过的文件)
                    -mtime 10 (搜索10天前当天修改过的文件)
                    -mtime +10 (搜索10天前修改过的文件)

-atime   单位属性 : 按文件访问时间进行搜索(单位为"天");
-ctime   单位属性 : 按文件属性改变的时间进行搜索(单位为"天");

-mmin    单位属性 : 按修改文件的时间进行搜索(单位为"分");
-amin    单位属性 : 按文件访问时间进行搜索(单位为"分");
-cmin    单位属性 : 按文件属性改变的时间进行搜索(单位为"分");

-size    单位属性 : 按文件大小来进行搜索;
         例如    : -size -10k (搜索文件大小小于10K的文件)
                  -size 10k  (搜索文件大小为10K的文件)
                  -size +10k (搜索文件大小大于10K的文件)
                  -size -25M (搜索文件大小小于25M的文件)
                  (注意:"k"为小写,"M"为大写)

-a              : 组合条件"与"(and) 
-o              : 组合条件"或"(or)
-not|!          : 组合条件"取反"

3. 常用处理动作:

"-print"           默认处理动作;
"-ls"              作用相当于"ls -l";
"-exec 命令 {} \;" 对查找到的文件执行指定的命令,
                   命令后面的{}表示,查找到什么就引用什么;
"-ok 命令 {} \;"   这是个交互式的"-exec",每操作一次就需要你确认下。

4. 常用范例:

1) 查找/root/py目录下,名为"test1.py"的文件。

这里写图片描述<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:sql;"> 2) 查找/root/py目录下,名为"test1.py"的文件(忽略大小写区别)。

这里写图片描述

3) 查找/root/py目录下,以".py"结尾的文件。

这里写图片描述

4) 查找/root/py目录下,名为"test1.py"或"test2.py"的文件。

这里写图片描述

5) 查找/root/py目录下,以".py"结尾并且所有者为"root"的文件。

这里写图片描述

6) 查找当前日志目录中,"2天以内"修改过的日志文件。

这里写图片描述

7) 查找当前日志目录中,"7天以前"修改过的日志文件并进行删除。

这里写图片描述

8) 查找当前日志目录中,文件"大于25K"的文件,并进行人性化显示。

这里写图片描述

9) 查找当前日志目录中,文件"大于25K并小于50K"的文件,并进行人性化显示。

这里写图片描述

相关内容