摘要
本文将介绍如何在 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