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中查找字符串位置的IndexOf函數(shù)使用實(shí)例
這篇文章主要介紹了PowerShell中查找字符串位置的IndexOf函數(shù)使用實(shí)例,例子簡(jiǎn)單明了,容易看懂,需要的朋友可以參考下2014-08-08PowerShell函數(shù)中接收管道參數(shù)實(shí)例
這篇文章主要介紹了PowerShell函數(shù)中接收管道參數(shù)實(shí)例,即通過(guò)管道給函數(shù)傳遞參數(shù)的方法,需要的朋友可以參考下2014-07-07PowerShell使用正則表達(dá)式查找字符串實(shí)例
這篇文章主要介紹了PowerShell使用正則表達(dá)式查找字符串實(shí)例,主要是對(duì)match運(yùn)算符的使用介紹,需要的朋友可以參考下2014-08-08PowerShell ISE中代碼轉(zhuǎn)換大小寫的技巧
這篇文章主要介紹了PowerShell ISE中代碼轉(zhuǎn)換大小寫的技巧,本文使用ISE內(nèi)置快捷鍵解決這個(gè)問(wèn)題,需要的朋友可以參考下2015-03-03PowerShell實(shí)現(xiàn)在字符串中查找大寫字母
這篇文章主要介紹了PowerShell實(shí)現(xiàn)在字符串中查找大寫字母,本文講解使用.NET中的IsUpper()函數(shù)來(lái)實(shí)現(xiàn)查找大寫字母的需求,需要的朋友可以參考下2015-06-06探索PowerShell(一) 初識(shí) PowerShell
PowerShell是一個(gè)由微軟的提供的全新shell程序,使用了全新的命令提示和腳本環(huán)境2012-12-12PowerShell腳本實(shí)現(xiàn)添加、修改任務(wù)計(jì)劃的例子
這篇文章主要介紹了PowerShell腳本實(shí)現(xiàn)添加、修改任務(wù)計(jì)劃的例子,PowerShell操作、設(shè)置任務(wù)計(jì)劃實(shí)例,需要的朋友可以參考下2014-08-08