因为 shell 频繁地使用文件名,所以shell有一个使命令行强大的特性, shell 提供了特殊字符来帮助我们快速指定一组文件名。这些特殊字符叫做通配
符。使用通配符(也以文件名代换著称)允许我们依据字符类型来选择文件名。下表列出这些通配符以及它们所选择的对象:

通配符 
通配符 意义
匹配任意多个字符(包括零个或一个)
匹配任意一个字符(不包括零个)
[characters]  匹配任意一个属于字符集中的字符
[!characters]  匹配任意一个不是字符集中的字符
[[:class:]]  匹配任意一个属于指定字符类中的字符
常用字符类
字符类 意义
[:alnum:]  匹配任意一个字母或数字
[:alpha:]  匹配任意一个字母
[:digit:]  匹配任意一个数字
[:lower:]  匹配任意一个小写字母
[:upper]  匹配任意一个大写字母
类型匹配范例
模式 匹配对象
* 所有对象
g*  文件名以“ g”开头的文件
b*.txt 以”b” 开头,中间有零个或任意多个字符,并以”.txt” 结尾的文件
Data??? 以“ Data”开头,其后紧接着 3 个字符的文件
[abc]* 文件名以”a”,”b”, 或”c” 开头的文件
BACKUP.[0-9][0-9][0-9] 以”BACKUP.” 开头,并紧接着 3 个数字的文件
[[:upper:]]*  以大写字母开头的文件
[![:digit:]]*  不以数字开头的文件
*[[:lower:]123]  文件名以小写字母结尾,或以“ 1”,“ 2”,或“ 3”结尾的文

接受文件名作为参数的任何命令,都可以使用通配符。
字符范围
如果我们用过别的类 Unix 系统的操作环境,或者是读过这方面的书籍,你可能遇到过 [A-Z] 或 [a-z] 形式的字符范围表示法。这些都是传统的 Unix 表示法,并且在早期的 Linux 版本中仍有效。虽然它们仍然起作用,但是你必须小心地使用它们,因为它们不会产生你期望的输出结果,除非你合理地配置它们。从现在开始,你应该避免使用它们,并且用字符类来代替它们。

通配符在 GUI 中也有效
通配符非常重要,不仅因为它们经常用在命令行中,而且一些图形文件管理器也支持它们。
• 在 Nautilus (GNOME 文件管理器)中,可以通过 Edit/Select 模式菜单项来
选择文件。输入一个用通配符表示的文件选择模式后,那么当前所浏览的目录
中,所匹配的文件名就会高亮显示。
• 在 Dolphin 和 Konqueror( KDE 文件管理器)中,可以在地址栏中直接输入
通配符。例如,如果你想查看目录/usr/bin 中,所有以小写字母 ‘u’ 开头的文
件,在地址栏中敲入 ‘/usr/bin/u*‘,则文件管理器会显示匹配的结果。
最初源于命令行界面中的想法,在图形界面中也适用。这就是使 Linux 桌面系统如此强大的众多原因中的一个

Linux——通配符的更多相关文章

  1. Linux 通配符

    概述 本章节主要介绍关于linux通配符的用法,熟练运用通配符可以提高工作效率并且可以简化一些繁琐的处理步骤. 正文 测试数据 touch a a6.log abc.log ac.txt b c c5 ...

  2. linux通配符含义

    linux通配符含义: .    当前目录**** ..   当前目录的上一级目录**** *    通配符,代表任意0个或多个字符***** ?   通配符,代表重复0个或一个0前面的字符 :    ...

  3. linux通配符,grep和 egrep区别

    其实主要是正则表达式中的一些特殊语法.在网上找的几篇文章,截取相关部分贴在了下面,方便以后翻阅. 参考:http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e ...

  4. Linux通配符与特殊符号知识大全汇总

    符号 作用 Linux通配符 * 匹配任意(0个或多个)字符或字符串,包括空字符串 ? 匹配任意1个字符,有且只有一个字符 [abcd] 匹配abcd中任何一个字符,abcd也可是其他任意不连续字符 ...

  5. linux通配符知识

    注意:linux通配符和三剑客(grep,awk,sed)正则表达式是不一样的,因此,代表的意义也是有较大区别的. 通配符一般用户命令行bash环境,而linux正则表达式用于grep,sed,awk ...

  6. Linux通配符知识深度实践详解

    注意:linux通配符和三剑客(grep.awk.sed)正则表达式是不一样的,因此,代表的意义也有较大的区别. 通配符一般用户命令行bash环境,而Linux正则表达式用于grep.sed.awk场 ...

  7. linux 通配符与正则表达式

    linux通配符和三剑客(grep.awk.sed)正则表达式是不一样的 通配符一般用户命令行bash环境,而linux正则表达式用于awk.grep.sed

  8. Linux通配符摘要

    参考<鸟哥linux私房菜> * - 通配符,代表随机字符(0对于许多) ? - 通配符,它代表一个字符 # - 凝视 / - 跳转符号,将特殊字符或通配符还原成一般符号 | - 分隔两个 ...

  9. Linux通配符与基础正则表达式、扩展正则表达式

    在Linux命令行操作或者SHELL编程中总是容易混淆一些特殊字符的使用,比如元字符‘*’号,作为通配符匹配文件名时表示0个到无穷多个任意字符.而作为正则表达式匹配字符串时,表示重复0个到无穷多个的前 ...

  10. 05、Linux通配符、转义字符、环境变量

    问题:作为Linux运维人员,我们有时候也会遇到明明一个文件的名称就在嘴边但就是想不起来的情况.如果就记得一个文件的开头几个字母,想遍历查找出所有以这个关键词开头的文件,该怎么操作呢? 范例:单个查看 ...

随机推荐

  1. 树莓派上编译安装python3.6

    1.更新树莓派系统 sudo apt-get update sudo apt-get upgrade -y 2.安装python依赖环境 sudo apt-get install build-esse ...

  2. Flutter 初探 -

    flutter 安装 经过许久的关注,及最近google算是真正地推行flutter时,加上掘金小册也有相应的教程,我知道自己得跟着这一波潮流学习了,不然迟早会面临着小程序的危(大家都会了就你不会), ...

  3. tcp 建立连接三次握手

    众所周知,tcp是安全的,可靠的,但是为什么呢.要理解这一点,首先先了解tcp的建立连接的原理. 三次握手 第一次握手:由客户端向服务器发送请求,SYN 表示请求连接,seq是序列号(随机选取). 第 ...

  4. JavaScript、ES6中的类和对象

           面向对象可以用于描述现实世界的事物,但是事物分为具体的(特指的)事物和抽象的(泛指的)事物. 面向对象思维的特点: 1.抽取(抽象)对象共有的属性和行为组织(封装)成一个类(模板) 2. ...

  5. 域名Whois数据和隐私是最大风险

    在互联网安全大会上,东方联盟掌门人,东方联盟郭盛华呼吁RIR机构应为全球协调分配地址上作出改进,实现whois数据准确性的前进方向.他还说,域名whois隐私信息应默认对外关闭,同时最近APNIC合作 ...

  6. django之创建子应用

    一:子应用 Django的视图编写是放在子应用中的.类似于flask中的视图. 二:创建子应用 例如:在刚才的dj_study项目中,创建一个名字为user的子应用(目录):注意是第一级的dj_stu ...

  7. python tkinter坐标转换

    tkinter中坐标原点在左上角,横坐标向右,纵坐标向下,画图需要将坐标转换成右下角的某个点来符合我们的常用坐标 坐标原点设为(x0,y0),横坐标向右,纵坐标向上,: 转换:想实现坐标点(x,y)的 ...

  8. springboot 集成rabbitMQ

    package com.jd.ng.shiro.config.rabbitMQconfig; import com.jd.ng.shiro.rabbitMqListener.SimpleMessage ...

  9. LeetCode--058--最后一个单词(java)

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: &quo ...

  10. 历时小半年总结之JAVA

    一.JavaSE 1.多线程 (1).进程与线程的区别? 答:进程是所有线程的集合,每一个线程是进程中的一条执行路径,线程只是一条执行路径. (2).为什么要用多线程? 答:提高程序效率 (3).多线 ...