Linux shell 指令碼攻略學習筆記1__Linux

來源:互聯網
上載者:User

一: cat命令 

        cat (concatenate)是命令列玩家首先必須學習的命令之一,他通常用於讀取,顯示和拼接檔案,不過cat 的能力遠不止如此,用一行命令將來自標準輸入以及檔案的資料結合起來,這可是個讓人撓頭的難題。來看看cat的基本用法和進階用法

       (1)用 cat 讀取檔案內容的一般寫法是: 

      $ cat file1 file2 file2
     這個命令將作為命令列的參數的檔案內容拼接在一起。

      列印單個檔案的內容:

      

      列印多個檔案的內容:

        

     類似的我們也可以用cat將來自輸入檔案的內容和標準輸入拼接在一起,將stdin和另一個檔案中的資料結合起來。方法如下:

  $ echo "Text through stdin" | cat - file.txt
    例:

    

   在上面的代碼中,- 被作為stdin文本的檔案名稱


  (2) cat的其他用法:

     a) 擺脫多餘的空白行

       有時候文字檔中可能包含多處連續的空白行。如果你需要刪除這些額外的空白行,則可以使用下面的用法:

   $ cat -s file
      例:

      

此外,有時候為了區分多個空格和定位字元,可以使用cat的-T參數,使得指令碼裡的定位字元都變為^|, 這樣方便調試

   b) 顯示行號(-n參數)

      使用cat 命令的-n選項會在輸出的每一行內容之前加上行號。別擔心,cat命令絕對不會修改你的檔案,他只是根據使用者提供的選項在stdout中產生一個修改過的輸出而已,例如:


注意:-n 甚至會為空白行加上行號。如果你想跳過空白行,那麼可以使用選項-b。


二:錄製並回放終端會話

      當你需要為別人在終端上示範某些操作或是需要準備一個命令列教程時,通常得一邊手動輸入命令一邊示範,或者也可以錄製一段螢幕示範視頻,然後再回放出來,其實也有其他的實現方法,利用scriptscriptreplay命令我們可以錄製命令的次序和時序,將相關資料記錄在文字檔中。利用這些檔案,其他人可以在終端回放並查看命令的輸出。

例:

開始錄製終端會話

  $  script -t 2> timing.log -a output.session

   type commands

    .....

   exit

兩個設定檔被當做script命令的參數。其中一個檔案(timing.log)勇於儲存時序資訊,描述每一個命令在何時運行;另一個檔案(output.session) 用於儲存命令輸出。 -t選項勇於將時序資料匯入stderr。 2> 則勇於將stderr匯入到timing.log.

利用這個兩個檔案 timing.log和output.session,我們可以按照下面的方法回放命令執行過程:

 $ scriptreplay timing.log output.session        #按播放命令順序輸出




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.