linux,mac查找大于某个大小的文件

命令:
find / -type f -size +10M
10M即文件大于该大小会被找到,一般用于查找网站生成大的文件

格式:find [查询的路径] [匹配模式] [匹配规则]

匹配模式:#-name : 按名字查找
                正则匹配 :*   匹配任意数量的任意字符(匹配零个或多个任意字符)
                         ?   匹配任意一个字符
        eg: find /etc/ -name *eth*

        #-type : 按文件类型查找

                常见文件类型:f  普通文件
                           d  普通文件夹
                           l  链接文件
                           b  块设备文件
                           c  字符设备文件
                           s  socket文件
                           p  管道文件
         eg:查看/etc/目录下的普通文件
            find /etc/ -type f

        #-perm : 按文件权限查询

                常见文件权限: 755     : 文件夹的默认权限
                            644     :  文件的默认权限
             find /etc/ -perm 777  

        #-user : 按照文件的属主查询
            查询属主为test的文件
              find /etc/ -user test

        #-nouser :查询没有属主的文件

        # -group :按照文件属组查询

        #-nogroup :查询没有属组文件

                #知识储备:
                    删除用户:userdel
                    删除用户组:groupdel

        #-mtime :按照文件修改时间查找
                +  :表示几天之前修改的文件(以天为单位)
                -  :表示几天之内修改的文件
              查找3天前修改的普通文件
                find /etc/ -mtime +3 -type f

        #-ctime :按照文件创建时间查找

        #-atime :按照文件访问时间查找

        #-size :按照文件大小查找
                +  :超过n的文件(以天为单位)
                -  :小于n的文件
             查找/etc/目录中大于1M的文件
                find /etc/ -size +1M

    选项:
        -a(默认)  : 并且

        -o          :或者

        -exec(xargs)    : 处理匹配之后的内容

#知识储备:
stat + 文件名称 : 查看文件的各种时间
[root@localhost ~]# stat a.txt
File: ‘a.txt’
Size: 816 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 134391259 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-09-27 16:57:59.607826732 +0800
Modify: 2021-09-27 16:56:50.747828598 +0800
Change: 2021-09-27 16:56:50.747828598 +0800
Birth: -

案例1:查询/tmp目录中在3天以内创建的文件,并删除

方式一:find /tmp/ -ctime -3 -type f -exec rm -rf {} \;
          -exec     : 处理查询之后的内容
            {}      : 代表的是查询到的内容、
            \;      :  固定搭配

方式二:find /tmp/ -ctime -3 -type f | xargs -I {} rm -rf {}
          xargs :将所有的内容格式化成一行

案例2:要求将所有3天前创建的普通文件加上.bak后缀
find /tmp/ -ctime +3 -type f -exec mv {} {}.bak ;
find /tmp/ -ctime +3 -type f | xargs -I {} mv {} {}.bak

你可能感兴趣的:(linux,运维,服务器)