linux中find命令详解

find命令 :
    特点: 查找速度慢,实时查找,精确查找
    格式:find [OPTION]... [查找路径] [查找条件] [处理动作]

    查找路径:默认为当前目录

    查找条件:默认为查找所有文件

    处理动作:默认是输出到屏幕

查找条件:

    根据文件名字查找:

        -name:后跟文件名称,根据文件名字查找。支持使用linux的通配符

        -iname:同上,忽略大小写

        -regex:后跟正则表达式,它会匹配整个文件路径,不仅仅是文件名

    根据属主,属组查找:

        -user:后跟用户名,根据用户名查找文件

        -group:后跟组名,根据组名查找文件

        -uid:根据uid查找

        -gid:根据gid查找

        -nouser:不跟参数,查找属主为空的

        -nogroup:查找属组为空的

    根据文件类型查找:

        -type 文件类型:根据文件类型查找

            f:普通文件

            d:目录文件

            l:符号链接文件

            s:套接字文件

            b:块设备文件

            c:字符设备文件

            p :管道文件

    组合查找:

        -a:与

        -o:或

        -not或!:非

        例,find / −nouser−o−nogroup

        -ls,查找属组为空或属主为空的文件。

    根据文件大小查找:

        格式:-size [ + | - ] 大小

            大小=数字+单位

            单位有k,M,G

        数字+单位:查找的范围是:(数字-1,数字],find  /etc -size 3k,查找大于2k小于等于3k的文件

        -:使用减号表示:[0,数字-1]。例,find  /etc -size -3k,查找所有小于等于2k的文件

        +:加号表示(数字,oo)。例,find /etc -size -3k,查找所有大于3k的文件

    根据时间戳查找:

        以天为单位:a表示访问时间,m修改时间,c改变时间

            -atime、-mtime、-ctime:也能配置+,-号使用,使用方法与根据文件大小查找类似

                例,find /etc -mtime -3,查找修改时间在3天以内的文件。

                例,find /etc -mtime 3,查找修改时间大于3天小于4天的文件。

                例,find /etc -mtime +3,查找修改时间大于4天的文件

        以分钟为单位:

            -amin、-mmin、-cmin:同上

      组合:将60天以前的文件删除

      find /home/BOSS/ -type f -mtime +60 -name "*.log" | xargs rm -f

    根据文件权限查找:

        格式:-perm [ / | - ] 权限,以例子说明,centos7中+彻底过时,被 / 取代。

        find /etc -perm 111:精确查找,查找权限为600的文件

        find /etc -perm /111:查找任何一组满足权限条件的文件,类似或的关系。010也满足条件。

        find /etc -perm -111:必须三组同时满足条件,类似与的关系。113满足条件。

处理动作:

    -print:默认的处理动作,输出到屏幕

    -ls:查看文件权限详情,相当于对查询出的文件右执行了"ls -l"命令

    -delete:删除查找到的文件

    -fls:后跟路径,将查询到的长文件信息输出到文件。即执行了-ls之后又把输出流重定向到了文件
 

发布了191 篇原创文章 · 获赞 660 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/m0_37806112/article/details/101853966