{eval=Array;=+count(Array);}
各自的定位和生態(tài)不一樣。
windows系統(tǒng)的定位更大眾,本來用cmd的時(shí)候就不多。
linux系統(tǒng)更多的是面向?qū)I(yè)的IT工作者,他們想要的是一個(gè)更加精簡(jiǎn),沒有多余功能的操作系統(tǒng)。桌面可視化圖形界面,他們幾乎不需要,所以就使用命令多一些了。
這個(gè)是一個(gè)長(zhǎng)久以來形成的習(xí)慣。近些年linux系統(tǒng)的界面也越來越好看,漸漸的走入大眾視野,比如蘋果系統(tǒng)也是基于linux的,但對(duì)于專業(yè)人士,還是會(huì)經(jīng)常用命令行。
在這樣的大環(huán)境下,windows的命令行的功能越來越少,變成了系統(tǒng)中的一個(gè)小輔助工具,而linux下面的命令越來越多,除去系統(tǒng)操作的命令,還有各種應(yīng)用程序的使用命令。
所以這兩個(gè)東西,本身就定位不一樣,沒有去比較的意義。
命令提示符太古老了,而且微軟本身也沒打算好好弄,就不說了。
PowerShell 和 UNIX Shell 在體驗(yàn)上的差別,感覺主要還是用戶習(xí)慣造成的。PowerShell 出現(xiàn)得比較晚,用戶對(duì)命令行的認(rèn)識(shí)大多來自 UNIX Shell,而這兩者在操作風(fēng)格上完全不同,習(xí)慣了一個(gè)就會(huì)覺得另一個(gè)別扭。
比如說切換目錄,在 UNIX Shell 上用的是 cd 命令,而在 PowerShell 上原生的命令是 Set-Location(可能還要加上 -Path),這么長(zhǎng)的命令,用慣了 cd 的人一時(shí)半會(huì)兒接受不了。PowerShell 為了遷就 UNIX Shell 用戶的習(xí)慣,默認(rèn)采用了許多別名,Set-Location 的別名就是 cd(還有其他幾個(gè))。
在 Windows 上用命令行的機(jī)會(huì)本來就相對(duì)較少,有了這些兼容 UNIX Shell 語(yǔ)法的命令別名,用戶認(rèn)為似乎沒必要專門去記 PowerShell 命令。再加上現(xiàn)在有了 WSL,直接在 Windows 上運(yùn)行 bash,PowerShell 的應(yīng)用場(chǎng)景進(jìn)一步收縮了。
不見得 PowerShell 在設(shè)計(jì)上比 UNIX Shell 差,但是它的用戶數(shù)量少也是有必然原因的。
1、兩者在功能上幾乎百是完全相同的。windows下ipconfig,linux下ifconfig,效果完全一樣。區(qū)別一:linux的命令幾乎可以完成系統(tǒng)下所有操作,功能非常強(qiáng)大,能非常大的提高操作效率。度區(qū)別二:windows下ipconfig,linux下ifconfig,效果完全一樣。區(qū)別三:cmd的問外部命令不支持標(biāo)準(zhǔn)的輸入輸出,必須經(jīng)過答文件中轉(zhuǎn)。bash不會(huì)這樣,一個(gè)是主力工具,一個(gè)只是照顧歷史。
2、但是最根本區(qū)別是linux shell是個(gè)linux 操作系統(tǒng)的用戶交互層。而windows下的cmd只是一個(gè)小應(yīng)用。linux可以沒有圖形界面,cmd只是windos下的終端模擬器不能多帶帶存在。inux下不需要圖形桌面就可以做幾乎任何事情,而且比圖形桌面更簡(jiǎn)潔高效,配合shell編程實(shí)現(xiàn)自動(dòng)化,比如筆者工作的服務(wù)器都是純命令行,沒有圖形界面。
3、cmd本身只是個(gè)桌面應(yīng)用,不能獨(dú)立存在。cmd很蹩腳難用,功能有限,shell功能強(qiáng)大,體驗(yàn)極佳。
差在哪?差在軟件生態(tài)啊。
拿操作系統(tǒng)為例的話,你用的不是操作系統(tǒng),你用的是操作系統(tǒng)之上的各種app。一個(gè)操作系統(tǒng)之上有各種優(yōu)秀的app,那么哪怕這個(gè)操作系統(tǒng)設(shè)計(jì)得很爛,優(yōu)化得很差,也是會(huì)有很多人用的,至于它優(yōu)化差的問題可以靠瘋狂堆硬件解決,我說的自然就是____系統(tǒng)。
說回到命令行也是一樣,用戶使用的,其實(shí)不是命令行的shell本身,也不是終端仿真器程序,而是,大量的基于命令行的app,以及這些app之間的搭配。
大量的基于命令行的那些Linux app形成了肌肉記憶,旁人只道我在命令行運(yùn)指如飛,可不知道要達(dá)到這種狀態(tài)是經(jīng)過了多長(zhǎng)時(shí)間的歷史積淀。而Linux命令行的應(yīng)用生態(tài),豐富得讓你可以實(shí)現(xiàn)操作系統(tǒng)中需要做到的幾乎所有事情。
Windows下,沒有這成百上千的基于命令行的app,沒有這些讓人已經(jīng)習(xí)慣成自然的app,沒法使用就像吃飯喝水一般自然的這些命令行app,自然,Windows命令行就沒辦法好用:因?yàn)榛赪indows命令行的軟件生態(tài)太貧瘠了。
這,其實(shí)與PowerShell還是bash并沒有什么直接關(guān)系。
--補(bǔ)充:有的人認(rèn)為ps在設(shè)計(jì)理念上全方位超越bash。這句話粗看起來似乎有道理,然而,一個(gè)shell它首先是一個(gè)命令行,其次才是個(gè)批處理編程語(yǔ)言。使用更先進(jìn)編程理念的shell從來就沒能在普及層面戰(zhàn)勝目前的shell,因?yàn)樗麄兒雎粤?,手工輸入的方便快捷才是shell的第一需求。
0
回答0
回答0
回答3
回答0
回答0
回答0
回答0
回答0
回答0
回答