globbing:文件名通配

  • 元字符:

    • *:匹配任意长度的任意字符

    • ?:匹配任意单个字符

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

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

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

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

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

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

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

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

        $ touch "p,;a"
        $ ls p[[:punct:]][[:punct:]]a
        p,;a
    • [^]:匹配指定范围外的任意单个字符

      • [[1]]:匹配非大写字母的任意字符。
      • [^0-9]:匹配非数字的的任意字符。
      • [[2]]:匹配非字母和数字的任意字符。
    • {}:表示符合括号内包含的多个文件

      # 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/lib
drwxr-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

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854


  1. :upper: ↩︎

  2. :alnum: ↩︎

linux globbing文件名通配的更多相关文章

  1. Perl文件名通配和文件查找

    在shell中使用*来对文件名进行通配扩展,在Perl中也同样支持文件名通配.而且perl中的glob通配方式和shell的通配方式完全一致,实际上perl的glob函数就是直接调用csh来通配的(如 ...

  2. linux学习14 Linux运维高级系统应用-glob通配及IO重定向

    一.回顾 1.bash基础特性:命令补全,路径补全,命令引用 2.文件或目录的复制,移动及删除操作 3.变量:变量类型 存储格式,数据表示范围,参与运算 二.bash的基础特性 1.globbing: ...

  3. floodlight StaticFlowPusher 基于网段写flow,通配

    flow1 = { "switch":"00:00:00:00:00:00:00:03", "name":"flow-mod-1& ...

  4. rsyslog 一重启就会开始同步之前所有通配的日志文件

    <pre name="code" class="html">[root@dr-mysql01 zjzc_log]# grep '24/Sep/201 ...

  5. windows与虚拟机linux能ping通设置

    作为以后参考所用. 首先,介绍如何在VMWare中设置linux的网络.一般网络选项有Bridged,NAT,host-only几种,本次以host-only作详细说明,如下图: 在选择host-on ...

  6. node_acl 路径通配

    最近做一个基于nodejs的权限管理,查阅了一两天,发现大致是这样的: passportjs node-oauth rbac node_acl express_acl connect-roles 需求 ...

  7. Linux系统文件名字体不同的颜色都代表什么

    Linux系统文件名字体不同的颜色都代表什么   在Linux中,文件的颜色都是有含义的.   其中, Linux中文件名颜色不同,代表文件类型不一样.   如下所示: www.2cto.com   ...

  8. IIS 使用多个https和通配证书解决方案

    环境:OS :WINDOWS 2008 IIS: IIS7 域名:三个二级域名 问题:由于一个网站只支持一个443,但可以通过更改配置得到绑定不同域名.但由于公用证书,所以问题出来.只能为一个二级域名 ...

  9. Let's Encrypt 免费通配 https 签名证书 安装方法2 ,安卓签名无法认证!

    Let's Encrypt 免费通配 https 签名证书 安装方法 按照上文 配置完毕后你会发现 在pc浏览器中正常访问,在手机浏览器中无法认证 你只需要安装一个或多个中级证书 1.查看Nginx ...

随机推荐

  1. 这事没完,继续聊spring cloud stream和kafka的这些小事

    上一篇文章讲了如何用spring cloud stream集成kafka,并且跑起来一个demo,如果这一次宣传spring cloud stream的文章,其实到这里就可以啦.但实际上,工程永远不是 ...

  2. 程序员的进阶课-架构师之路(9)-平衡二叉树(AVL树)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...

  3. P2669 金币

    题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天(第七.八.九.十天),每 ...

  4. 【Android - 进阶】之Dialog分类及使用

    1.确定取消对话框 代码: // 使用AlertDialog.Builder初始化对话框 AlertDialog.Builder builder0 = new AlertDialog.Builder( ...

  5. 小白的springboot之路(五)、集成druid

    0-前言 Druid阿里巴巴开源的一个java数据库连接池,是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能:集成它能够方便我们对数据库连接进行监控和分析,下面我们来集成它: ...

  6. svn+apache搭建版本控制服务器

    Centos7(linux)搭建版本控制服务器(svn+apache) 1.简介: 版本控制服务器: 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...

  7. 拿 C# 搞函数式编程 - 2

    前一阵子在写 CPU,导致一直没有什么时间去做其他的事情,现在好不容易做完闲下来了,我又可以水文章了哈哈哈哈哈.顺便成立了自己的专栏:hez2010 的编程日常,欢迎大家关注(逃 有关 FP 的类型部 ...

  8. Magicodes.Sms短信库的封装和集成

    简介 Magicodes.Sms是心莱团队封装的短信服务库,已提供Abp模块的封装. Nuget 新的包 名称 说明 Nuget Magicodes.Sms.Aliyun 阿里云短信库 Magicod ...

  9. shell脚本持续更改

    1.用shell查看磁盘是否大于80%并发送邮箱告警. 分析如何查看磁盘占用: # df -h | grep /dev/vda1 | awk '{print $5}' |cut -d "%& ...

  10. golang数据结构之总结

    golang语言的一些数据结构实现,包括: 队列(单队列.循环队列) 链表(单链表.双链表.循环链表(解决约瑟夫环问题)) 栈(实现加减乘除计算) 递归之迷宫问题 哈希表(员工管理系统) 树(三种遍历 ...