常常在別人的博客中看到相似下面的命令,shell
cp /etc/http/httpd.conf{,bak}
{}並無什麼實際的含義,可是能夠做爲Brace expansion(大括號擴展),常常用於產生各類組合。code
花括號模式是以一個可選的前導字符,後面跟着一系列以逗號分隔的字符串或者是以點號分隔的字符串。前導字符被添加到字符串前面,後面的字符串被附加到每一個結果以後,點號用來生成序列字符串
例如在終端輸入以下命令博客
echo {1..10}
則會輸出io
1 2 3 4 5 6 7 8 9 10
或者class
echo foo{1,2,3}.txt foo1.txt foo2.txt foo3.txt
echo foo-{a..d}.txt foo-a.txt foo-b.txt foo-c.txt foo-d.txt echo cp /etc/http/httpd.conf{,.bak} cp /etc/http/httpd.conf /etc/http/httpd.conf.bak
所以能夠使用這種方法備份、重命名文件,還能夠建立目錄等擴展
cp /etc/http/httpd.conf{,.bak} # 將httpd.conf備份爲httpd.conf.bak mv /etc/http/httpd.conf{,.bak} # 將httpd.conf重命名爲httpd.conf.bak mv /etc/http/httpd{.conf,.bak} # 將httpd.conf重命名爲httpd.bak