Алиасы
Алиасы в 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 | Вывод в виде списка |