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"的文件。

这里写图片描述

2) 查找/root/py目录下,名为"test1.py"的文件(忽略大小写区别)。

这里写图片描述

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

Linux学习笔记--find命令(文件搜索命令)_第1张图片

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

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

Linux学习笔记--find命令(文件搜索命令)_第2张图片

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

Linux学习笔记--find命令(文件搜索命令)_第3张图片

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

Linux学习笔记--find命令(文件搜索命令)_第4张图片

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

Linux学习笔记--find命令(文件搜索命令)_第5张图片

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

Linux学习笔记--find命令(文件搜索命令)_第6张图片

你可能感兴趣的:(find命令,文件搜索命令,文件查找命令,linux文件搜索,linux-find)