為什么命令行在 Linux 生態(tài)系統(tǒng)中如此重要
當(dāng)您開始使用 Linux 時(shí),您會(huì)發(fā)現(xiàn)盡管存在眾多桌面環(huán)境,但該系統(tǒng)比其他操作系統(tǒng)更依賴命令行。為什么是這樣?
命令行成為 Linux 生態(tài)系統(tǒng)的重要組成部分有很多原因。
1. Unix 剛開發(fā)的時(shí)候,還沒有 GUI
雖然 Linux 不是 Unix,因?yàn)樗鼪]有來自系統(tǒng)的代碼,但它的行為是基于它的,包括它對命令行的使用。當(dāng) Unix 在 60 年代末和 70 年代初在貝爾實(shí)驗(yàn)室開發(fā)時(shí),還沒有圖形用戶界面之類的東西。
大多數(shù)人在網(wǎng)絡(luò)穿孔卡片 punch cards 上提交他們的程序,而幸運(yùn)的少數(shù)人能夠使用終端與系統(tǒng)交互,例如 Unix 的創(chuàng)造者:Dennis Ritchie 和 Ken Thompson。
這些終端要么是電傳打字機(jī),要么是視頻終端,它們只是一個(gè)屏幕和一個(gè)鍵盤。這兩種類型的終端都只支持文本,不支持圖形。
命令行界面對于這種類型的終端來說是很自然的。文本終端的使用也是 Unix 開發(fā)人員更喜歡短命令名的一個(gè)主要原因,因?yàn)樗鼈兇蜃炙俣雀臁?/p>
2.編程工具使用命令行
程序員一直是 Linux 最堅(jiān)定的擁護(hù)者,因?yàn)樗泻芏喙ぞ呖晒┧麄兺瓿晒ぷ鳎航忉屍?、編譯器和調(diào)試器。所有這些工具都在命令行上運(yùn)行。
雖然您可以從圖形 IDE 調(diào)用所有這些,但它只是某處命令行的前端。
3.命令行速度快
許多 Linux 用戶喜歡聲稱 Linux 命令行比使用 GUI 更快。命令行程序比圖形程序啟動(dòng)得更快,因?yàn)殚_銷更少。
這就是當(dāng) Linux 首次在 PC 上首次亮相時(shí),發(fā)行版默認(rèn)使用控制臺(tái)環(huán)境的原因之一。那個(gè)時(shí)代功能較弱的 PC 通常很難運(yùn)行 X,至少在桌面系統(tǒng)配備的少量 RAM 的情況下。
您可以看到,在 90 年代初一臺(tái)具有 4MB 內(nèi)存的 i386 PC 在加載一個(gè)簡單的 X 窗口管理器時(shí)有多么困難,而當(dāng)時(shí)這樣的內(nèi)存是很不錯(cuò)了。
4. 命令行無處不在,包括服務(wù)器
命令行在 Linux 系統(tǒng)上幸存下來的一個(gè)重要原因是它幾乎可以在任何地方工作。如果 X 不支持你的顯卡,這個(gè)問題在早期的 Linux 系統(tǒng)上也很常見,你會(huì)發(fā)現(xiàn)自己被控制臺(tái)拋棄了。這意味著您可以在需要時(shí)回退到命令行。
出于這個(gè)原因,僅使用命令行界面安裝 Linux 服務(wù)器是很流行的。這允許更有效地使用服務(wù)器。畢竟,如果沒有人會(huì)看到它,就不需要 GUI。
許多管理員更喜歡通過 SSH 遠(yuǎn)程登錄來管理他們的服務(wù)器。這種較低的開銷允許 Linux 服務(wù)器比 Windows 服務(wù)器更有效地運(yùn)行。
5. 命令行程序可以編寫腳本
與圖形程序相比,命令行程序的一大優(yōu)勢是程序員可以自動(dòng)化它們。
如果您使用文件管理器等圖形程序,您經(jīng)常會(huì)遇到重命名文件等重復(fù)操作。如果您有很多文件,使用 GUI 文件管理器可能會(huì)變得乏味。shell 允許您使用通配符來生成文件列表。
如果您想將所有文本文件復(fù)制到一個(gè)目錄,您可以使用這一行:
[linuxmi@localhost ~]$ cp *.txt linuxmi.com
您還可以將腳本語言用于更復(fù)雜的任務(wù)。多年來,首選的腳本語言是 shell。shell 的優(yōu)點(diǎn)是您可以在腳本的命令行中使用熟悉的程序。
雖然 Perl 和 Python 等腳本語言使用庫,但如果庫不存在,也可以使用標(biāo)準(zhǔn) Linux 程序。
現(xiàn)在你知道為什么 Linux 如此多地使用命令行了
如果您對命令行對 Linux 的重要性感到困惑,那么您現(xiàn)在知道它對于服務(wù)器和開發(fā)等許多技術(shù)用途的重要性。它甚至讓計(jì)算機(jī)為您工作,而不是相反。
如果您剛剛開始使用 Linux 命令行并感到迷茫,請繼續(xù)閱讀以獲取有關(guān)使用 shell 充分利用 Linux 系統(tǒng)的更多提示。