PowerShell (I): 命令提示符的进化
- 什么是PowerShell
- 从CMD到PowerShell的飞跃
CMD与PowerShell有许多与Unix/Linux的shell的相似之处。
例如大部分内置命令(虽然在PowerShell中被定义为Alias注1),cd,dir,rmdir,mkdir等等。
CMD的右键菜单与shell相似,而PowerShell则变成了直接粘贴,没有右键菜单。
PowerShell左键直接选中,而CMD需要右键菜单中选择“标记”。
PowerShell可以执行一切CMD可执行的命令注2,而在这基础上,PowerShell引入了cmdlet概念。
更确切的说,这些cmdlet其实与编程语言里的函数是一样的。
表面上看上去这些命令类似于可执行程序,实际上这些命令都是由Windows PowerShell团队创建的原生命令,都是内置于Windows PowerShell中的。
由于这些命令都是由.Net Framework所创建,为了区分其本质与可执行程序的不同,这些命令便被称呼为cmdlet。
- PowerShell的版本
PowerShell目前为止有4个稳定版本,一个Preview。
1.0需要XP SP2及以上,2.0为XP SP3或Server 2003 SP2及以上,3.0需要7 SP1或Server 2008 SP2及以上,4.0则为7 SP1或Server 2008 R2 SP1及以上。
而5.0将会随着Windows 10一起发布,现已放出Preview。5.0已经放弃支持所有8.1之前的版本,请注意电脑版本。注3
- 命名约定
所有cmdlet都会遵循由PowerShell团队建立的一个固定的命名约定。
基本上,都是由“动词-名词”组成。例如,Get-Help,Move-Item,Set-Location等等(稍微复杂的则会有两个以上的名词如Get-ItemProperty。)
由于其动词太多,此文不进行详述。详细列表可在MSDN上找到。
- 综述
本文仅阐述了基本的PowerShell的定义与概念。在后续文中,将会去探讨PowerShell cmdlet和各种运算、逻辑符号以及流控制的用法,还有PowerShell与.Net Framework的联系。