之前一直做java方向的开发、设计、架构等工作。从今年开始转向云计算,重点在 IaaS 和 PaaS。无论是最热门的 IaaS 平台 OpenStack 还是 PaaS 平台 Docker,均是运行在linux操作系统上面。所以,不学好linux,就无法真正深入掌握云计算核心技术。因此,我就从linux基础学起,并把学习过程的总结发表出来,一是督促自己不断去学习,二是也和刚学习linux及云计算的朋友分享学习的成果或者经验教训,一起尽快掌握相关技术,提升自己的实力。
第01总结——如何写通配符
在linux中,是通过通配符来实现一种符号可代表多个操作对象的目的,linux下使用
的通配符有以下几种:
* 代表0个到无穷多个任意字符
? 代表单个任意字符
[ ] 代表一定有一个在括号内的字符。例如 [abcd] 表示可能是 a, b, c, d 这四个任何一个
[ - ] 若有减号在中括号内时,代表在编码顺序内的所有字符。例如 [0-9] 代表 0 到 9 之间的所有数字
[^ ] 若中括号内的第一个字符为指数符号 (^) ,那表示反向选择,例如 [^abc] 表示一定有一个字符,但不是a,b,c中的任何一个
一些示例:
(1)设当前目录下有以下文件:
1 a | 2 a.exe | 3 b |
4 b.txt | 5 abc | 6 abc.exe |
7 c.txt | 8 ba | 9 ac |
10 bc.txt | 11 a.xy | 12 ca.yz |
试写出恰好代表下列文件的通配符:
A:2,6,11
a???*
B:5,6
abc*
C:4,7,10
*.txt
D:11,12
*.[xy][yz]
E:8,9
[ab][ac]
F:4,7
[bc].txt
G:10
bc.txt
H:2,4,6,7,10
*.???
(2)设当前目录下有以下文件:
1 abc | 2 abd | 3 bcd |
4 acd | 5 ab.exe | 6 bc.txt |
7 ab.txt | 8 cd | 9 ad.txt |
10 ac.exe | 11 abc.com | 12 a.xy |
13 b.com | 14 bc.yz | 15 ad |
试写出恰好代表下列文件的通配符:
A:5,7,9
a[bd].???
B:6,13,14
b[c.][c.]*
C:3,4
[ab]cd
D:5,6,7,9,10,14
??.*
E:12,13
[ab].*