zoukankan      html  css  js  c++  java
  • find命令总结

    find  用来在指定目录下查找文件、目录。默认在当前目录下查找子目录与文件,并打印找到的子目录和文件,不设置任何参数时,find 将显示当前目录中所有子目录与文件(包含隐藏文件)。

    相对于 locate 命令,find命令进行实时查询,查找速度较慢

    语法:  find   path   -option    [ -print ]     [ -exec -ok command ]  {}  ; 

    path    查找的路径,查找多个目录时,目录用空格分开,默认在当前目录中查找。

    ipath   同path,但忽略字符大小写,不常用;

    print    将匹配的文件输出到标准输出,默认项。

    exec   对匹配的文件、目录,执行该参数所给出的命令,注意 { } 和 ;之间的空格,{}中的内容并非一次引用所有的搜索出的内容,而是一行一行引用,接tar 命令时,每一个查找到的文件都有一个tar包。

        例:find   -name   “a.conf”   -exec   cp   {}    {}.ori   ;    #将文件 a.conf 备份为 a.conf.ori  

    ok    和-exec作用相同,但在执行每一条命令之前,会给用户提示是否执行该命令。 

    -name  查找的文件名,常配合通配符使用

    -iname  查找的文件名,不区分大小写

    -perm  文件权限

         -perm    664      权限完整匹配,查找权限为644的文件或目录,

         -perm  /u+w,g+w    权限部分匹配,用户,用户组有写权限,g+w与g=w作用相同

    -type   文件类型,f 为普通文件,d 为目录文件,l  为链接文件,b为块设备文件,c为字符设备文件,p为/管道文件,s 为socket文件 

    -size   文件大小

         -size +2M   大于2M的文件 

         -size -2M  小于2M的文件

        -size 2M       大小为2M的文件

    -mmin  文件修改时间(单位分钟)  

    -mtime  文件修改日期(单位填)

           -mtime + 2       2天以前修改的文件

           -mtime - 2        2天以内修改的文件 

           -mtime  2    前第2天修改的文件

    -ctime  文件属性更改日期(单位天)  File's status was  changed

    -cmin  文件属性更改时间(单位分钟)

    -atime  最近一次访问日期(单位填)

    -amin  最近一次访问时间(单位分钟) 

    -anewer  文件最近一次的访问时间早于最近一次的修改时间(File was last accessed more recently than file was modified. );

    -cnewer  文件属性的改动时间早于文件的修改时间( File's status was last changed more recently than file was modified. )

    -newer   某一文件的修改时间早于另一个文件(File  was modified more recently than file. ); 

    -user    查找属主为指定用户(UID)的文件 、

    -group    查找属组为指定组(GID)的文件

    -uid       查找属主为指定的UID号的文件

    -gid       查找属组为指定的GID号的文件

    -nouser    查找没有属主的文件

    -nogroup    查找没有属组的文件 

    -maxdepth     设置最大目录层级;

    -mindepth    设置最小目录层级;

      

    find      -mtime    -1    -type   f             #查找当前目录下一天内修改的,文件类型为文件

    find     -name    "[A-Z]*"   -type    d            #当前目录中,查找以大写字母开头的目录

    find     /etc   -name   "passwd*"   -type  f    -exec grep   "test"   {}   ;             #查看是否存在 test 用户,在/etc目录中查找passwd开头的文件,并在文件中筛选test

    find   -name   "[a-z][a-z][0–9][0–9].txt"              #查以两个小写字母和两个数字开头的txt文件

    find /var/log -type f -mtime +7 -ok rm {}  ;        #查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们

    find    /home    -name   "*.t?t"              # *表示通配任意个字符  ?表示通配单个字符

    find   /home  -name  "*.t?t"  |wc -l            #统计查找到的文件或目录数量

    find   -name   "*.gz" -exec rm  {}  ;           #删除查找到的.gz文件,删除前不提示

    find   -name   "*.gz" -ok  rm  {}  ;           ##删除查找到的.gz文件,删除前会提示

    组合条件:与:-a  ,  或:-o ,  非: -not  、  !     默认参数见为“与”,或、非需指定

    find -name "data*" ! -type f        #查找名字以data开头,文件类型不为文件

    find -name "[A-D]*" -o -type d    #查找名字以A-D的大写字母开头,或文件类型为目录

    君子务本,本立而道生
  • 相关阅读:
    数据库练习题
    支付类项目
    crm项目整理
    React 生成二维码
    Charles抓页面配置mac端
    Python之列表生成式、生成器、可迭代对象与迭代器
    01 Django基础
    12 jQuery的ajax
    11 事件委托(事件代理)
    10 jQuery的事件绑定和解绑
  • 原文地址:https://www.cnblogs.com/00huajiang/p/11027213.html
Copyright © 2011-2022 走看看