当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用别名

作者:精品下载站 日期:2024-12-14 03:01:26 浏览:13 分类:玩电脑

使用别名


别名是 cmdlet 或命令元素(例如函数、脚本、文件或可执行文件)的备用名称或简写名称。您可以使用别名而不是可执行文件名称来运行该命令。

管理命令别名

PowerShell 提供用于管理命令别名的 cmdlet。以下命令显示管理别名的 cmdlet。

Get-Command -Noun Alias
CommandType Name         Version Source
----------- ----         ------- ------
Cmdlet      Export-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Import-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Remove-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Set-Alias    7.0.0.0 Microsoft.PowerShell.Utility

有关更多信息,请参阅 about_Aliases。

使用 Get-Alias cmdlet 列出您的环境中可用的别名。要列出单个 cmdlet 的别名,请使用定义参数并指定可执行文件名称。

Get-Alias -Definition Get-ChildItem
CommandType     Name
-----------     ----
Alias           dir -> Get-ChildItem
Alias           gci -> Get-ChildItem
Alias           ls -> Get-ChildItem

要获取单个别名的定义,请使用Name参数。

Get-Alias -Name gci
CommandType     Name
-----------     ----
Alias           gci -> Get-ChildItem

要创建别名,请使用Set-Alias命令。您可以为 cmdlet、函数、脚本和本机可执行文件创建别名。

Set-Alias -Name np -Value Notepad.exe
Set-Alias -Name cmpo  -Value Compare-Object

Windows 中的兼容性别名

PowerShell 有多个别名,允许 UNIXcmd.exe 用户在 Windows 中使用熟悉的命令。下表显示了常用命令、相关 PowerShell cmdlet 和 PowerShell 别名:

Windows Command Shell UNIX command PowerShell cmdlet PowerShell alias cd, chdir cd Set-Location sl, cd, chdir cls clear Clear-Host cls clear copy cp Copy-Item cpi, cp, copy del, erase, rd, rmdir rm Remove-Item ri, del, erase, rd, rm, rmdir dir ls Get-ChildItem gci, dir, ls echo echo Write-Output write echo md mkdir New-Item ni move mv Move-Item mi, move, mi popd popd Pop-Location popd pwd Get-Location gl, pwd pushd pushd Push-Location pushd ren mv Rename-Item rni, ren type cat Get-Content gc, cat, type

笔记

此表中的别名是 Windows 特定的。某些别名在其他平台上不可用。这是为了允许本机命令在 PowerShell 会话中工作。例如,ls 在 macOS 或 Linux 上未定义为 PowerShell 别名,因此运行本机命令而不是 Get-ChildItem

为带参数的命令创建备用名称

您可以为 cmdlet、脚本、函数或可执行文件分配别名。与某些 Unix shell 不同,您无法为带有参数的命令分配别名。例如,您可以为 Get-Eventlog cmdlet 分配别名,但不能为 Get-Eventlog -LogName System 命令分配别名。您必须创建一个包含带参数的命令的函数。

有关更多信息,请参阅 about_Aliases。

参数别名和简写名称

PowerShell 还提供了为参数创建简写名称的方法。参数别名是在声明参数时使用 Alias 属性定义的。这些不能使用 *-Alias cmdlet 定义。

有关更多信息,请参阅别名属性文档。

除了参数别名之外,PowerShell 还允许您使用唯一标识参数所需的最少字符来指定参数名称。例如,Get-ChildItem cmdlet 具有RecurseReadOnly 参数。要唯一标识Recurse参数,您只需提供-rec。如果将其与命令别名结合使用,Get-ChildItem -Recurse 可以缩短为 dir -rec

不要在脚本中使用别名

别名是在 shell 中交互使用的一项便利功能。您应该始终在脚本中使用完整的命令和参数名称。

  • 可以在配置文件脚本中删除或重新定义别名
  • 您定义的任何别名可能对脚本的用户不可用
  • 别名使代码更难阅读和维护

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯