這篇文章主要講解了“Linux中cp和mv搭配{,}在shell當(dāng)中的用法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux中cp和mv搭配{,}在shell當(dāng)中的用法”吧!
成都創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)布平臺(tái)等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。經(jīng)常會(huì)在博客或者論壇看到類似下面的命令 大括號(hào)擴(kuò)展 Brace expansion { } shell 作用
cp /etc/httpd/httpd.{,.bakup}
或者是
mv resume{z,}.doc
那么,在uinx / linux shell命令中是什么意思?起什么作用呢?
{ } 并沒有什么實(shí)際的含義,但是卻可以作為Brace expansion(大括號(hào)擴(kuò)展或叫做花括號(hào)擴(kuò)展)而經(jīng)常用于產(chǎn)生各種組個(gè)。以下是翻譯自 GNU/BASH man page 的內(nèi)容:
Brace expansion(大括號(hào)擴(kuò)展或叫做花括號(hào)擴(kuò)展) 是用來隨機(jī)產(chǎn)生字符串組合的機(jī)制。這種機(jī)制類似于文件的擴(kuò)展名,但是并不需要存在響應(yīng)的文件。Brace expansion(大括號(hào)擴(kuò)展或叫做花括號(hào)擴(kuò)展)模式是一可選的preamble(前導(dǎo)字符),后面跟著一系列逗號(hào)分隔的字符串,包含在一對(duì)花括號(hào)中, 再后面是一個(gè)可選的postscript(打印編程語言)。preamble(前導(dǎo)字符)被添加到花括號(hào)中的每個(gè)字符串前面,postscript(打印編程語言)被附加到每個(gè)結(jié)果字符串之后, 從左到右進(jìn)行擴(kuò)展。 花括號(hào)擴(kuò)展可以嵌套。擴(kuò)展字符串的結(jié)果沒有排序;而是保留了從左到右的順序。
1.如,在終端中輸入下面命令:
echo foo{1,2,3}.txt
輸出如下:
foo1.txt foo2.txt foo3.txt
2.也可以使用下面附加的實(shí)例,去在命令中“創(chuàng)建”一個(gè)參數(shù),以節(jié)省輸入的時(shí)間,提高工作效率:
echo file.txt{,.bak}
echo file-{a..d}.txt echo mkdir -p /apache-jail/{usr,bin,lib64,dev} echo cp httpd.conf{,.backup} echo mv delta.{txt,doc}
3.可以使用Brace expansion(大括號(hào)擴(kuò)展或叫做花括號(hào)擴(kuò)展)來復(fù)制,重命名文件,或者是備份文件,還可以是創(chuàng)建目錄等。在下面這個(gè)習(xí)慣性使用的的例子中,將 file1.txt 備份為 file2.txt.bak ,輸入:
cp -v file1.txt file1.txt.bak
如果使用Brace expansion,節(jié)省時(shí)間,則輸入:
cp -v file1.txt{,.bak}
輸出如下:
file1.txt -> file1.txt.bak
更多大括號(hào)擴(kuò)展實(shí)例如下:
4. 如果我們執(zhí)行:
$ cp /etc/apt/sources.list /etc/apt/sources.list.bak
這兩個(gè) /etc/apt/sources 部分相同,為了少輸入兩次/etc/apt/sources ,大括號(hào)擴(kuò)展參數(shù)。還有平時(shí)重命名,備份文件,創(chuàng)建鏈接時(shí)候,都可以使用大括號(hào)擴(kuò)展參數(shù)的方法提高效率。
大括號(hào)擴(kuò)展,即大括號(hào)包圍的,用逗號(hào)隔開的參數(shù)會(huì)擴(kuò)展為獨(dú)立的多個(gè)參數(shù)。
$ cp /etc/apt/sources.{list,list.bak}
Shell 在解釋時(shí)會(huì)自動(dòng)將后面的參數(shù)擴(kuò)展成兩個(gè),就變成了和上面一樣的完整命令。
當(dāng)然,還可更簡(jiǎn)單,將 list 也考慮進(jìn)去,在逗號(hào)前什么都不寫,如下:
$ cp /etc/apt/sources.list{,.bak}
這樣逗號(hào)前面沒東西,那么參數(shù)就保持原來的不變,逗號(hào)后面的照樣擴(kuò)展。
感謝各位的閱讀,以上就是“Linux中cp和mv搭配{,}在shell當(dāng)中的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Linux中cp和mv搭配{,}在shell當(dāng)中的用法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
文章名稱:Linux中cp和mv搭配{,}在shell當(dāng)中的用法-創(chuàng)新互聯(lián)
路徑分享:http://muchs.cn/article20/idsjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容