文件查找find的使用总结

find命令格式:

find [OPTION]... [查找路径] [查找条件] [处理动作]
            查找路径:默认为当前路径;
            查找条件:指定的查找标准,可以根据文件名、大小、属主属组、类型等进行;默认为找出指定路径下的所有文件;
            处理动作:对符合条件的文件做什么操作;默认为输出至屏幕;

1、根据文件名进行查找:

-name "文件名称": 支持使用glob;
                   
                 -iname "文件名称":不区分字符大小写,支持使用glob;

-regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称;

2、根据属主、属组查找:

-user USERNAME: 查找属主为指定用户的文件;

-group GROUPNAME: 查找属组指定文件;

3、根据文件类型进行查找:

-type TYPE
                    f: 普通文件
                    d: 目录
                    l: 符号链接
                    b: 块设备
                    c: 字符设备
                    p: 命名管道
                    s: 套接字

4、组合查找条件:

与条件:-a


                或条件:-o
                非条件:-not, !

!A -o !B = !(A -a B)
                !A -a !B = !(A -o B)

5、根据文件大小来查找:

-size [+|-]#UNIT
                    单位:k, M, G

#UNIT: (#-1,#]
                    +#UNIT: (#,+oo)
                    -#UNIT:[0,#-1]

6、根据时间戳:

以“天”为单位
                    -atime [+|-]#
                        #:[#,#+1)
                        +#: [#+1,oo]
                        -#: [0,#)
                    -mtime
                    -ctime

以“分钟”为单位
                    -amin
                    -mmin
                    -cmin

7、根据权限:

-perm [/|-]MODE
                    MODE: 精确权限匹配
                    /MODE:任何一类对象(u,g,o)的任何一位权限符合条件即可;隐含或条件;
                        /400
                    -MODE:为每一类对象指定的每一位权限都必须同时存在方为符合条件;隐含与条件;

练习:

1、查找/var目录属主为root,且属组为mail的所有文件;


            2、查找/usr目录下不属于root、bin或hadoop的所有文件;


            3、查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件;


            4、查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;


            5、查找/etc目录下大于20k且类型为普通谁的的所有文件;


            6、查找/etc目录下所有用户都没有写权限的文件;


            7、查找/etc目录下至少有一类用户没有执行权限的文件;


            8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件;

时间: 2024-10-09 14:15:03

文件查找find的使用总结的相关文章

文件查找

grep, egrep, fgrep: 文本查找 文件查找: locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的: # updatedb, 手动生成文件数据库 速度快 find: 实时 精确 支持众多查找标准 遍历指定目录中的所有文件完成查找,速度慢: find 查找路径 查找标准 查找到以后的处理运作 查找路径:默认为当前目录 查找标准:默认为指定路径下的所有文件 处理运作:默认为显示 匹配标准: -name 'FILENAME':对文件名作精确匹配 文件名通配: *:任意长度

find、locate文件查找命令详解

一.locate:根据键值数据库模糊匹配,找路径 1.命令工作模式 (1)模糊查找 依赖于事先构建好的索引库,索引构建过程需要遍历整个根文件系统,占CPU使用资源 (2)无法实施更新 查找的是过去某一时刻更新的数据库文件,查找路径 系统自动更新:一般为每日系统例行性任务完成更新 手动更新数据库:uodatedb (3)查找速度快 通过对创建的索引库的匹配遍历查找文件路径,查询速度哦哒哒增加 2.格式:locate   [OPTION]...  PATTERN- -b:只匹配路径中的基名 -c:统

Linux文件查找之find&locate

Linux文件查找之find&locate 一.概述 Linux系统核心的思想之一"一切皆文件",对于这么多的文件,如何快速查找过滤呢?下面我们就看看系统提供的文件查找命令find和locat,熟练使用find命令是运维人员的必经之路 二.find的用法及示例 1.find特点 查找速度略慢 精确查找 实时查找 只能搜索有读取和执行权限的目录 2.find用法 用法:find  [options]  [查找路径]  [ 查找条件]  [处理动作] 查找条件: 根据文件类型查找

Linux基础之文件查找:locate、find

引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们想查找内容的搜索内容,这在Linux的文件查找中称为精确匹配,但是如果我们虽然知道我们想要的内容,但是找不到特别精确的言辞来形容它因此只能输入描述性内容为搜索条件,这种在Linux的文件查找中可以称为模糊匹配.本文的初衷是希望这篇文章可以解决大家在使用Linux的过程中不至于因为查找某个文件找不到而

关于文件查找和解压缩

文件查找和解压缩在文件系统上查找符合条件的文件,文件查找的工具有两个,locate 和 find文件查找分为:            locate      非实时查找 (在数据库查找)             updatedb   更新数据库            经常用于搜索稳定的文件,比如配置文件            var/lib/mlocate/mlocate.db 数据库路径             find     实时查找 locate :       查询系统上预建的文件索引

linux系统下文件查找

在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查找):模糊匹配:速度快 2,find:实时查找(遍历目录中的所有文件完成查找):精确匹配,支持众多查找标准:速度慢 一.locate 查询系统上预先生成的文件索引数据库:/var/lib/mlocate/mlocate.db 依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务) 管

Linux文件查找及压缩常用知识总结

一.文件查找 1.locate命令: locate KEYWORD 常用选项:     -i 执行区分大小写的搜索     -n  N只列举前N个匹配项目 查询系统上预建的文件索引数据库在:/var/lib/mlocate/mlocate.db上,由于事先建立索引,所以查找速度快. 2.find命令: 实时查找工具,通过遍历指定路径完成文件查找,查询的速度稍微慢点,精确查找,实时查找.可能只搜索用户具备读取和执行权限的目录. find - search for files in a direct

条件判断之if、case语句和文件查找命令

一.脚本编程 1.if语句怎样用 人生面临许多选择,在编程世界里同样也有许多选择.同其他编程语言一样,当我们想写一个功能健壮的脚本时,通过条件判断来选择适合的操作尤为重要.在我们执行某些重要的操作之前,判断当前环境是否适合执行这一操作是非常重要的.我们可以用&&和||来做简单的判断,不过shell有更用的语句.shell有两种常见的条件选择语句if和case.我们先来看一下if该怎样用吧. if语句的单分支语法: if 条件判断 ;then;执行命令:fi [[email protecte

linux笔记八---------文件查找

1.find文件查找指令 > find  目录  参数 参数值,参数 参数值.....    > find  /  -name  passwd   //从系统根目录开始递归查找name=passwd的文件    参数        -maxdepth  n  查找目录最深层次        -mindepth  n  查找目录最浅层次        -name  filename  根据文件名字查找        -size  大小    根据文件大小进行查找            大小单位5

Linux使用vim进行多文件查找和替换的方法

vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linux平台上,有很多优秀的shell命令组合来做多文件查找/替换,比如这些命令:find,sed,grep,awk,perl.但其他平台比如windows上就没那么方便了,这时候vim内置的多文件查找命令就有用武之地了,虽然比起外部命令来稍微慢了一点. vim 多文件查找 这个vim内置命令就是vimg