Поделиться через


Использование псевдонимов

Псевдоним — это альтернативное имя или сокращенное имя для обозначения командлета или элемента команды, например, скрипта, функции, файла или исполняемого файла. Команду можно выполнить с помощью псевдонима вместо имени исполняемого файла.

Управление псевдонимами команд

В PowerShell есть командлеты для управления алиасами команд. В следующей команде показаны командлеты, управляющие псевдонимами.

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 для перечисления псевдонимов, доступных в вашей среде. Чтобы указать псевдонимы для одного командлета, используйте параметр Definition и укажите имя исполняемого файла.

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 команду. Псевдонимы можно создавать для командлетов, функций, скриптов и нативных исполняемых файлов.

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

Псевдонимы совместимости в Windows

PowerShell имеет несколько псевдонимов, которые позволяют Unix и cmd.exe пользователям использовать знакомые команды в Windows. В следующей таблице представлены стандартные команды, соответствующие командлеты PowerShell и псевдонимы PowerShell.

Командная оболочка Windows Команда Unix Командлет "PowerShell" Псевдоним PowerShell
cd, chdir cd Set-Location sl, , cdchdir
cls clear Clear-Host cls clear
copy cp Copy-Item cpi, , cpcopy
del, , eraserdrmdir rm Remove-Item ri, , deleraserdrm,rmdir
dir ls Get-ChildItem gci, , dirls
echo echo Write-Output write echo
md mkdir New-Item ni
move mv Move-Item mi, , movemv
popd popd Pop-Location popd
pwd Get-Location gl, , pwd$PWD
pushd pushd Push-Location pushd
ren mv Rename-Item rni, ren
type cat Get-Content gc, , cattype

Замечание

Псевдонимы в этой таблице зависят от Windows. Некоторые псевдонимы недоступны на других платформах, чтобы позволить существующей встроенной команде работать в сеансе PowerShell. Например, ls не определено как псевдоним PowerShell в macOS или Linux, поэтому PowerShell выполняет собственную команду вместо Get-ChildItem.

Создание альтернативных имен для команд с параметрами

Псевдоним можно назначить командлету, скрипту, функции или исполняемому файлу. В отличие от некоторых оболочк Unix, определение псевдонима не может включать параметры. Например, можно назначить псевдоним Get-Eventlog командлету, но вы не можете назначить псевдоним команде Get-Eventlog -LogName System . Необходимо создать функцию, содержащую команду с параметрами.

Дополнительные сведения см. в about_Aliases.

Псевдонимы параметров и сокращенные имена

PowerShell также предоставляет способы создания коротких имен для параметров. Псевдонимы параметров определяются с помощью атрибута Alias при объявлении параметра. Псевдонимы параметров нельзя определить с помощью *-Alias командлетов.

Дополнительные сведения см. в документации по атрибутам Alias .

В дополнение к псевдонимам параметров PowerShell позволяет указать имя параметра, используя наименьшие символы, необходимые для уникального определения параметра. Например, командлет Get-ChildItem имеет параметры Recurse и ReadOnly. Чтобы однозначно определить параметр Recurse, необходимо указать только -Rec. При комбинировании с псевдонимом команды Get-ChildItem -Recurse можно сократить до dir -Rec.

Не используйте псевдонимы в скриптах

Псевдонимы — это удобная функция для интерактивного использования в оболочке. В скриптах всегда следует использовать полные имена команд и параметров.

  • Псевдонимы можно удалить или переопределить в скрипте профиля.
  • Псевдонимы, определенные в вашем профиле, не будут доступны другим пользователям.
  • Псевдонимы усложняют чтение и обслуживание кода