Просмотр и поиск псевдонимов командлетов в PowerShell


PowerShell интенсивно использует псевдонимы, благодаря им вы можете ввести в командную строку «ls», «dir», «pwd», «cd» и другие популярные в Linux или в командной строке Windows команды и вместо ошибки получить ожидаемый результат.

Вы можете создавать и импортировать свои собственные псевдонимы — этому будет посвящена одна из последующих статей сайта pwsh.ru, в данной статье мы изучим, как вывести уже имеющиеся псевдонимы (их много!), а также как искать по псевдонимам и по командлетам.

Командлет Get-Alias выводит псевдонимы текущей сессии. Сюда входят встроенные псевдонимы, псевдонимы, которые вы установили или импортировали, а также псевдонимы, которые вы добавили в свой профиль PowerShell.

По умолчанию Get-Alias принимает псевдоним и возвращает имя команды. Когда вы используете параметр -Definition, Get-Alias принимает имя команды и возвращает её псевдонимы.

Начиная с Windows PowerShell 3.0, Get-Alias отображает псевдонимы без дефисов в формате ПСЕВДОНИМ -> ЗНАЧЕНИЕ, чтобы упростить поиск необходимой информации.

Как вывести все псевдонимы

Чтобы показать все имеющиеся псевдонимы, запустите следующую команду:

Get-Alias

Будут выведены следующие столбцы:

  • CommandType (тип команды, всегда «Alias»)
  • Name (имя, именно здесь записан псевдоним в формате «ПСЕВДОНИМ -> ЗНАЧЕНИЕ», например «clear -> Clear-Host»
  • Version (версия)
  • Source (источник)

Как искать по именам псевдонима

Для поиска по именам псевдонима укажите его имя, это можно сделать с опцией -Name или пропустив её. Также имена можно передавать по конвейеру, следующие команды идентичны:

Get-Alias -Name '*rm*'
Get-Alias '*rm*'
echo '*rm*' | Get-Alias


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

Смотрите также: Подстановочные символы в PowerShell

Как узнать значение псевдонима

Если вы хотите узнать, что означает псевдоним «echo» или «rm» или любой другой, то укажите его точное значение не используя подстановочных знаков:

Get-Alias echo

Если вы хотите вывести только значение псевдонима, то используйте следующую конструкцию:

(Get-Alias ПСЕВДОНИМ).Definition

Например:

(Get-Alias echo).Definition

Как узнать все псевдонимы команды

С помощью опции -Definition вы можете узнать все псевдонимы указанного элемента. Вы можете указать имя командлета, функции, скрипта, файла или исполняемого файла.


Этот параметр называется -Definition, поскольку он ищет имя элемента в свойстве Definition объекта псевдонима.

Пример:

Get-Alias -Definition '*where*'

Если вы хотите вывести только псевдонимы, то используйте конструкцию вида:

(Get-Alias -Definition '*КОМАНДЛЕТ*').Name

Чтобы создать новый псевдоним, используйте Set-Alias или New-Alias. Чтобы удалить псевдоним, используйте Remove-Item.

Примеры использования Get-Alias

Пример 1: Вывести список всех псевдонимов в текущем сеансе

Get-Alias

    CommandType     Name
    -----------     ----
    Alias           % -> ForEach-Object
    Alias           ? -> Where-Object
    Alias           ac -> Add-Content
    Alias           asnp -> Add-PSSnapin
    Alias           cat -> Get-Content
    Alias           cd -> Set-Location
    Alias           chdir -> Set-Location
    Alias           clc -> Clear-Content
    Alias           clear -> Clear-Host
    Alias           clhy -> Clear-History
    ...

Эта команда получает все псевдонимы в текущем сеансе.

В выходных данных показан формат «ПСЕВДОНИМ -> ЗНАЧЕНИЕ», который был введён в Windows PowerShell 3.0. Этот формат используется только для псевдонимов, не содержащих дефисов, поскольку псевдонимы с дефисами обычно являются предпочтительными именами для командлетов и функций, а не псевдонимами.

Пример 2: Найти псевдонимы по имени

Get-Alias -Name gp*, sp* -Exclude *ps

Эта команда получает все псевдонимы, начинающиеся с gp или sp, за исключением псевдонимов, заканчивающихся на ps.

Пример 3: Узнать псевдонимы для командлета

Get-Alias -Definition Get-ChildItem

Эта команда получает псевдонимы для командлета Get-ChildItem.

По умолчанию командлет Get-Alias получает имя элемента, если известен псевдоним. Параметр -Definition получает псевдоним, если вы знаете имя элемента.

Пример 4: Получить псевдонимы по свойству

Get-Alias | Where-Object {$_.Options -Match "ReadOnly"}

Эта команда получает все псевдонимы, в которых значение свойства Options равно ReadOnly. Эта команда обеспечивает быстрый способ поиска псевдонимов, встроенных в PowerShell, поскольку у них у всех параметр ReadOnly.

Options — это лишь одно свойство объектов AliasInfo, которые получает Get-Alias. Чтобы найти все свойства и методы объектов AliasInfo, введите

Get-Alias | Get-Member

Пример 5. Поиск псевдонимов по имени и фильтрация по начальной букве

Get-Alias -Definition "*-PSSession" -Exclude e* -Scope Global

Этот пример получает псевдонимы для команд, имена которых заканчиваются на «-PSSession», за исключением тех, которые начинаются на «e».

Команда использует параметр -Scope для применения команды в глобальной области. Это полезно в сценариях, когда вы хотите получить псевдонимы в определённой сессии.


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *