使用熟悉的命令名称Using familiar command names

本文内容

PowerShell 支持别名以通过备用名称引用命令。别名允许具有其他 Shell 经验的用户使用其已知的常见命令名称在 PowerShell 中执行类似操作。

别名将新名称与其他命令关联。例如,PowerShell 具有名为 Clear-Host 的内部函数,该函数清空输出窗口。可以在命令提示符下键入 cls 或 clear 别名。PowerShell 解释这些别名并运行 Clear-Host 函数。

此功能可帮助用户了解 PowerShell。首先,大多数 cmd.exe 和 Unix 用户都要使用大量命令,用户通过名称已经了解这些命令。PowerShell 等效项可能不会产生相同的结果。但是,结果非常接近,用户可以在不知道 PowerShell 命令名称的情况下完成工作。学习新的命令 shell 时,“手指记忆”是另一个令人沮丧的主要原因。如果你已使用 cmd.exe 多年,则可能会条件反射地键入 cls 命令来清除屏幕。如果没有 Clear-Host 的别名,则会收到一条错误消息,并且不知道如何操作才能清除输出。

以下列表显示可在 PowerShell 中使用的常见 cmd.exe 和 UNIX 命令:

cat dir 装载 rm
cd echo move rmdir
chdir erase popd sleep
clear h ps sort
cls history pushd tee
copy kill pwd type
del lp r write
diff ls ren

Get-Alias cmdlet 显示与别名关联的本机 PowerShell 命令的真实名称。

1. PS> Get-Alias cls
1. CommandType     Name                               Version    Source
2. -----------     ----                               -------    ------
3. Alias           cls -> Clear-Host

解释标准别名Interpreting standard aliases

我们之前描述的别名时为了实现与其他命令 shell 的名称兼容性而设计的。PowerShell 中内置的大多数别名都是为了实现简洁性而设计的。较短的名称更容易键入,但如果你不知道它们所指的是什么,则难以理解。

PowerShell 别名尝试兼顾清晰度和简洁性。PowerShell 为常见名词和谓词使用一组标准的别名。

示例缩写:

名词或谓词 缩写
Get g
Set s
Item i
Location l
Command cm
Alias al

了解简写名称后,这些别名是可以理解的。

Cmdlet 名称 Alias
Get-Item gi
Set-Item si
Get-Location gl
Set-Location sl
Get-Command gcm
Get-Alias gal

熟悉 PowerShell 别名后,就很容易猜到 sal 别名指的是 Set-Alias。

创建新别名Creating new aliases

可以使用 Set-Alias cmdlet 创建自己的别名。例如,以下语句创建之前讨论的标准 cmdlet 别名:

1. Set-Alias -Name gi -Value Get-Item
2. Set-Alias -Name si -Value Set-Item
3. Set-Alias -Name gl -Value Get-Location
4. Set-Alias -Name sl -Value Set-Location
5. Set-Alias -Name gcm -Value Get-Command

在内部,PowerShell 会在启动过程中使用类似的命令,但这些别名不可更改。如果尝试执行其中一个命令,你将收到一个错误,该错误说明别名无法进行修改。例如:

1. PS> Set-Alias -Name gi -Value Get-Item
2. Set-Alias : Alias is not writeable because alias gi is read-only or constant and cannot be written to.
3. At line:1 char:10
4. + Set-Alias  <<<< -Name gi -Value Get-Item