打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
linux globbing文件名通配

globbing:文件名通配

  • 元字符:

    • [[1]]:匹配非大写字母的任意字符。

    • [^0-9]:匹配非数字的的任意字符。

    • [[2]]:匹配非字母和数字的任意字符。

    • [a-z]或者[A-Z]或者[[:alpha:]]:匹配任意一个字母

    • [[:upper:]]:匹配任意一个大写字母

    • [[:lower:]]:匹配任意一个大写字母

    • [0-9]或者[[:digit:]]:匹配任意一个数字

    • [a-z0-9]或者[[:alnum:]]:匹配任意一个字母和数字

    • [[:space:]]:匹配一个空格

    • [[:punct:]]:匹配任意一个表达符号

      $ touch "p,;a"$ ls p[[:punct:]][[:punct:]]ap,;a
    • *:匹配任意长度的任意字符

    • ?:匹配任意单个字符

    • []:匹配指定范围内的任意单个字符

    • [^]:匹配指定范围外的任意单个字符

    • {}:表示符合括号内包含的多个文件

      # ll {*.log,*.txt}

      删除以me开头,以.tar,.bz2,.xz结尾的文件:

      # rm -rf ./me*.{tar,bz2,xz}

如果想touch一个文件名里有空格的文件,怎么办?

使用\。下面例子创建的文件名【a d】,a和d中间有2个空格。

或者使用“”,把文件名括起来。

$ touch a\ \ d$ touch "a  d"

练习1:显示/var目录下,所有以l开头,以一个小写字母结尾,且中间出现1位任意字符的文件或目录

# ls -ld /var/[l]?[[:lower:]]drwxr-xr-x. 66 root root 4096 Dec  9 14:20 /var/libdrwxr-xr-x. 21 root root 4096 Dec 15 18:26 /var/log

练习2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录。

# ls -d /etc/[[:digit:]]*[^0-9]/etc/4afdsf@

练习3:显示/etc目录下,以非字母开头,后面跟一个字母及其他任意长度任意字符的文件或目录

# ls -d /etc/[^[:alpha:]][[:alpha:]]*/etc/4afdsf

练习4:复制/etc目录下,所有以m开头,以非数字结尾的文件或目录,到/tmp/tp1目录。

# cp -r /etc/m*[^0-9] /tmp/tp1

练习5:复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录, 到/tmp/man目录下。

# cp -r /usr/share/man/man[0-9] /tmp/man

练习6:复制/etc目录下,所有以.conf结尾,其以m,n,r,p开头的文件或目录,到/tmp/conf.d目录下。

# cp -r /etc/[mnrp]*.conf /tmp/conf.d
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
find与grep
Linux中文件查找技术大全
find exec xargs 查找技巧
linux grep正则表达式与grep用法详解
Linux之自定义ISO镜像文件制作
Linux 系统常见的压缩指令
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服