我们知道标准的PowerShell的Cmdlets命名方式是采用动词+名词的方式命名的,一般比较长,而且和dos命令也不一样。比如我们习惯了使用cd,dir等dos命令。而我们发现,当我们在PowerShell中输入dir,cd等命令时也依旧可以使用,这并不是说我们在Powershell中执行了dos的dir,cd命令(虽然PowerShell支持这样的操作),其实是因为PowerShell提供了一个叫dir的别名。前一篇博文我们看到PowerShell的三种命令类型之一就是alias(别名)。为了验证我们通过下面两个方式来看。

第一种方式,我们输入PowerShell命令:

dir | Get-Member

看输出,输出的是.net对象。

PowerShell命令类型之-alias(别名)_dos命令

第二种方式,我们使用查看PowerShell别名的Cmdlets:

Get-Alias dir

我们看输出:

PowerShell命令类型之-alias(别名)_PowerShell_02

其实这里执行的dir不是dos的dir命令,而是执行的PowerShell的get-childitem的cmdlets。只是为了方便我们使用和减少输入,兼容dos,PowerShell为我们提供一个简短的叫dir的别名而已。