命令行 是否應(yīng)該壽終正寢?
譯文【51CTO外電頭條】命令行界面(簡稱CLI)的確有自己的存在價(jià)值,Mobile Rapter網(wǎng)站博主Roberto Lim坦言,“不過沒有任何一種面向普通用戶市場的技術(shù)必須通過CLI才能實(shí)現(xiàn);換言之,大家可以把它當(dāng)作后備方案,也可以直接把它扔進(jìn)歷史的垃圾堆。”但話說回來,保留CLI就等于在遭遇故障時(shí)為IT人士或技術(shù)支持團(tuán)隊(duì)準(zhǔn)備了一套實(shí)用工具。
其實(shí)在Linux博客圈里很多話題都是辯了再辯、噴了再噴,已經(jīng)跟冷卻用的循環(huán)水一樣沒營養(yǎng)甚至討人厭了——就連所謂“年度討論”也開始逐漸失去吸引力。
然而一項(xiàng)***話題性的內(nèi)容卻常常被大家所忽視,這就是命令行的各種局限——在如今這個(gè)GUI橫行的時(shí)代,它還能繼續(xù)生存并有所作為嗎?
沒錯(cuò),大家的熱情再一次被調(diào)動起來——新一輪對噴開始啦!
穩(wěn)定可靠還是暴躁易怒?
“命令行到底算不算是暴躁易怒的老古董?”自打TuxRadar把這個(gè)話題拋出來進(jìn)行無記名投票之后,無數(shù)技術(shù)人就此展開熱鬧討論,爭執(zhí)之聲至今仍未停歇。
那么大家怎么看?命令行界面已經(jīng)失去了實(shí)際價(jià)值?或者仍然是一款值得依賴的老工具?
作為Linux用戶,同志們的討論熱情紅火到令人意外。
要美觀還是要強(qiáng)力
“命令行絕對屬于暴躁易怒的老古董,”Google+博主Linux Rants認(rèn)為。“時(shí)至今日,它仍然在單薄的外殼下蘊(yùn)藏著任何一款GUI都無法容納的強(qiáng)大力量與功能特質(zhì)。”
我承認(rèn)“GUI水汪汪的大眼睛確實(shí)能給用戶帶來美好的使用體驗(yàn),”Linux Rants贊揚(yáng)道。“圖形化使得計(jì)算機(jī)對缺乏相關(guān)技能的用戶而言更易于使用,而且這個(gè)群體對于計(jì)算機(jī)到底發(fā)生了什么也不感興趣;然而GUI僅僅能夠提供命令行全部發(fā)揮空間中的一小部分。這基本上類似于普通人跟健次郎間的區(qū)別。”
GUI的處理速度也明顯更慢一些,他補(bǔ)充道。“就拿從同一個(gè)文件夾中區(qū)分兩類文件這種簡單任務(wù)為例,命令行只需‘mkdir GIF;mkdir JPG;mv *.gif ./GIF;mv *.jpg ./JPG’就能搞定,前后大概五秒鐘。那么在美觀可愛的GUI中,這個(gè)過程需要多久?”
CLI萬壽無疆
事實(shí)上,“我是遇到過高人,給我演示了如何通過構(gòu)建一條for-next循環(huán)來在GUI中實(shí)現(xiàn)這種文件歸類任務(wù)的,”Hyperlogos博主Martin Espinoza也表示贊同。“在那之前,我一直都沒找到好的解決辦法。”
“文件管理器中漂亮的重命名選項(xiàng)根本無法幫助我們通過xargs,sed,tr等等實(shí)現(xiàn)一款程序作用于另一款程序輸出結(jié)果的目標(biāo)。而在我們僅僅需要輪子就能解決問題時(shí),GUI往往把推土機(jī)都搬出來了——這根本就毫無道理,”Espinoza補(bǔ)充稱。
“CLI距離消亡還早著呢,而且在復(fù)雜任務(wù)處理方面沒有什么能取代它的位置,”Slashdot博主Gerhard Mack表示附議。“甚至微軟自己也意識到這一點(diǎn),并在過去幾年中開始嘗試為服務(wù)器系統(tǒng)添加了更完善的命令行方案。”
完成工作的正確工具
另一位Slashdot博主Chris Travers曾經(jīng)參與過LedgerSMB項(xiàng)目,他也表示深有同感。
“要說GUI會淘汰掉CLI,就好像說文字處理工具會淘汰掉Emacs或者VIM一樣,”Travers指出。“這兩種東西根本就是不同定位下的不同工具。”
Travers認(rèn)為二者***的區(qū)別在于信息密度并不對等。
“GUI在向用戶傳遞信息方面表現(xiàn)出色,但并不善于從用戶那里接收密集信息,”他解釋道。“CLI的表現(xiàn)相對平均,雖然不能像GUI那樣直觀地將大量信息反饋給用戶,卻擅長接受來自用戶的指令。”
按鍵原則
舉個(gè)例子,“想象我們要通過多少次鼠標(biāo)點(diǎn)擊及鍵盤操作才能向GUI下達(dá)‘下載download file.txt文件到我的文件夾中,并將其重命名為myfile2.txt’這樣一條ftp指令,”他指出。“我親自做過測試,最少要點(diǎn)擊八次以上才能完成。”
而在命令行ftp工具的幫助下,情況則完全不同。“大家只需要輸入:get file.txt myfolder/myfile2.txt,”他認(rèn)為“這明顯簡單得多,而且輸入內(nèi)容也更符合人類的邏輯思維。”
因此,“雖然GUI能夠?yàn)榘ㄏ到y(tǒng)管理員任務(wù)在內(nèi)的許多日常操作提供良好的工具,”Travers總結(jié)道,“但很多時(shí)候敲擊鍵盤仍然是向計(jì)算機(jī)表達(dá)需要的***方式。”
“正如利用elinks(一款只支持純文本的終端處理器)上網(wǎng)令人抓狂那樣,利用GUI管理計(jì)算機(jī)在很多時(shí)候同樣叫人難以忍受,”他說。
只為極客打造
Roberto Lim,Mobile Raptor上的一位律師兼博主卻持反對意見。
“使用命令行會令人產(chǎn)生一種優(yōu)越感,所以我明白自己的言論一定會引發(fā)大家的爭議,”Lim在與Linux Girl交談時(shí)稱。“但我還是得說,我每次使用命令行都得翻查一本指導(dǎo)手冊,而且根本不明白自己所輸入的內(nèi)容是什么意思。”
Lim承認(rèn)命令行界面有它擅長的用途,“不過沒有任何一種面向普通用戶市場的技術(shù)必須通過CLI才能實(shí)現(xiàn);換言之,大家可以把它當(dāng)作后備方案,也可以直接把它扔進(jìn)歷史的垃圾堆。”
“但話說回來,保留CLI就等于在遭遇故障時(shí)為IT人士或技術(shù)支持團(tuán)隊(duì)準(zhǔn)備了一套實(shí)用工具,”他表示。
換句話說,“這就像通過gedit來創(chuàng)建網(wǎng)站,”Lim總結(jié)道。“沒錯(cuò),這很酷。但時(shí)代已經(jīng)不同了,誰真的愿意輸入‘<p>’而不是直接按‘回車’鍵?”
所以,“先不說命令行到底算不算是暴躁易怒的老古董,事實(shí)上普通用戶中有很多人壓根不知道它的存在,”他補(bǔ)充道。
OS當(dāng)不了桌面OS
Slashdot博主Hairyfeet則拋出一個(gè)更為強(qiáng)勢的觀點(diǎn)。
“對對對!”野生的Hairyfeet君加入了討論。“使用CLI只出于兩個(gè)理由——重復(fù)與腳本——但我們在使用臺式機(jī)或筆記本進(jìn)行工作時(shí)其實(shí)很少需要編寫腳本或者大量重復(fù)單一操作?幾乎沒有,這也正是我的核心觀點(diǎn)——CLI能夠在Linux上大展拳腳,那是因?yàn)長inux主要以服務(wù)器操作系統(tǒng)的形式存在,而非一般的桌面系統(tǒng)。
總結(jié):“如果大家認(rèn)為Linux系統(tǒng)已經(jīng)準(zhǔn)備好登陸個(gè)人設(shè)備,那么請接受我的挑戰(zhàn),”Hairyfeet表示。“咱們來做個(gè)實(shí)驗(yàn),選擇任意一款Linux發(fā)行版、卸載掉其中的CLI并堅(jiān)持使用一年,看看能不能讓它們像其它主流現(xiàn)代系統(tǒng)那樣順利工作。”
“遺憾的是,我懷疑大家根本找不到一款能夠在缺乏Bash或其它shell的情況下正常啟動的Linux發(fā)行版,”他估計(jì)稱。“命令行已經(jīng)成為Linux系統(tǒng)的拐杖,沒有了它這個(gè)看似繁榮的系統(tǒng)家族將毫無立足的能力。”
某些用戶眼中的無價(jià)之寶
然而爭論到這里還遠(yuǎn)沒有結(jié)束。
“BASH命令與腳本是系統(tǒng)管理員們的好幫手,”博主Robert Pogson指出。“只是很少有普通用戶需要跟它打交道。”
也就是說,“它們雖然有些暴躁且難以駕馭,但在實(shí)際工作中的表現(xiàn)仍然可圈可點(diǎn),”Pogson認(rèn)為。“我能夠通過輸入一行命令來檢查每臺設(shè)備連入網(wǎng)絡(luò)的時(shí)間、更新軟件甚至是向特定PC列表中添加特定應(yīng)用等等。”
“這簡直是無價(jià)之寶,”他補(bǔ)充稱。“黃金和鉆石也都是老物了,但它們的價(jià)值誰也不能否認(rèn)。”
Linux的通用語
事實(shí)上,“我發(fā)現(xiàn)腳本與命令的***價(jià)值在于其橫跨數(shù)百種GNU/Linux發(fā)行版的通用性,沒有它們的幫助系統(tǒng)管理員根本不可能順利上手這么多種系統(tǒng)版本,”Pogson指出。“對于新手系統(tǒng)管理員或遠(yuǎn)程PC管理工作這種通用性也同樣重要。”
因此,“我喜歡把命令行稱為GNU/Linux的通用語,它能夠涵蓋安裝在所有PC機(jī)上的任何發(fā)行版,”他告訴我們。“有了命令行,用 Debian的家伙也能給用紅帽的用戶以幫助,同理,GNOME與Xfce之間也再無不可逾越的障礙。”
“那用XP的家伙能幫上用Win 7的用戶嗎?”Pogson補(bǔ)充道。“也許行,也許不行。那Debian Sarge用戶能搞定Debian Squeeze的問題嗎?絕對沒問題。命令行是恒定不變的,在GNU/Linux領(lǐng)域,它是一種團(tuán)結(jié)力量的象征,把各種發(fā)行版緊密聯(lián)系在一起。”
原文地址:It Time for the Command Line to Ride Into the Sunset?