• shell编程---find命令


    shell编程:find命令

    find . 列出当前目录以及子目录下的所有文件

    find . -name  "11.png"找到当前目录下名字为11.pngd的文件

    find .-name  “*.jpg”找到当前目录下目录所有的jpg文件

    find .-name"*.jpg" -o -name  "*.png"找到当前目录下jpg和png文件

    find . -path "*wysiwyg"找出当前目录下路径中包含的wysiwyg的文件路径

    find .! -name  "*.png"找出当前目录下不是以png结尾的文件

    根据文件类型查找

    通过 -type 进行文件类型的过滤

    f 普通文件

    l 符号连接

    d目录

    c字符设备

    b块设备

    s套接字

    p Fifo

    根据文件大小

    通过-size来过渡文件尺寸,支持的文件大小单元如下:

    b---块(512字节)

    c---字节

    w--字

    k---千字节

    M---兆字节

    G---吉字节

    根据访问修改时间

    支持下面的时间类型

    访问时间(-atime/天,-amin/分钟),用户最近一次访问时间

    修改时间(-mtime/天,-mmin/分钟)文件最后一次修改时间

    根据权限

    通过 -perm来实现。举例找出当前权限为777的文件

    find .-type f -perm 777

    根据文件拥有者

    find .-type f -user root 找出文件拥有者为roto的文件

    找到文件后执行命令

    通过-ok和-exec来实现。区别在于,-ok在执行命令前会进行二次确认,-exec不会

    eg:删除当前目录下所有的js文件,用-ok效果如下,删除前有二次确认

    find  .-type f -name "**.js" -ok rm {};

    找出空文件

    find .-empty

    批量删除文件

    find ... -exec rn {};

    find ...| xargs rm -rf

      两者都可以把find命令查找到的结果删除

    其区别简单的说是前者把find命令发现的结果一次性传给exec选项,这样当文件太多时就可能出现参数太多的错误,相比较而言,后者就可以避免这个错误,因为xargs命令会分批次的处理结果。

  • 相关阅读:
    原来生成函数这么简单
    p1919 A*B Problem升级版
    线性基初步
    高斯消元详解
    FFT模板
    BSGS(大小步)算法
    p1516&poj1061&bzoj1477 青蛙的约会
    p1082 同余方程
    qboimathtest1 t1 魔法串
    qboimathtest1 t2 配对
  • 原文地址:https://www.cnblogs.com/RanWhoo/p/13466751.html
Copyright © 2020-2023  润新知