Алиасы в PowerShell представляют собой удобные сокращения, которые позволяют выполнять команды, используя более короткие и лаконичные формы, не утрачивая при этом функциональности.
Недавно я наткнулся на блогера, который поделился несколькими интересными аспектами использования алиасов в PowerShell. Почему я раньше не обратил на них внимания? Давайте разберемся.

Понимание алиасов в PowerShell
Алиас (Alias) в переводе с английского означает “псевдоним” или “прозвище“. В PowerShell это позволяет нам использовать краткие обозначения для команд, делая код более лаконичным и читаемым.
Упрощение синтаксиса
Первый алиас: “?” вместо “Where-Object“
В скриптах часто приходится использовать Where-Object для фильтрации результатов. Например:
Get-ChildItem -Path D:\ -Recurse | Where-Object { $_.PSIsContainer }
Однако, можно использовать алиас ? вместо Where-Object, что делает код более компактным.
Get-ChildItem -Path D:\ -Recurse | ? { $_.PSIsContainer }
Обе записи абсолютно идентичны по своей функциональности.
Второй алиас: “%” вместо “ForEach-Object”
Аналогично, для выполнения операций над каждым элементом коллекции можно использовать ForEach-Object или его сокращенную форму foreach. Однако, алиас % делает код еще более лаконичным.
Get-ChildItem -Path D:\ -Recurse | ? { $_.PSIsContainer } | % {$_}
Удобство использования алисов в PowerShell
Упрощение логических операций с помощью алиасов
Вместо логического оператора -not можно использовать оператор-алиас !, что делает код более читаемым.
Get-ChildItem -Path D:\ -Recurse | Where-Object { -not $_.PSIsContainer }
Можно заменить на:
Get-ChildItem -Path D:\ -Recurse | Where-Object { ! $_.PSIsContainer }
Список полезных алиасов в PowerShell
| Алиас | Команда |
|---|---|
| ? | Where-Object |
| % | ForEach-Object |
| ! | -not |
| gci | Get-ChildItem, используется для получения списка файлов и каталогов в указанном пути. |
| dir | Get-ChildItem, также используется для получения списка файлов и каталогов. |
| ls | Get-ChildItem, сокращенная версия dir. |
| cl | Clear-Host, очищает окно консоли. |
| cat | Get-Content, используется для чтения содержимого файлов. |
| man | Get-Help, используется для получения справки по командам. |
| ni | New-Item, создает новый объект (файл, каталог и т. д.). |
| mkdir | New-Item, создает новый каталог. |
| cp | Copy-Item, копирует файлы и каталоги. |
| mv | Move-Item, перемещает файлы и каталоги. |
| del | Remove-Item, удаляет файлы и каталоги. |
| ri | Remove-Item, также используется для удаления файлов и каталогов. |
| cls | Clear-Host, альтернативный способ очистки окна консоли. |
| echo | Write-Output, выводит данные на консоль. |
| gc | Get-Content, сокращенная версия cat. |
| sajb | Start-Job, запускает команду в фоновом режиме. |
| sasb | Stop-Job, останавливает фоновую задачу. |
| sc | Set-Content, используется для записи данных в файл. |
| sls | Select-String, используется для поиска текстовых строк в файлах. |
| gps | Get-Process, получает информацию о запущенных процессах. |
| gcm | Get-Command, получает информацию о доступных командах. |
Чтобы просмотреть все алиасы в PowerShell, вы можете использовать командлет Get-Alias. Просто введите эту команду в консоли PowerShell и выполните ее, чтобы получить список всех доступных алиасов.
Заключение
Работая с этими алиасами в PowerShell, я пришел к выводу, что при написании небольших скриптов или команд однострочные алиасы делают код более компактным и легким для восприятия. Однако, в случае более крупных скриптов предпочтительнее использовать полные названия команд, чтобы обеспечить максимальную читаемость кода, особенно для других разработчиков или администраторов, которые могут быть непривычны к таким сокращениям.
Понравилась статья?
Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!
Поддержать проектСпасибо, что вы с нами!



