zoukankan      html  css  js  c++  java
  • Find工具

    Find工具主要用于操作系统文件、目录的查找,

    1.语法参数格式为:

    Find工具的语法格式:find  path(路径) -option(参数) action(动作);

        PATH路径:可以任意路径、绝对路径、相对路径(/、/etc/、/home/);

        Option参数:-name(名称)、-type(类型)、-mtime(时间)、-size(大小)、-perm(权限)等;

    -name   filename                #查找名为filename的文件;
    -type    b/d/c/p/l/f            #查是块设备、目录、字符设备、管道、符号链接、普通文件;
    -size      n[c]                 #查长度为n块[或n字节]的文件;
    -perm                           #按执行权限来查找;
    -user    username               #按文件属主来查找;
    -group   groupname              #按组来查找;
    -mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前;
    -atime    -n +n                 #按文件访问时间来查找文件;
    -ctime    -n +n                 #按文件创建时间来查找文件;
    -mmin     -n +n                 #按文件更改时间来查找文件,-n指n分钟以内,+n指n分钟以前;
    -amin     -n +n                 #按文件访问时间来查找文件;
    -cmin     -n +n                 #按文件创建时间来查找文件;
    -maxdepth                       #查找目录级别深度。

          Action动作:exec(承接)、xargs(承接)、print(打印)等;

    2、find案例

    例1:查找Linux操作系统下ens33网卡名称的配置文件路径:

    find  /  -name  *ens33*
    find /etc/ -name *ens33*

    例2:查找Linux操作系统下所有的.rpm结尾的软件包所在的路径:

    find / -name *.rpm
    find / -name *.rpm -name libselinux*
    find / -name *.rpm -name libselinux* ! -name libselinux-utils*

    例3:找到如上软件包,并且将其拷贝至/tmp目录,指令如下:

    for i in `find / -name *.rpm -name libselinux* ! -name libselinux-utils*`;do cp $i /tmp/ ;done
    cp `find / -name *.rpm -name libselinux* ! -name libselinux-utils*` /tmp/
    cp $(find / -name *.rpm -name libselinux* ! -name libselinux-utils*) /tmp/
    find / -name *.rpm -name libselinux* ! -name libselinux-utils* -exec cp {} /tmp/ ;
    find / -name *.rpm -name uwsgi* |xargs -i cp {} /tmp/
    find / -name *.rpm -name libselinux* |xargs rm -rf (删除)
    find / -name *.rpm -name libselinux* ! -name libselinux-utils* |xargs rm -rf {} (删除)
    Exec和xargs两个参数不同点:exec一次查找一个然后传递(不占资源),xargs全部找到再统一传递(占资源);

    例4:Find工具-name参数案列

    find   /data/    -name   "*.txt"             #查找/data/目录以.txt结尾的文件;
    find   /data/    -name   "[A-Z]*"            #查找/data/目录以大写字母开头的文件;
    find   /data/    -name   "test*"             #查找/data/目录以test开头的文件;

    例5:Find工具-type参数案列:

    find   /data/    -type d                    #查找/data/目录下的文件夹;
    find   /data/    !   -type   d              #查找/data/目录下的非文件夹;
    find   /data/    -type  l                   #查找/data/目录下的链接文件。
    find  /data/ -type d|xargs chmod 755 -R     #查目录类型并将权限设置为755;
    find  /data/ -type f|xargs chmod 644 -R     #查文件类型并将权限设置为644;

    例6:Find工具-size参数案列:

    find   /data/    -size   +1M                #查文件大小大于1Mb的文件;
    find   /data/    -size   10M                #查文件大小为10M的文件;
    find   /data/    -size   -1M                #查文件大小小于1Mb的文件;

    例7: Find工具-mtime参数案列:

    atime,access time      文件被读取或者执行的时间;
    ctime,change time      文件状态改变时间;
    mtime,modify time      文件内容被修改的时间;
    find /data/ -mtime +30   -name  "*.log"     #查找30天以前的log文件;
    find /data/ -mtime -30   -name  "*.txt"     #查找30天以内的log文件;
    find /data/ -mtime 30    -name  "*.txt"     #查找第30天的log文件;
    find /data/ -mmin  +30   -name  "*.log"     #查找30分钟以前修改的log文件;
    find /data/ -amin  -30   -name  "*.txt"     #查找30分钟以内被访问的log文件;
    find /data/ -cmin  30    -name  "*.txt"     #查找第30分钟改变的log文件。

    例8:Find工具参数综合案列:

    find /data/  -name "*.log"  -type f  -size +10k -exec cp {} /tmp/ ;               #查找/data目录以.log结尾,文件大于10k的文件,同时cp到/tmp目录;
    find /data/ -name "*.log"  –type f  -size +10k  -perm 644 -exec rm –rf {} ;       #查找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
    find /data/ -name "*.log"  –type f  -mtime +30 –size +10M -exec mv {} /tmp/ ;     #查找/data目录以.log结尾,30天以前的文件,大小大于10M并移动到/tmp目录;
  • 相关阅读:
    js笔记1
    106. Construct Binary Tree from Inorder and Postorder Traversal根据后中序数组恢复出原来的树
    365. Water and Jug Problem量杯灌水问题
    452. Minimum Number of Arrows to Burst Balloons扎气球的个数最少
    650. 2 Keys Keyboard复制粘贴的次数
    249. Group Shifted Strings把迁移后相同的字符串集合起来
    450. Delete Node in a BST 删除bst中的一个节点
    528. Random Pick with Weight index的随机发生器
    582. Kill Process杀死所有子代
    348. Design Tic-Tac-Toe设计井字游戏
  • 原文地址:https://www.cnblogs.com/deny/p/10000073.html
Copyright © 2011-2022 走看看