1. *
通配任意长度的任意字符
例:
file1.c file3.c file5.c fileaaaaaaaaa.c fileb.c filed.c
file2.c file4.c file6.c filea.c filec.c
ls * ==>
file1.c file3.c file5.c fileaaaaaaaaa.c fileb.c filed.c
file2.c file4.c file6.c filea.c filec.c
2. ?
只通配一个字符
例:
file1.c file3.c file5.c fileaaaaaaaaa.c fileb.c filed.c
file2.c file4.c file6.c filea.c filec.c
ls file?.c ==>
file1.c file2.c file3.c file4.c file5.c file6.c filea.c
fileb.c filec.c filed.c
ls file?????????.c ==>
fileaaaaaaaaa.c
3. [abc]
通配[]中的一个字符 a 或 b 或 c
例:
file1.c file3.c file5.c fileaaaaaaaaa.c fileb.c filed.c
file2.c file4.c file6.c filea.c filec.c
ls file[abc].c ==>
filea.c fileb.c filec.c
4. [1-5]
通配 1-5 中任意一个字符
例:
file1.c file3.c file5.c fileaaaaaaaaa.c fileb.c filed.c
file2.c file4.c file6.c filea.c filec.c
ls file[1-5].c ==>
file1.c file2.c file3.c file4.c file5.c
[a-c]
通配 a-c 中任意一个字符
例:
file1.c file3.c file5.c fileaaaaaaaaa.c fileA.c fileB.c fileC.c
file2.c file4.c file6.c filea.c fileb.c filec.c filed.c
ls file[a-c].c ==>
filea.c fileA.c fileb.c fileB.c filec.c
注意:
这样使用时,结果和本地语序有关 aAbBcCdD
可以修改环境变量来取消本地语序
export LC_ALL=C
取消后的本地语序为
abcdef...z ABC..Z
ls file[a-c].c ==>
filea.c fileb.c filec.c
5. [^abc]
通配除了a b c 之外的任意一个字符 ----反选
例:
file1.c file3.c file5.c fileA.c fileC.c fileaaaaaaaaa.c filec.c
file2.c file4.c file6.c fileB.c filea.c fileb.c filed.c
ls file[^abc].c ==>
file1.c file2.c file3.c file4.c file5.c file6.c
fileA.c fileB.c fileC.c filed.c
注意:fileaaaaaaaaa.c不会显示,因为[]只通配一个字符
6. [^a-c]
和上面同理,结果一样