我们先创建一个实验的目录环境,便于删除:
[root@web ~]# mkdir test;cd test
[root@web test]#
在此目录下创建一些实验所需的文件:
[root@web test]# touch {a,b,c};touch {a,b,c}{a,b,c}{a,b,c}
[root@web test]#
可以看出我们的实验文件有:
[root@web test]# ls
a aab aba abc acb b bab bba bbc bcb c cab cba cbc ccb
aaa aac abb aca acc baa bac bbb bca bcc caa cac cbb cca ccc
[root@web test]#
只显示a,b文件:
[root@web test]# ls [ab]
a b
[root@web test]#
显示非a,b的单个字母的文件:
[root@web test]# ls [^ab]
c
[root@web test]#
显示以字母a或者b开头的文件:
[root@web test]# ls [ab]*
a aaa aab aac aba abb abc aca acb acc b baa bab bac bba bbb bbc bca bcb bcc
[root@web test]#
显示非字母a且非字母b开头的文件:
[root@web test]# ls [^ab]*
c caa cab cac cba cbb cbc cca ccb ccc
[root@web test]#
显示含有字母a或者字母b的文件:
[root@web test]# ls *[ab]*
a aab aba abc acb b bab bba bbc bcb caa cac cbb cca
aaa aac abb aca acc baa bac bbb bca bcc cab cba cbc ccb
[root@web test]#
下面这句我就不知道怎么描述了,也许可以描述显示文件名里含有“a,b以外”的字母的文件:
[root@web test]# ls *[^ab]*
aac abc aca acb acc bac bbc bca bcb bcc c caa cab cac cba cbb cbc cca ccb ccc
[root@web test]#
[root@web test]# touch a.a
[root@web test]# ls *[^ab]*
a.a aac abc aca acb acc bac bbc bca bcb bcc c caa cab cac cba cbb cbc cca ccb ccc
[root@web test]#
好吧,我们来个显示含有字母a的文件,再来个显示含有“a以外”的文件:
[root@web test]# ls *a*
a a.a aaa aab aac aba abb abc aca acb acc baa bab bac bba bca caa cab cac cba cca
[root@web test]# ls *[^a]*
a.a aac abb aca acc baa bac bbb bca bcc caa cac cbb cca ccc
aab aba abc acb b bab bba bbc bcb c cab cba cbc ccb
[root@web test]#
思考下,怎么显示不含有a字母的文件(我也是醉了):
[root@web test]# ls [^a]*[^a]*[^a]
bbb bbc bcb bcc cbb cbc ccb ccc
b,c文件却没有显示,貌似不好实现