powershell與cmd的異同匯總
前言
計(jì)算機(jī)啊這東西,本質(zhì)上是硬件和軟件的綜合體。如果只有硬件沒(méi)有軟件的話,這也是臺(tái)辣雞而已。而計(jì)算機(jī)軟件中最靠近硬件的一層,就是操作系統(tǒng)層。
操作系統(tǒng)有很多種,比如Unix/Linux/Mac OS/Windows幾種。其中,我們接觸的第一款操作系統(tǒng)應(yīng)該就是微軟(巨硬)公司的windows系列了。這款操作系統(tǒng)從1985年發(fā)表第一款操作系統(tǒng)Windows1.0開(kāi)始,到現(xiàn)在已經(jīng)有將近40年的歷史了。所以Windows內(nèi)部也一定存在很多祖?zhèn)鞯膽?yīng)用,比如Windows NT、掃雷、cmd等。
雖然Windows是一款以視窗為主要交互模式的操作系統(tǒng),但是對(duì)于一個(gè)腳本佬,命令行同樣重要。甚至有時(shí)命令行的交互效率比視窗的點(diǎn)點(diǎn)點(diǎn)更高,也更快捷方便(就比如我剛開(kāi)始使用linux的shell的時(shí)候,對(duì)此非??咕?,覺(jué)得十分難用;但是用久了就回不去了,現(xiàn)在整天罵Windows,為啥設(shè)計(jì)得如此不透明)。
當(dāng)然啦,腳本佬畢竟是少數(shù),大部分人還是覺(jué)得Windows的點(diǎn)點(diǎn)點(diǎn)更加符合自己的使用習(xí)慣。然而作為一個(gè)腳本佬,就沒(méi)辦法再擱那兒點(diǎn)點(diǎn)點(diǎn)了,這樣難免被人說(shuō)lowbi。于是我簡(jiǎn)單地看了一下Windows的命令行,發(fā)現(xiàn)有兩種--黑框的cmd和籃框的powershell。那本文主要討論這二者的異同。
cmd vs powershell
我呢,是個(gè)土包子,看到這二者的第一感覺(jué)就是,powershell是加強(qiáng)版的cmd。這句話說(shuō)了等于沒(méi)說(shuō),因?yàn)榈拇_如此。如果這個(gè)問(wèn)題是個(gè)面試題,你要這么答,很難保證面試官不會(huì)繼續(xù)問(wèn)下去,“請(qǐng)?jiān)敿?xì)講講,這二者有啥異同”?這時(shí)候就喝喝了,你就沒(méi)話可講了,最后就得被迫回家等消息。那我們這里不廢話,直接上表格:
| 名字 | cmd | powershell |
|---|---|---|
| 框框顏色 | 黑色 | 藍(lán)色 |
| 起用時(shí)間 | 1981年 | 2006年 |
| 適用性 | 僅支持cmd腳本(bat,cmd) | 支持cmd腳本(bat,cmd)和powershell腳本(ps1) |
| 擴(kuò)展性 | 僅支持cmd內(nèi)置函數(shù) | 支持cmd內(nèi)置函數(shù)+powershell cmdlet |
| 命令別名 | 不支持 | 支持 |
| 輸出內(nèi)容類型 | 對(duì)象 | 文本 |
| 程序并發(fā) | 支持 | 不支持 |
| 是否有ISE(編譯器) | 有,而且能直接調(diào)試 | 無(wú),只有命令行 |
| 是否支持.net庫(kù) | 是 | 否 |
| 是否支持WMI(監(jiān)控工具) | 是 | 否 |
| 是否可以管理微軟云資源 | 是 | 否 |
| 是否支持shell | 是 | 否 |
| 是否可以運(yùn)行所有類型程序 | 是 | 否 |
總結(jié)
上面我總結(jié)了powershell和cmd的異同點(diǎn),可以從中看到powershell是cmd的加強(qiáng)版,但是加強(qiáng)得過(guò)了頭,基本上也可以作為Windows不同世代,實(shí)現(xiàn)命令行交互的兩種方式了。其中cmd能做的事情powershell都能做,而powershell除了兼容cmd以外,也增加了幾項(xiàng)對(duì)腳本佬更加友善的改進(jìn):
- 增加了cmdlet,使得很多功能可以像成熟的編程語(yǔ)言一樣直接調(diào)用。
- 拉進(jìn)了與linux shell的操作距離,使得學(xué)習(xí)成本大大降低。
- 支持了很多更友善的功能,比如ISE和WMI,操作感比cmd更先進(jìn)。
- 增加了操作其他語(yǔ)言的便捷性,使得powershell通用性更好。
- 增加了管理其余基礎(chǔ)資源的功能,使得我們使用vagrant或者terraform時(shí)更方便。
- 由于powershell本身建立在.net框架之上,所以直接可以調(diào)用,net相關(guān)功能,對(duì)于.net開(kāi)發(fā)者是一種福音。
總之,它給了常年使用linux命令行方式進(jìn)行作業(yè)的人(比如我這腳本佬)更好的信心去使用windows進(jìn)行編程和測(cè)試,其強(qiáng)大的功能也令我嘆為觀止。只能說(shuō)I need more 拋瓦燒,微軟巨硬,魔獸該出新資料片啦!
鳴謝
PowerShell vs Command Prompt | Top 14 Differences You Should Know
https://www.yiibai.com/powershell/powershell-cmdlet.html
https://zhuanlan.zhihu.com/p/380068863
到此這篇關(guān)于powershell與cmd的異同匯總的文章就介紹到這了,更多相關(guān)powershell VS cmd內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Powershell 腳本數(shù)字簽名實(shí)現(xiàn)方法
這篇文章主要介紹了Powershell 腳本數(shù)字簽名實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10
PowerShell腳本性能優(yōu)化技巧總結(jié)
這篇文章主要介紹了PowerShell腳本性能優(yōu)化技巧總結(jié),一些PowerShell腳本可能很容易消耗很多內(nèi)存,或者運(yùn)行太多時(shí)間,甚至兼而有之,本文會(huì)分享幾個(gè)PowerShell小技巧來(lái)提高這一類腳本的性能,需要的朋友可以參考下2014-05-05
Windows Powershell Switch 循環(huán)
這篇文章主要介紹了Windows Powershell Switch 循環(huán)以及PowerShell中數(shù)組可以與switch語(yǔ)句結(jié)合,產(chǎn)生意想不到的效果。2014-10-10
PowerShell小技巧之讀取Windows產(chǎn)品密鑰
這篇文章主要給大家分享一段使用PowerShell讀取Windows產(chǎn)品密鑰的小技巧,非常的簡(jiǎn)單實(shí)用,有需要的朋友可以參考下。2014-10-10
Powershell實(shí)現(xiàn)導(dǎo)入安裝證書(shū)功能腳本分享
這篇文章主要介紹了Powershell實(shí)現(xiàn)導(dǎo)入安裝證書(shū)功能腳本分享,本文用編程方法實(shí)現(xiàn)把pfx證書(shū)文件導(dǎo)入到指定的庫(kù)中,需要的朋友可以參考下2014-11-11
Powershell實(shí)現(xiàn)從注冊(cè)表獲取用戶配置腳本分享
這篇文章主要介紹了Powershell實(shí)現(xiàn)從注冊(cè)表獲取用戶配置腳本分享,本文直接給出實(shí)現(xiàn)腳本源碼,需要的朋友可以參考下2015-03-03

