zhang-snail

导航

 

(5)Powershell别名(Alias)

在上一节,介绍了如何检索当前shell及Powershell中所有可用的命令,对于指定的命令会查看其语法信息,可以获取指定命令的帮助信息,包括获取在线帮助主题,详细内容时间戳这嘎达

在本节中,主要介绍Powershell的别名,主要包含以下内容。

  1. 熟悉常见的别名。

  2. 标准别名的规范和创建新的别名。

  3. Powershell中兼容性别名。

  4. 总结


熟悉常见的别名

别名,通俗点说就是另外一个名字,别名将所输入的命令和另外一个命令关联。举个例子,"咪咪"是"猫"的别名。通过使用别名,Powershell允许用户使用替代命令来引用命令。而且,别名使具有其它shell经验的用户在Powershell中重用这些命令来执行类似的操作。

例如:Powershell有一个名为Clear-Host的内部函数,用于清楚输出窗口。如果在命令提示符下输入 cls 或是 clear 命令,Powershell就会将此命令解释为 Clear-Host 函数的别名并允许 Clear-Host函数。

Powershell的别名功能非常有助于开发者了解Powershell,大多数的 cmd.exe 或是 UNIX 用户都有其按名称记忆的大量命令清单,他们在形式上的相似性足以使开发者无需先记住Powershell命令名称即可直接使用这些命令来完成工作。

下面是可以在Powershell中使用的通用的 Cmd.exe 和 UNIX 命令的简短列表。

cat dir mount 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

如果经常使用这些命令之一,又想知道其在Powershell中的真实名称,可以通过 Get-Alias命令。

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Alias cls

CommandType     Name                                               Version    Source                                                                                     
-----------     ----                                               -------    ------                                                                                     
Alias           cls -> Clear-Host                                                                                                                                        

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Alias ls

CommandType     Name                                               Version    Source                                                                                     
-----------     ----                                               -------    ------                                                                                     
Alias           ls -> Get-ChildItem                                                                                                                                      

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Alias rmdir

CommandType     Name                                               Version    Source                                                                                     
-----------     ----                                               -------    ------                                                                                     
Alias           rmdir -> Remove-Item         

关于别名应该注意,如果是处理其它来源的Powershell脚本或是代码段,或是希望定义自己的别名,知道有关的别名信息十分重要。同时也应该在意识到,每个开发者都可以定义自己的别名,所以在团队协作编写脚本是,应该尽量避免使用别名。


标准别名的规范

上面提到的别名是为实现与其他shell命令名称的兼容性而设计的,但是Powershell内置的别名与其不同,通常是为了简短易用而设计的,这些简短的命令便于输入,但是如果不了解其含义,则无法正确解读它们。

通过提供一组基于常用动词和名词的速记名称的标准别名,PowerShell在清晰性与简短性之间取得平衡。在一组常用 cmdlet的核心别名中,只需知道速记名称即可解读这些命令。例如,在标准别名中,动词 Get 缩写为 g,动词 Set 缩写为 s,名词 Item 缩写为 i,名词 Location 缩写为 l,而名词 Command 缩写为 cm。 请参考以下表格中的例子。

PS(Powershell)命令 PS(Powershell)别名
Get-Item gi
Set-Item si
Get-Location gl
Set-Location sl
Get-Command gcm

创建新的别名

Powershell命令 Set-Alias cmdlet 可以创建别名,如可以创建以下别名。

Set-Alias -Name gi -Value Get-Item

Set-Alias -Name si -Value Set-Item

Set-Alias -Name gl -Value Get-Location

Set-Alias -Name sl -Value Set-Location

Set-Alias -Name gcm -Value Get-Command

在内部,Powershell启动时会使用此类命令。需要注意的是Powershell内置别名(上面5个别名就是内置别名)是只读的或是常事,意味着Powershell内置的别名使不可修改的。


Powershell中兼容性别名

Powershell有几个转换别名,允许 UNIX 和 Cmd 开发者在Powershell 中使用熟悉的命令名称。下表列出了最常用的别名以及别名背后的Powershell命令和标准的Powershell别名(如果存在的话)。如前文所述,可以使用 Get-Alias cmdlet 查找别名对应的Powershell命令,如 Get-Alias cls 。

CMD命令 UNIX命令 PS(Powershell)命令 PS(Powershell)别名
dir ls Get-ChildItem gci
cls clear Clear-Host(函数) 不可用
del,erase,rmdir rm Remove-Item ri
copy cp Copy-Item ci
move mv Move-Item mi
rename mv Rename-Item rni
type cat Get-Content gc
cd cd Set-Location sl
md mkdir New-Item ni
不可用 pushd Push-Location 不可用
不可用 popd Pop-Location 不可用



总结

通过学习本节内容,应掌握以下内容

  1. Powershell中常见的别名及通过别名查看实际的Powershell命令。

  2. Powershell的别名命名规范以及会新建自己的别名(Powershell内置的别名不可更改)。

  3. 知道Powershell中兼容性别名

posted on 2024-01-17 20:04  zhang-snail  阅读(32)  评论(0编辑  收藏  举报