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. Head First设计模式——模板方法模式

    前言:本篇我们讲解模板方法模式,我们以咖啡和茶的冲泡来学习模板方法.关于咖啡另一个设计模式例子也以咖啡来讲解,可以看下:Head First设计模式——装饰者模式 废话不多说,开始进入模板方法模式. ...

  2. Log4net 使用汇总(网络收集整理)

    原帖1:http://blog.csdn.net/wanzhuan2010/article/details/7587780 原帖2:http://grim1980.blog.sohu.com/2555 ...

  3. WebGPU学习(一): 开篇

    介绍 大家好,本系列从0开始学习WebGPU API,并给出相关的demo. WebGPU介绍 WebGPU相当于DX12/Vulkan,能让程序员更灵活地操作GPU,从而大幅提升性能. 为什么要学习 ...

  4. Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享

    Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...

  5. 【Android - 控件】之MD - FloatingActionButton的使用

    FloatingActionButton(FAB) 是 Android 5.0 新特性——Material Design 中的一个控件,是一种悬浮的按钮. FloatingActionButton 是 ...

  6. Kafka use zkCli.sh to check topic offset on linux

    > ./zkCli.sh -server zk1host:port,zk2host:port,zk3host:port >help ZooKeeper -server host:port ...

  7. Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载

    本文摘录于Chrome插件网站 方法一:拖放安装 下载插件的crx文件后,打开Chrome的扩展页面(chrome://extensions/或按Chrome菜单图标>更多工具>扩展程序) ...

  8. 文件上传之靶场upload-labs (1-10)

    第一关 sj 绕过 源码如下: lasIndexOf是返回函数最后一次出现的地方(从右到左) substring是用来截取函数的 indexOf是返回 表示从.出现的地方开始截取并判断是否在允许的字符 ...

  9. shell 文本单词计数

    words.txt中的内容如下: the day is sunny the the the sunny is is 统计每个单词出现的次数,并降序输出. Unix Pipes脚本如下: cat wor ...

  10. 洛谷 题解 SP3267 【DQUERY - D-query】

    今天机房讲了莫队. 但是蒟蒻我并没有听懂,所以晚上回家恶补,才弄明白莫队. 莫队是莫涛大神发明的,它的作用就是用优秀的复杂度求解于一些区间之间的操作,莫队其实就是一个优雅的暴力,它的复杂度是O(n s ...