bash編程複習,實踐和進階練習

    學習shell有一段時間了, 一直懶於學習更多的用法, 趁着現在工作中有用到的機會, 打算好好掌握之. 這篇筆記是讀<unix shell 編程>的筆記, 進行了一些改動, 以實例爲主.


Chapter 1 複習基礎命令和知識

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


基礎命令和知識


  常用命令lsecho, cp , mv , mkdir, rm , rmdir ,cd,ln,date, who/who am i,cat ,wc 


  概念和知識點:

      1> 管道的概念

      2> 標準輸入和標準輸出的概念

      3> 輸入重定向和輸出重定向的概念. > 和 >> 的區別.

      4> 管道連接命令的概念

      5> shell默認的有限字符匹配功能.  ?: 匹配1個字符, *:匹配0-n個字符.   例如 ls *file*.txt


  部分命令用法:

    cat filename:  查看文件內容   

   ln fromfile tofile:  建立文件鏈接. 用windows的術語, 就是建立快捷方式. ln有兩種鏈接方式, 請用 man ln 查看更多細節.

    wc filename:  統計文件的單詞個數.  (注: wc表示 word count, 在K&R的<C Programming Language>裏能看到算法)

              wc 和 sort 都可以在命令行輸入多行字符串, 用ctrl + d 結束輸入. 試試:

                      wc -l  <敲回車>

                      This is text   <敲回車>

                      is typed on the standard input device  <敲回車, ctrl+d>

  練習:

# 輸出重定向例子. 現在輸出並不是顯示在控制檯, 而是在文件中. 
who > users.txt
who >> users.txt

#輸入重定向例子. wc的輸入是文件users.txt 
wc -l < users.txt 

#重定向錯誤. 並沒有asdf這個命令, 所以shell會報錯, 但錯誤信息重定向到了文件. 注意, 2和>之間不能有空格. 
asdf 2> errors.txt

#管道連接. 某個命令的輸出可以作爲另一個命令的輸入, 中間用 | 連接
who | wc -l 

#有趣技巧. 一行鍵入多條命令
date;pwd;who

   

  實用技巧:

#往文件寫簡單的內容時, 不需要用文本編輯器打開文件再編輯, 直接用 >> 命令即可. 例如, 這條命令把某個源添加到debian的source文件:
echo "This is a source " >> /etc/apt/source.list


   



   



   

   

     



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章