歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

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

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}')
Copyright © Linux教程網 All Rights Reserved