Linux中{ }的用法

一、生成序列

格式:{#..#},按照ASCII表的顺序进行生成,如{a..c}表示a b c,也可以{c..a}倒叙的形式生成c b a

# echo {01..20} 
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
# echo {z..a}
z y x w v u t s r q p o n m l k j i h g f e d c b a
# echo {1..20..2}    #可设置步长为2
1 3 5 7 9 11 13 15 17 19
# echo {00000..20..2}
00000 00002 00004 00006 00008 00010 00012 00014 00016 00018 00020
# touch {1..5}.txt    #生成文件
# ls
1.txt  2.txt  3.txt  4.txt  5.txt

二、序列展开

格式:{#,#,#}。如{a,b,c}表示a b c

# touch {a,c,e,f}.txt
# ls
a.txt  c.txt  e.txt  f.txt 
# mkdir -p  /tmp/{a1/{a,b},a2}
# 生成 /tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b等四个目录
#tree
.
├── a1
│   ├── a
│   └── b
└── a2
# mkdir -p /tmp/{x,y}_{m,n}
# ls
x_m  x_n  y_m  y_n
#cp httpd.conf{,.bak}
#ls
http.conf  http.conf.bak
#复制httpd.conf文件生成名为httpd.conf.bak的文件
原文地址:https://www.cnblogs.com/ysuwangqiang/p/11364830.html