首頁 > 軟體

Shell基礎:常用技巧&重定向&管道操作

2020-06-16 17:33:38

Shell指令碼介紹和常用工具

  • Shell指令碼
    • Shell指令碼:實際就是windows裡的批次處理指令碼,多條可一次執行的Shell命令集合。Linux上的指令碼可以用很多種語言實現,bash shell是比較簡單的一種,更高階的可以用其他指令碼語言,比如Python
    • Shell指令碼對系統的管理能力非常強大,甚至可以使用Shell結合php實現Web管理Linux系統功能:可以自己寫一個Web頁面(範例:基於Php),對系統進行管理,包括檢視刪除使用者,設定網路,傳送郵件,重新啟動系統,一鍵備份,一鍵搭建伺服器。
  • 搭建一個高效的Shell指令碼開發環境(putty+winscp+sublime)
    • 敲命令直接用putty,免得在虛擬機器裡挪動來挪動去,滑鼠識別影響速度。
    • 如果開發指令碼建議用winscp+sublime實現指令碼的開發。Sublime開發Html或是指令碼都非常快,可以學習一下Sublime, 被稱為業界的開發神器,補全功能非常強大。

 常用Bash命令加速操作

  • Tab鍵自動補全: 非常有用
  • 命令歷史 history:history/ !(命令列數) 或者是!匹配符
    • (!vi 會呼叫歷史中最後一條以vi開頭的命令)
    • (!5 會呼叫歷史中的第五條命令)
  • 命令別名
    • (alias 列出當前別名)
    • (alias 別名=‘linux 命令’)
    • (unalias 別名, 取消別名)
    • (永久儲存命令別名需要去更改使用者根目錄(/root/.bashrc)下.bashrc檔案)
  • 輸出重定向(把命令的結果不顯示在螢幕上,而是現實在特定的區域)
    • 命令 > 重定向的檔案,覆蓋式重定向(ifconfig eth0 > test.txt: 把eth0網絡卡的情況輸入到當前目錄下test.txt檔案中)
    • 命令>>重定向檔案,追加式重定向(ifconfig eth0>> test.txt:把eth0網絡卡的情況輸入到當前目錄下test.txt檔案中)
    • 命令 2> 重定向檔案(aaaa 2>test.txt:把錯誤命令輸入到test.txt中,沒有寫數位預設為1>,表示把正確結果寫入檔案。如果特別標明2>, 表示把錯誤結果寫入test.txt)
    • 命令 &> 重定向檔案 (bash test.sh &> all.txt,把指令碼正確和錯誤的結果都重定向到all.sh檔案當中)
    • 追加重定向,把錯誤的結果沿著1的通道追加到test.txt檔案中(bash test.txt 1>>all.txt 2>&1)
  • 管道操作(|,把左邊的輸出作為右邊的輸入)
    • 使用管道檢視mem記憶體的情況 (eg:free -m|grep -i mem)
    • | 管道可以在一條命令裡多次使用(eg:檢視可用記憶體情況 free -m|grep -i mem|awk '{print $4}')

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-09/135144.htm


IT145.com E-mail:sddin#qq.com