一、简介

一般生产环境的服务器默认都是不安装图形化界面的,习惯了在命令行环境下工作是,大家会发现:命令行操作效率比图形化界面效率高很多。由命令行环境中,我们不能直观地看到一些文件或目录的名称及其他一些信息,这时候通配符就派上用场啦!当不知道真正字符或懒得输入完整文件或目录名称时,使用通配符代替一个或多个真正的字符就十分方便啦!让我们来看一下吧!

符号 意义
* 代表0 个到无穷多个任意字符
? 代表一定有一任意字符
[] 同样代表一定有一个在括号内的字符(非任意字符)。例如 abcd 代表一定有一个字符,可能是 a, b, c, d 这四个任何一个
[-]​ 若有减号在中括号内时,代表在编码顺序内的所有字符。例如 0-9 代表0到9 之间的所有数字,因为数字是连续的!
^ 若中括号内的第一个字符为指数符号(^),那表示取反,例如^abc表示除了a,b,c之外一定有一个字符
{str1,str2,…} 匹配sr1或str2(或更多)其一字符串
二、使用示例
  1. 星号(*)
[wildcard@GeekDevOps ~]$ ll
总用量 0
-rw-r--r-- 1 root root 0 2月   4 20:55 abc.txt
-rw-r--r-- 1 root root 0 2月   4 20:55 ab.txt
-rw-r--r-- 1 root root 0 2月   4 20:55 acd.txt
[wildcard@GeekDevOps ~]$ sudo chown wildcard:wildcard *
[wildcard@GeekDevOps ~]$ ll
总用量 0
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 abc.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 ab.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 acd.txt

通过通配符*,我们把当前目录下的所有文件的所有者全部改成了wildcard。
2. 问号(?)

[wildcard@GeekDevOps ~]$ ll a????
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 a.txt
[wildcard@GeekDevOps ~]$ ll ?????
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 a.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 b.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 c.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 d.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 e.txt

一个问号代表一个字符。在以上例子中,第一次列出了以a开头文件名一共5个字符的文件。第二次则列出了文件名一共5个字符的所有文件。
3. 中括号([])

[wildcard@GeekDevOps ~]$ ll [a]*.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 abc.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 ab.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 acd.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 ac.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 a.txt
[wildcard@GeekDevOps ~]$ ll [a][b].txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 ab.txt

在以上例子中,第一次列出了以a开头的所有文件,这里搭配了*使用。第二次列出了以ab开头的文件。
4. 中括号中有减号([-])

[wildcard@GeekDevOps ~]$ ll [a-z].txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 a.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 b.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 c.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 d.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 e.txt

事实上,这是以上第三条的拓展,指定了中括号内的字符取值范围。
5. 取反(^)

[wildcard@GeekDevOps ~]$ ll [^a]*
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 b.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 c.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 d.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 e.txt

以上例子中列出了文件名第一个字符不以a开头的所有文件。
6. 花括号({})

[wildcard@GeekDevOps ~]$ ll {"ab","e"}*
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 abc.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 ab.txt
-rw-r--r-- 1 wildcard wildcard 0 2月   4 20:55 e.txt

以上例子中,列举了以字符串“ab”或“e”开头的文件。
很多命令都可以使用通配符,比较常见的有ls,dir,vdir,cp,mv,scp,rm,rmdir等。

Linux通配符的使用详解相关推荐

  1. linux通配符 ,Linux通配符知识入门详解

    注意:通配符和正则表达式是不一样的,因此代表的意义也是有较大区别的. 通配符一般用户命令行bash环境,而Linux正则表达式用于grep,sed,awk场景. * -- 通配符,代表任意(0到多个) ...

  2. linux的ftp命令大全文库,linux下ftp命令详解

    linux下ftp命令详解 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 登录FTP服务器的命令格式:ftp [-v][-d][- ...

  3. linux命令行使用ppt,linux命令行系统详解.ppt

    linux命令行系统详解.ppt (161页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 第2章 命令与示例 1为什么要学习命令?命令对于 ...

  4. Linux LVM 的使用详解

    Linux LVM 的使用详解 2011-12-20 14:41 摘要: Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.而 ...

  5. linux动态库注册函数,Linux动态库函数的详解

    linux动态库函数的详解 加载动态库 void *dlopen(const char *filename, int flag); flag的可能值: rtld_lazy rtld_now rtld_ ...

  6. linux网络命名空间详解,Linux Network Namespace (netns) 详解

    Linux Network Namespace (netns) 详解 Network Namespace (以下简称netns)是Linux内核提供的一项实现网络隔离的功能,它能隔离多个不同的网络空间 ...

  7. uboot linux内核传递参数,Uboot与Linux之间的参数传递详解

    原标题:Uboot与Linux之间的参数传递详解 U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等.而Linux kernel也会读取和处理这些参数.两者之间通 ...

  8. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  9. linux ln(link) 命令详解

    linux ln(link) 命令详解 功能说明:连接文件或目录. 语 法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--v ...

最新文章

  1. linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....
  2. 【AI专利】中国成为全球AI专利第二大提交国,微软AI专利数比你论文字数都多...
  3. UI设计灵感|移动应用的数据表盘都是怎么设计的?
  4. Hbuilder启动夜神游模拟器失败,解决方案
  5. Fullpage:基础学习
  6. [原创]CI持续集成系统环境---部署Jenkins完整记录
  7. php学生宿舍管理系统免费,PHP学生宿舍管理系统
  8. 您在申诉时填写的收件人信息与运单号关联的收件人信息不一致,请确认
  9. 3dm java32位_3DM游戏运行库合集安装包v2.3
  10. 神经网络求解NS方程
  11. 华为、H3C、锐捷、思科四大厂商交换机配置命令,网工人不得不知
  12. 怎么使用计算机操作鼠标,新手学电脑如何使用鼠标
  13. 数学符号大全(量词符号、代数符号等)
  14. 数据结构——克鲁斯卡尔(Kruskal)算法
  15. java中逗号运算符的含义_逗号运算符什么时候有用?
  16. 10.[STM32]ADC中断方式-采集MQ-3酒精传感器检测的酒精浓度
  17. linux内核编译详解
  18. initramfs进不了系统
  19. Jenkins集成GitLab自动化部署
  20. 编程软件推荐--wizard

热门文章

  1. window下使用qemu加速使用ubuntu最新版
  2. python四种方式打印九九乘法表
  3. IDEA插件开发.01之简单入门
  4. Texmaker中PDF查看器的设置经验
  5. 解决Vue打包部署到Nginx时,css样式不生效问题
  6. (JVM)双亲委派机制 破坏双亲委派机制
  7. matlab三维数组与二维矩阵相乘问题
  8. [Matlab科学计算] Matlab打开Labview保存的TDMS文件
  9. Linux内核编译、启动和相关驱动构建
  10. python摄像头识别条形码、二维码并打印信息