最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡介Linux中cp和mv搭配{,}在shell當(dāng)中的用法

 更新時(shí)間:2015年06月29日 09:04:34   投稿:goldensun  
這篇文章主要介紹了簡介Linux中cp和mv搭配{,}在shell當(dāng)中的用法,作者舉了四個(gè)這樣的大括號(hào)擴(kuò)展示例,需要的朋友可以參考下

經(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)然,還可更簡單,將   list  也考慮進(jìn)去,在逗號(hào)前什么都不寫,如下:

$ cp /etc/apt/sources.list{,.bak}

 

這樣逗號(hào)前面沒東西,那么參數(shù)就保持原來的不變,逗號(hào)后面的照樣擴(kuò)展。

您可能感興趣的文章:

相關(guān)文章

最新評(píng)論

南乐县| 平湖市| 泗水县| 万安县| 太仆寺旗| 新晃| 丹棱县| 吉木乃县| 保定市| 泰和县| 湘潭县| 印江| 瓦房店市| 邹城市| 永靖县| 琼海市| 南通市| 垫江县| 额济纳旗| 张家川| 黄石市| 德保县| 潜山县| 伊川县| 富顺县| 绥中县| 安仁县| 习水县| 琼海市| 同心县| 广昌县| 平南县| 嘉善县| 宁都县| 黄冈市| 太仆寺旗| 德安县| 泰宁县| 道孚县| 开封县| 三门县|