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