對于Linux用戶來說,命令行的名聲相當的高。不像其他操作系統,命令行是一個可怕的命題,但是對于Linux社區中那些經驗豐富的大牛,命令行卻是最值得推薦鼓勵使用的。通常,命令行對比圖形用戶界面,更能提供更優雅和更高效的解決方案。
命令行伴隨著Linux社區的成長,UNIX shells,例如 bash和zsh,已經成長為一個強大的工具,也是UNIX shell的重要組成部分。使用bash和其他類似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和從文件中讀取命令,也就是腳本。
讓我們在實際操作中來介紹命令行的強大功能吧。每當用戶登陸某服務后,他們的用戶名都被記錄到一個文本文件。例如,我們來看看有多少獨立用戶曾經使用過該服務。
以下一系列的命令展現了由一個個小的命令串接起來后所實現的強大功能:
$ cat names.log | sort | uniq | wc -l
管道符號(|)把一個命令的標準輸出傳送給另外一個命令的標準輸入。在這個例子中,把cat names.log的輸出傳送給sort命令的輸入。sort命令是把每一行按字母順序重新排序。接下來,管道把輸出傳送至uniq命令,它可以刪除重復名字。最后,uniq的輸出又傳送給wc命令。wc是一個字符計數命令,使用-l參數,可以返回行的數量。管道可以讓你把一系列的命令串接在一起。
但是,有時候需求會很復雜,串接命令會變得十分笨重。在這個情況下,shell腳本可以解決這個問題。shell腳本就是一系列的命令,被shell程序所讀取,并按順序執行。Shell腳本同樣支持一些編程語言的特性,例如變量,流程控制和數據結構。shell腳步對于經常重復運行的批處理程序非常有用。但是,shell腳本也有一些弱點:
這些問題通常會導致腳本變得不靈活,并且浪費開發人員大量的時間。而Python語言作為它的替代品,是相當不錯的選擇。使用python作為shell腳本的替代,通常有很多優勢:
python在主流的linux發行版本中都被默認安裝。打開命令行,輸入python就可以立刻進入python的世界。這個特性,讓它可以成為大多腳本任務的最好選擇。 python非常容易閱讀,語法容易理解。它的風格注重編寫簡約和干凈的代碼,允許開發人員編寫適合shell腳本的風格代碼。 python是一個解釋性語言,這意味著,不需要編譯。這讓python成為最理想的腳本語言。python同時還是讀取,演繹,輸出的循環風格,這允許開發人員可以快速的通過解釋器嘗試新的代碼。開發人員無需重新編寫整個程序,就可以實現自己的一些想法。 python是一個功能齊全的編程語言。代碼重用非常簡單,因為python模塊可以在腳本中方便的導入和使用。腳本可以輕易的擴展。 python可以訪問優秀的標準庫,還有大量的實現多種功能的第三方庫。例如解釋器和請求庫。例如,python的標準庫包含時間庫,允許我們把時間轉換為我們想要的各種格式,而且可以和其他日期做比較。 python可以是命令鏈中的一部分。python不能完全代替bash。python程序可以像UNIX風格那樣(從標準輸入讀取,從標準輸出中輸出),所以python程序可以實現一些shell命令,例如cat和sort。新聞熱點
疑難解答