上篇文章我说道,windows为了改变用户对其console界面的诟病,因而就从windows vista开始,计划要改变这种局面,因而就有linux
了Powershell的出现。shell
一、兼容shell命令windows
为了兼容Unix/Linux Shell(主要是bash)的命令;Powershell中提供了一套机制来兼容cmd.exe和bash命令。这就是上篇文章中提到bash
的别名机制。下图是powershell中兼容的cmd命令和unix/linux shell的命令。函数
二、标准命令的别名spa
一样,powershell还提供一套机制来支持内置cmdlet的命令别名。命令行
咱们知道cmdlets采用一致的用户接口模式: 动词-名词。 正如上面所说,上表例举的别名是为了和其余的console界面命令相兼容,而内置命令的unix
别名是为了简便而设置的。powershell提供一组基于经常使用命令的动词和名词的速记名称来为标准别名进行命名。blog
例如:继承
动词 命令的缩写/别名
get g
set s
item i
location l
command cm
这样:gi 则至关于 get-item
si 则至关于 set-item
由于这些别名实在powershell启动期间自动加载的;因此若是在命令行中再次设置命令行别名,则会提示错误,以下图所示:
三、Tab自动补全功能
powershell同时还继承了Tab键的自动补全功能;不过这个与cmd和bash的Tab功能不太同样,powershell中的tab扩展功能是经过函数来实现的。
其函数是: TabExpansion控制的,因为在powershell中能够修改内置的函数,所以须要注意。
在键入命令时,若是要用Tab键来补充文件名或者路径;则在键入部分文件名或者路径后,按下Tab键,powershell中将自动将命令补充为第一个匹
配项,若是重复的按下Tab键,则将逐一显示全部可用的选项。
若是键入的是cmdlet;则与补充文件名和路径不一样;若是要对cmdlet名称使用tab扩展,须要完整键入名称的第一部分及后面的连字符。能够填充
名称的更多部分已进行匹配。例如: 键入 get-c 而后键入Tab键,则自动补充的为get-childitem命令,若是继续按下tab键则补充出的命令为get-com
mand命令。
在使用命令行自动补齐的过程有一点须要注意: 即不管什么时候Tan键都被解释为自动补充命令功能,所以在将命令复制到shell中时须要注意,复制的内容
后面不能包含Tab键。