Алиасы

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

Пример: `ls` является алиасом для `Get-ChildItem`.

Для создания нового алиаса используется командлет Set-Alias.

Пример:

Set-Alias ll Get-ChildItem
ll

Теперь при вводе `ll` будет выполняться `Get-ChildItem`.

Список всех алиасов можно получить с помощью:

Get-Alias

Поиск алиаса для конкретной команды:

Get-Alias -Definition Get-ChildItem

Алиас можно удалить с помощью Remove-Item:

Remove-Item Alias:ll
Remove-Item Alias:clear

Обычные алиасы не поддерживают параметры. Чтобы создать «алиас с параметрами», используют функцию.

Пример:

function ll { Get-ChildItem -Force -Recurse }
ll

Теперь `ll` всегда выполняет `Get-ChildItem` с параметрами `-Force -Recurse`.

Пример с передачей параметров:

function grep($pattern, $path) {
    Select-String -Pattern $pattern -Path $path
}
grep "error" C:\Logs\app.log

Функции можно добавить в профиль PowerShell (`$PROFILE`), чтобы они были доступны во всех сессиях.

По умолчанию алиасы существуют только в текущей сессии PowerShell. Чтобы сделать алиас или функцию постоянной, её нужно добавить в профиль PowerShell:

# Добавить в $PROFILE
Set-Alias ll Get-ChildItem
function grep($pattern, $path) { Select-String -Pattern $pattern -Path $path }
  • Алиасы не поддерживают параметры (только имя команды).
  • Для алиасов с параметрами используют функции.
  • Они работают только в PowerShell, в отличие от переменных окружения.
  • Использование алиасов в скриптах не рекомендуется (лучше писать полные команды ради читаемости кода).
  • Алиасы не экспортируются в другие сессии.
Алиас Командлет Назначение
ls Get-ChildItem Список файлов и папок
dir Get-ChildItem Аналог ls, вывод содержимого каталога
gc Get-Content Чтение содержимого файлов
cat Get-Content Аналог gc
type Get-Content Ещё один алиас для чтения файлов
rm Remove-Item Удаление файлов и папок
del Remove-Item Аналог rm
erase Remove-Item Аналог rm
cp Copy-Item Копирование файлов и папок
copy Copy-Item Аналог cp
mv Move-Item Перемещение файлов и папок
move Move-Item Аналог mv
pwd Get-Location Показать текущую директорию
cd Set-Location Смена директории
chdir Set-Location Аналог cd
cls Clear-Host Очистить экран
clear Clear-Host Аналог cls
echo Write-Output Вывод данных
write Write-Output Аналог echo
man help Вывод справки
? Where-Object Фильтрация объектов
% ForEach-Object Выполнение действий над объектами
ft Format-Table Вывод в виде таблицы
fl Format-List Вывод в виде списка