在Linux中,用作于匹配文件名,用shell进行解析,比如find命令,ls命令,cd命令等

常用的通配符

  • *: 匹配任意多个字符
  • image.png
  • /?:可以匹配任意单个字符
  • image.png
  • [list]:匹配的是列表中任意单个字符
  • image.png
  • [c1-c2]:匹配的是c1-c2中任意单个字符
  • image.png
  • [c1-c2]或者[!c1-c2]:不匹配范围中任意单个字符
  • image.png
  • {string1, string2, string3…….}:匹配{}中任意单个字符串
  • image.png

    shell的元字符

  • 重定向:>或者<

  • 管道符:|
  • 赋值语句:=
  • 获取变量值:$变量名
  • 转义符:\
  • 注释符:#
  • 后台执行命令:&
  • 在子shell中执行命令或运算:()或者一对反引号
  • 函数中执行变量替换的定界范围:{}
  • 命令结束后,忽略其返回结果,继续执行下一个命令:分号
  • 同时执行多条命令:&&,前一条命令执行结果为True
  • 同时执行多条命令:||,前一条命令执行结果为false
  • 非:!

    转义符

  • 硬转义:一对单引号,关闭比所有元字符

  • 软转义:一对双引号
  • image.png

    find命令()

    Linux中实施查找工具,通过遍历指定路径下的文件系统,完成文件查找

  1. find [选项] [路径] [查找条件] [处理动作]
  • 路径:直接写路径,尽可能精确范围小,提高查找效率
  • 查找条件:
    • 根据文件名查找,-name “filename”, -iname忽略大小写
    • -regex,”路径/文件名”, 匹配整个文件路径字符串
    • 根据属主查找,-user “username”,-uid user_id”查找属主文件,
    • 根据属组查找,-group “groupname”,-gid “groupid”查找属组文件
    • 查找没有属主的文件,-nouser
    • 查找没有属组的文件,-nogroup
    • 通过文件类型查找,-type TYPE
    • 组合条件:建议使用小阔号()将组合条件进行包含,括号后面记得加空格,括号前需要转义
      • 与:-a
      • 或:-o
      • 非:-not
    • 根据文件大小查找:-size,[+|-]N[bcwKMG], 加减号表示大于小于,后面的表示文件大小的单位
    • 根据时间戳,天:-atime,最后被访问时间,-mtime,最后修文件内容时间,-ctime,最后修改文件属性时间
    • 很具时间戳,分:-amin,-mmin,-cmin
    • 根据权限查找:-perm [+|-] MODE,精确匹配,/MODE,任何一类(u,g,o)对象匹配即可,-MODE,如-644或-u=rw,g=r_,o=r, 每一类对象都要拥有指定的权限。+已经被/替代。
  • 处理动作:
    • -print:默认的处理动作,显示至屏幕
    • -ls:类似对文件执行ll命令
    • -delete:删除查找到的文件
    • -fls path/to/somefile:将查找到的文件的长格式信息保存至指定文件
    • -ok command {}\; :对查找到的文件执行command命令,每次执行都会提示,大括号代表查找到的文件本身
    • -exec command {}\; :对查找到的文件执行command命令
    • find /path/to/somefile -ctime +7 | xargs rm -rf {}; :每查找到一个文件就将文件传输到后面的命令执行