Shell 删除指定类型的文件

可以删除指定文件名(后缀)的文件.

可以删除手机中指定后缀的垃圾文件...  

find /storage/sdcard -name "*.tcookieid" |xargs rm -rf

find 路径 -name "文件名过滤"|xargs 执行的命令

 

以下转载摘要, 以免跪了

find、xargs命令使用及方法详解

http://www.linuxidc.com/Linux/2014-03/97852.htm

注意:find命令是相当耗资源的不得以的时候不要find的,比如说根 / 目录;

功能说明:查找文件或目录
    find-->实时查找:速度慢、精确匹配

命令语法:
find [options] [查找路径] [查找条件] [处理动作]
    查找路径:默认为当前目录
    查找条件:默认为查找指定路径下的所有文件
    处理动作:默认为显示

1.查找条件:根据文件名称查找时是严格区分字母大小写的

  -name "文件名称": 支持使用globbing
        *  :重复0次或者任意多次前面字符
        ? :单个字符  
        [] :字符范围
        [^]:排除字符范围

2.-iname "文件名称":查找时不区分字符大小写

3.  根据属主属组来查找:

      -user UserName: 根据属主查找
      -group GroupName: 根据属组查找

4.根据UID/GID来查找:
    -uid UID
    -gid GID
  如果我将Fedora用户删除,没有加选项-r,就不会删除用户文件的;如果文件的属主属组不在了,会发生什么问题呢?但是,如果此前不确定用户名,也可以使用uid的;

5.根据-nouser、-nogroup: 查找没有属主、属组的文件;
  -nouser:查找没有属主的文件,即该文件的属主在/etc/passwd中不存在。
  -nogroup: 查找没有属组的文件,即该文件所属的组在/etc/group中不存在。

6.组合条件:
    -a: 与,同时满足(可以不写的)
    -o: 或,表示一个满足就可以
    -not, !:非,取反

6.根据文件类型查找:

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

7.根据文件大小查找:

    -size: 根据文件大小查找
        -size [+|-]#Unit
        例如:-size +2MB (+表示大于)
        常用单位:k, M, G
文件查找的一个比较独特的地方,当我们以某个单位指定以后,只要在单位变化范围内1范围内的变化的都符合条件;
注意:
I.小于:
    小于-1M:表示0M以下的所有文件是小于-1M的;
    小于-2M:表示1M以下的所有文件是小于-2M的;
    小于-3M:表示2M以下的所有文件是小于-3M的;
    小于-4M:表示3M以下的所有文件是小于-4M的;
II.大于:
    大于+1M:表示1M以上的所有文件是大于+1M的;
III.不加+-号
    1M的表示:只要在单位变化范围内1M范围内的变化的都符合条件.

8.根据时间戳查找:
        以天为单位(time):访问时间
            -atime [+|-]#
                +: 表示(#+1)天之外被访问过;
                -: 表示#天之内被访问过;
                无符号:表示短于(#+1)> x >=#天的时间段被访问过;    
            -mtime:修改时间
            -ctime:创建时间

        以分钟为单位(min):
            -amin [+|-]#:访问时间
            -mmin:修改时间
            -cmin:创建时间

9.根据权限查找:
        -perm [+|-]MODE
            MODE:精确匹配
            +MODE: 任何一类用户的任何一位权限匹配;常用于查找某类用户的某特定权限是否存在;
            -MODE: 每类用户的指定要检查的权限位都匹配;

10.处理动作:
        -print:打印在标准输出上;
        -ls:以长格式输出各文件详细信息;
        -exec COMMAND {} \; :对查找到的文件执行指定的命令;注意格式要正确:"-exec 命令 {} \;"
        注意“{}” 与 \; 之间有空格
        -ok COMMAND {} \; : 交互式的-exec;
            {}表示占位符
            find把查找到的所有文件一次性地传递给-exec所指定的命令


        find | xargs COMMAND 
                在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件
            一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命
            令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢
            出”。这就是xargs命令的用处所在,特别是与find命令一起使用。
                find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而
            不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一
            批,并如此继续下去。
                在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进
            程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,
            系统性能下降的问题,因而效率不高;
                而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所
            有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系
            统内核中相应的可调参数来确定。

转载于:https://www.cnblogs.com/lvnoey/p/6244814.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值