為什麼命令行界面(CLI)並未隨著命令行操作系統(如 DOS)的淘汰而消亡?

我也懶得改這題目了

DOS是操作系統,像windows一樣的作用,DOS是命令方式操作電腦,而windows是窗口方式的,DOS使用的命令通常叫DOS命令,其命令甚至能完成WINDOWS不能完成的功能,所以windows並沒有完全拋棄DOS命令,而是將其植與WINDOWS之中,這就是MSDOS了 ,在WINDOWS裡面,找到CMD的程序,或在運行窗口裡輸入CMD都可以進入MSDOS.
我懂了


DOS系統已經被淘汰了,但命令行程序不會消亡。

首先糾正題主的看法,題主如果在Windows下點開一個黑乎乎的窗口輸入命令,那不是DOS,那是命令行。命令行是一個方便你下達命令並查看執行結果的軟體。

之所以命令行的命令和DOS命令一樣,那是為了方便用戶而沿用了DOS時代的命令而已。

既然圖形界面已經出現,那為什麼我們還要使用命令行呢?

1、方便編寫。寫一個軟體,並顯示出一行文字,如果是圖形界面,要寫幾行到幾十行代碼去繪製這個窗口,再寫幾行代碼把字顯示出來;而命令行下輸出一行文字,可能只需一兩行代碼。我是程序員,不考慮小白用戶體驗的話,必然會選擇寫命令行程序而節省精力。這也是初學編程時寫的都是命令行程序的原因。

2、所依賴的事物更少。比如帶命令行的安全模式不需要資源管理器進程的支持,當它損壞時就只能使用命令行模式進入系統。

有錯誤請指正


這名字是有講究的:

CLI,command line interface ,指令行界面;

GUI, graphics user interface ,圖形用戶 界面,那麼interface 是什麼呢?

如果你看英文版的計算機書籍,你就會發現這個詞尤其常見,比如:

API ,application programming interface ,應用程序編程介面

OSI,open system interface ,開放系統互聯

interface 有介面、輸入口、銜接方式的意思,這點很重要,如果樓主可以理解,就不難發現,cli只是一個對於底層功能的介面,而並不是程序或者系統的全部。

系統底層集成了很多功能,cli使用指令來調取功能,而Gui用圖形方式讓用戶選擇功能,這是一種封裝形式。

為何cli不會滅亡?因為使用指令輸入,可以方便計算機操作,製作腳本或者批處理就可以完成大批任務,這對於伺服器等等有重要作用。

看懂的點個贊。


我猜題主問的是命令交互為什麼沒被淘汰

我猜題主不需要編程,所有需求通過圖形界面的軟體都能滿足

那麼別的猿的回答你很可能看不懂,也就無法幫你理解猿類為什麼要對著黑乎乎的界面使勁敲鍵盤了

那麼至少有一點可以幫助題主理解命令交互為什麼沒被淘汰,因為可以幫碼農提高把妹成功率——答主想通過計算123*456帶你體驗下

命令交互是這樣的:

眼睛閉上休息,手輸入win+r(開啟運行命令窗口)calc回車123*456=

然後睜開眼睛看下屏幕就知道結果了

圖形界面交互是這樣的:

哦不,XP和Win7是這樣的:

右手從鍵盤上移動到滑鼠或觸摸板上(ThinkPad小紅點用戶忽略這一步),指針移動到左下角,點擊開始按鈕,用眼睛找到「所有程序」,點擊它,用眼睛找到「windows組件」,點擊它,用眼睛找到「附件」,點擊它,用眼睛找到「計算器」,點擊它,右手從滑鼠或觸摸板移回鍵盤(小紅點用戶忽略這一步),輸入123*456=,看下屏幕

注意到區別了嗎?命令交互最神奇的一瞬間,就是打開計算器,你不需要滑鼠也不需要眼睛找了,你只要輸入命令calc就打開了計算器,你也可以在黑乎乎的命令行窗口下輸入calc,還節省了win+r這一步,如果這個黑乎乎的窗口是matlab/python之類的腳本語言的窗口的話,(不用輸入calc)直接輸入123*456回車,神不神奇,一問一答,是不是很像siri?這才是人類/猿類最自然的表達方式

忘了說,以上圖形界面操作方式,我是憑回憶腦補的,因為我的win8.1又是另外一種操作方式了!!沒錯!!每個系統還不一樣!!!這麼一次簡單的操作,如果用圖形界面交互還不算反人類的話,那每天做幾百次類似的操作,眼睛看瞎了活還沒幹完,一回頭老闆說:你怎麼這麼慢?晚上加班!!如果你學會了命令交互方式的話,省下來的時間就可以找妹子搭訕了


dos早就沒有了,現在Windows只是有一個看起來好像是dos的東西,用來兼容一些食古不化但是卻無比重要的遠古軟體。


輸入信息的速度,在直接讀取意念的輸入設備出現前,絕對還是鍵盤最快。

就是單純的快,開chrome大概只需要在鍵盤上敲5個字母,要是用滑鼠連移到圖標的時間都不夠。

還有就是表達能力強,GUI通常為了界面的簡潔而放棄一些擴展性。

(其實是因為你需要在輸入時間和表達能力上做一個平衡,鍵盤輸入時間更短)


因為它更面向開發者。試想想要做個程式試驗也要編寫圖型界面是多麼的令人沮喪啊。


方便啊。說話比亂戳的信息量高多了。要讓命令行消亡,先得讓微信公眾號消失。


糾正題主的說法。你所謂的「DOS 指令」應該叫「DOS Shell 命令」。

Shell 是操作系統的「外殼」程序,也是人機交互的基本界面。Shell 可以是命令行方式的,如 DOS 的 command、Windows 的 cmd 命令提示符、Unix 的 sh 或 csh 等等;也可以是 GUI 方式的,如 Windows 的 Explorer。

因此,所謂「現在還會有 dos 指令」,實際上是 cmd 和 command 使用了相同或類似的命令名而已。


三大人機互動方式

Command language (CL)

Menus and forms (MF)

Direct Manipulation

這三種不存在相互替代的關係。一個好的GUI必須支持這三種方式。

拿CL來講,優點是靈活,對系統性能要求低以及批處理支持,缺點是不易掌握,高錯誤率,系統反饋不好。另外,從實現的角度,CL要遠遠容易於MF以及DM。

通俗點來說,你可以用copy這個命令對符合特定條件的文件重命名,你用滑鼠試試?很多類似的優勢也許對一般用戶也許沒用,但是對於高級用戶或者系統維護人員,開發人員就有大用了。

建議你學習一下關於用戶界面設計的基礎理論知識。


因為 GUI 是構建在 CLI 上面的

這裡說過:Linux/Unix設計思想 (豆瓣) (大概是這個意思,忘了原文了)

GUI 能實現的東西 CLI 一定能實現,但是反之不一定


題主想要的回答沒那麼麻煩啦~

只是問為什麼的話,就是作為操作系統,shell應該是必有的(你可以不用),你看我Android上都有。。。

如果所有的系統API都只能通過GUI操作,那麼局限性就會很大,也很麻煩。如果Windows哪天取消了shell(雖然不可能啦)肯定很多人要罵吧,你說微軟為什麼要做這種事情呢?

還有,雖然絕大部分人在日常使用中,完全沒必要用到shell,但是您應該見到過.bat結尾的文件吧? 沒錯那您就是shell便利的受益者啦,在流程化指令操作的時候,你是希望給用戶一本教程一個個點呢,還是給個批處理雙擊一下?(綠化.bat 2333333)

其實 cmd 在日常還是挺好用的

比如ping呀 這個要是以後有個GUI還真挺難想像的。

還有 如果你有一個文件夾的xxx.html 文件 你要把它們全部改名為.txt 怎麼辦呢? 據我所知Windows是沒有提供一個GUI實現方式的。

cmd的話當然一行

ren *.html *.txt

就好了~

所以不是用不上

所以沒必要也不能取消~

(換一個倒是雙手贊成啊,PowerShell完全用不來啊,命令一樣但是用法好多都不一樣簡直哭T T)

P.S. 大家不要噴我,我只是作為小白用戶感覺自己比較能體會題主的意思所以回答一下,木有利益相關除了用了好久的盜版Windows感覺虧欠微軟T T


從問題中題主眼中的靠命令行操作的操作系統只有dos,而且題主眼中這個唯一的命令行操作的操作系統已經消亡。所以理所當然命令行應該也要消亡了。

但是在操作系統界還有類unix系列啊!那些在伺服器領域佔領絕大部分市場能讓伺服器幾十年不宕機的牛逼系統們!這些才是命令行的老大哥啊!!

在我這幾年學習Linux的渣渣經驗中,命令行操作比圖形界面去點滑鼠快很多好嗎?(熟悉命令的情況下)。

如果未來出現一種能淘汰命令行操作的操作方法,我能想到的只有意念操作了…腦袋裡面想什麼,計算機直接做什麼。


命令行操作系統沒有消亡。至今很多伺服器還是跑在沒有圖形界面的Linux上


命令行的優勢多,就一點「快」,目前的圖形界面就取代不了。

例如晚上你在上網下載東西,同時想一窗口方式打開某休閒遊戲,同時家人已經睡覺,遊戲最好不要發出聲音。

圖形下的操作是:

1.關閉Windows聲音。

2.開始菜單-遊戲-GAME007,啟動遊戲。

3.點擊設置,選擇圖形,選擇窗口方式。

如果換成命令行,以Windows命令舉例,就是:

D:Game0707.exe -windows -nosound

其實很可能是簡化方式

007 -w -nos

你感覺那個操作速度快?


如果命令行用戶界面消亡了,微軟還會搞PowerShell並推出核心版Windows Server嗎


CLI效率賽高!

做一個命令CLI一條指令就夠了,而GUI需要打開好多窗口

CLI只用到鍵盤,GUI需要滑鼠和鍵盤

和GUI比,CLI占的系統資源小

CLI一條指令可以同時做好幾個命令,GUI表示手速跟不上

CUI可以遠程遙控

CUI操作大都一樣,GUI操作不都一樣

CLI逼格賽高!

check it out!那些電影里用圖形界面的一般都是技術渣 xD


或許以前是DOS遊戲玩的比較多,加上Windows 3.1是完全基於DOS內核,當時總覺得Windows 95隻是一個圖形界面,玩完了撲克,就要回到DOS做事,以至於後來很長一段時間一直堅持裝DOS+Windows的雙系統。現在雖然現已經大部分用戶使用圖形界面,但命令行程序依然不會消亡,只會更專業,和專註細分領域。


不然程序員怎麼Hello World!


這難道不是一個經典的 "不問是不是,就問為什麼" 的問題么?

為什麼命令行並未隨著命令行界面(CLI)操作系統(如 MS-DOS)的淘汰而消亡?

MS-DOS可以說基本被淘汰了。

但是, 誰說的 "命令行界面(CLI)操作系統被淘汰" 了?

而且, MS-DOS的淘汰的原因也不是因為其界面是CLI,而是其整體設計過於簡單而被淘汰了。


在大部分人眼裡,命令行的確是被淘汰了,但是有一種生物叫程序員,他們認為命令行在某些時候更能夠契合他們的思考方式。

所以這是程序員的錯,誰讓它們思維方式和常人不一樣。


cmd line 運行環境是很重要的。

國際標準應該是linux,mac兼容的比如bash系(那麼多sh 可看作一個系列,但反正都沒dos 特別是windows 的份),微軟要搞一個自己的cmd環境也是醉了。

比如說國際標準/吧,windows居然搞一個。。。

比如說國際標準支持python吧, windows 不支持。

全世界其他人民都可以config 和 make , 微軟人民做自己的另一套。

全世界人們都有包管理器和快速安裝,例如curl 加幾個腳本, 微軟人民有自己的另一套。

我們說這是具有微軟特色的社會主義命令行的一套。我校學CS的反正用微軟的最後都被勸退了。。

有人對我說的國際標準不理解。我問你是不是國際標準?是還是/? 你們這些人撿到一個小新聞就特別高興,搞個大新聞,就想把我批判一番。你們啊。我說的bash 說的是bash 這一個shell嗎?bash 只是一系列*sh 的一個例子,一個以人名命名的方言罷了。把這所有的*sh 和windows 自帶的shell去比較,你就知道什麼是不同英語方言和四川話之間的區別了。你一定要說英語不是世界de facto 的語言標準,我也就無話可說了。排名第一的答案無非就是pay lip service to this. 在下佩服

用CLI工作的,如果還用windows , 那真是醉了。你在windows shell 下能配置好一個正確的工作環境?如果可以的話我希望軟粉們單場演示一下。。那麼多矽谷碼農倒戈Mac 是為什麼?cli 打同所有工具協調工作字元串流pipe 並行根本就是Linux 的發明好嗎。OS X 不小心繼承了他。這裡根本沒windows 這個自帶醜陋方言的份。要用windows 裝cli 開源工具我估計gnu 的人會把你揍死

從兼容性和工具數目來說,windows自己搞的cli 除了讓win也可以寫script 以外根本沒有任何含義。簡直就是在給世界cli 添亂。

這果然是要用windows的人和世界計算機工程師勢不兩立了。

所以最後他們主要用visual studio。

我說這句話有些人還不信。你讓輪子哥寫幾個*sh 腳本看看?VS用多了沒辦法。vim 都不會退出,難怪說它難用。


推薦閱讀:

有哪些高效但是不常見的CLI命令?

TAG:操作系統 | 人機交互 | 計算機 | 命令行界面CLI |