摘要
本文将介绍如何在 Linux 中使用通配符。通配符是 Linux Shell 提供的一个非常实用的功能,掌握通配符能在你在系统管理中实现事半功倍的效果。
用法*:代表任意长度的字符串(包括 0 长度)?:代表任意单个字符[]:-
[c1-c2]表示匹配 c1 到 c2 序列中任意一个单一字符。但前提是 c1-c2 是一个有序的字符序列,例如[0-9],[a-z]这些都是合法的
-
[c1,c2,...,cn]表示匹配括号之间字符列表中任意单一字符。(字符列表用逗号分隔,不能有空格)
{}:{str1,str2,...,strN}表示匹配str1,str2,...,strN这 N 个字符串中的某一个字符串,其效果完全等同于[c1,c2,...,cn]。(字符列表用逗号分隔,不能有空格)!:往往和[]或{}连用,表示将其内容取反。如[!0-9]表示匹配不是 0-9 之间的字符。
- 示例 1:删除当前工作目录下所有以
.txt结尾的文件
$ ls
1.txt 2.txt c.txt result
$ rm *.txt
$ ls
result
- 示例 2:删除当前工作目录下所有以 0-9 中的任意数字打头并以
.txt结尾的文件
$ ls
1.txt 2.txt c.txt result
$ rm [0-9].txt
$ ls
c.txt result
- 示例 3:删除当前工作目录下所有以非 0-9 中的字符打头并以
.txt结尾的文件
$ ls
1.txt 2.txt c.txt result
$ rm [!0-9].txt
$ ls
1.txt 2.txt result
参考
中国大学 MOOC | Linux系统管理 | 主题03 | 小节 4 | 通配符
