PowerShell與SSH/bash的對(duì)比點(diǎn)評(píng)
原創(chuàng)【51CTO經(jīng)典譯文】編者按:
Windows PowerShell介紹
Windows PowerShell 是微軟公司于2006年第四季度正式發(fā)布的.。他是微軟專(zhuān)門(mén)為Windows環(huán)境所開(kāi)發(fā)的殼程式(shell)及腳本語(yǔ)言技術(shù)。它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 拉近了與Unix, Linux等操作系統(tǒng)的距離.。這項(xiàng)全新的技術(shù)提供了豐富的控制與自動(dòng)化的系統(tǒng)管理能力。 之前的專(zhuān)桉代號(hào)是 Monad,程式另一個(gè)名稱(chēng)叫 Microsoft Shell(MSH)。
SSH介紹
SSH 為 Secure Shell 的縮寫(xiě),SSH 在J2EE項(xiàng)目中表示了3種框架,即 Spring + Struts +Hibernate。由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專(zhuān)為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。
我最近有機(jī)會(huì)在Windows 7上利用PowerShell工作,我必須得承認(rèn)PowerShell給我留下了深刻的印象,但也留下了許多失望,就它本身而言,還很年輕,這是可以自我安慰的一個(gè)理由,相比之下,我在Linux的Bash shell上工作時(shí)間有點(diǎn)長(zhǎng)了,將兩者放在一起比較,不由得為PowerShell捏一把汗,也許根本就不公平,但不管如何,同為系統(tǒng)Shell腳本語(yǔ)言,PowerShell存在不足就應(yīng)該改進(jìn),即使是Bash shell也是一路崎嶇走過(guò)來(lái)的。
PowerShell與SSH的快捷鍵對(duì)比
首先,我注意到PowerShell仍然使用的是Windows 95時(shí)代的Telnet客戶(hù)端,這有點(diǎn)夸張,尤其是復(fù)制粘貼,你必須通過(guò)主菜單,選擇“標(biāo)記”功能,然后選中你要復(fù)制的文本(不能逐行選擇,只能根據(jù)光標(biāo)位置選擇),選擇好之后,又必須再次使用主菜單中的復(fù)制和粘貼功能(據(jù)我所知,微軟沒(méi)有提供類(lèi)似Ctrl+C和Ctrl+V的快捷鍵),在我看來(lái),這樣的設(shè)計(jì)實(shí)在是太丑陋和陳舊了。
PowerShell與SSH的靈活性對(duì)比
另一方面,SSH是非常靈活和具有彈性的,這就是為什么你可以使用任何你想要的SSH客戶(hù)端,就我個(gè)人而言,我喜歡PuTTY,它非常輕巧,功能強(qiáng)大,我工作上需要的功能它全都有了,復(fù)制和粘貼也能輕松地完成,只需要選擇文本(它會(huì)聰明地逐行選擇,而不是通過(guò)光標(biāo)位置選擇),它就會(huì)自動(dòng)復(fù)制到剪貼板中,只需點(diǎn)擊一下鼠標(biāo)(在Linux下是鼠標(biāo)滾輪)就會(huì)粘貼到光標(biāo)所在位置,我在shell中編輯文檔時(shí)經(jīng)常使用這個(gè)功能,非常非常簡(jiǎn)單和好用,這種行為在Linux文本終端運(yùn)行模式下也一樣,只要開(kāi)啟gdm服務(wù)即可(這個(gè)服務(wù)允許在文本終端下使用鼠標(biāo))。
SSH的優(yōu)勢(shì)所在
我喜歡SSH的另一個(gè)功能是隧道,它是一個(gè)輕量級(jí)功能,允許我訪問(wèn)位于SSH服務(wù)器網(wǎng)絡(luò)內(nèi)機(jī)器的TCP端口,本地端口可以轉(zhuǎn)發(fā)到遠(yuǎn)程端口,這是一項(xiàng)偉大的創(chuàng)新,最棒的是所有映射端口的網(wǎng)絡(luò)流量全部使用被加密了。
Bash中的Tab鍵自動(dòng)補(bǔ)全功能是我最喜歡的一項(xiàng)功能,如果你記不住詳細(xì)的命令,可以連續(xù)按兩次Tab鍵,便會(huì)流出一長(zhǎng)串候選命令,為輸入命令帶來(lái)了極大的便利,PowerShell一如既往地使用Windows中陳舊的命令提示符,你必須連續(xù)按Tab鍵不斷滾動(dòng)候選命令,直到發(fā)現(xiàn)你需要輸入的命令為止,如果不小心翻過(guò)了,只有重新再翻一次整個(gè)命令列表,在超過(guò)5或更多的匹配命令列表中,使用PowerShell的Tab自動(dòng)完成功能所花的時(shí)間很長(zhǎng),還不如想別的辦法,說(shuō)不定還能更快地找到需要輸入的命令。
這些都是很基本的功能,在我看來(lái),每個(gè)Shell都應(yīng)該具有,但PowerShell讓我失望了一次,希望能在以后的版本中不斷汲取Bash的優(yōu)點(diǎn),為用戶(hù)帶來(lái)靈活好用的命令行接口。
【本文乃51CTO譯文,轉(zhuǎn)載請(qǐng)務(wù)必標(biāo)明作者和出處!】
原文出處:http://www.zdnet.co.uk/blogs/the-open-source-revolution-10014902/limitations-of-windows-powershell-vs-linux-sshbash-10018633/
原文名:Limitations of Windows PowerShell vs. Linux SSH/bash
作者:apexwm
【編輯推薦】