Алиасы Powershell

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

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

Алиасы Powershell
Алиасы Powershell Алиас (англ. Alias) – в буквальном переводе означает “прозвище, кличка”.

Понимание алиасов в 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, я пришел к выводу, что при написании небольших скриптов или команд однострочные алиасы делают код более компактным и легким для восприятия. Однако, в случае более крупных скриптов предпочтительнее использовать полные названия команд, чтобы обеспечить максимальную читаемость кода, особенно для других разработчиков или администраторов, которые могут быть непривычны к таким сокращениям.

Nazario

Я — Nazario, тот самый человек, который больше десяти лет ковыряется в Linux и Windows системах не ради хобби, а потому что это — работа и жизнь. Всё, что вы читаете на Setiwik.ru, — это не пересказ справки из мануала, а результат десятков реальных кейсов, выстраданных конфигов и ночных перезагрузок.

Я не претендую на истину в последней инстанции. Но если мой опыт может кому-то упростить работу — значит, всё это не зря. Здесь нет «магии», только практика: от настроек сервера до неожиданных багов, которые не гуглятся с первого раза.

Setiwik.ru — это место, где IT становится чуть менее хаотичным. Заходите почаще — будем разбираться вместе.

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