- Почему возникают вопросы про алиасы и зачем они вообще нужны
- Как посмотреть все алиасы и найти нужный
- Самые популярные встроенные алиасы с примерами использования
- Создание собственных алиасов через Set-Alias и New-Alias
- Как сделать алиасы постоянными через профиль PowerShell
- Алиасы в повседневной работе, реальные сценарии 2025-2026 годов
- Когда алиасы вредят и лучшие практики от сисадмина
- Сравнительная таблица популярных алиасов
- Частые ошибки таблица
- Альтернативные способы упрощения команд
- FAQ
- Вывод
Вот четыре команды, которые решают 80 процентов вопросов про алиасы прямо сейчас. Просто скопируйте и выполните в PowerShell.
Get-Alias # посмотреть все алиасы
Get-Alias dir # узнать что скрывается за dir
Get-Alias -Definition Get-ChildItem # все сокращения для одной команды
Set-Alias ll Get-ChildItem # создать свой алиас за 5 секунд
В 80 процентах случаев помогает именно Get-Alias и понимание что % это ForEach-Object а ? это Where-Object.

Обновлено 06 марта 2026
Статья полностью переписана и расширена.
Почему возникают вопросы про алиасы и зачем они вообще нужны
За многие годы работы с Windows и PowerShell я вижу одну и ту же картину. Человек открывает чужой скрипт видит кучу % ? gci cat и думает что это какой-то китайский. Потом читает документацию и понимает что это просто сокращения. А потом сам начинает их использовать в консоли потому что экономит 3-4 секунды на каждой команде.
Алиасы появились чтобы людям с опытом *nix-систем было проще перейти на PowerShell. dir ls cat man cp mv rm, все это знакомые команды из Linux и они работают в PowerShell именно благодаря алиасам.
Но есть обратная сторона. В больших скриптах которые вы отдаете коллегам или кладете в репозиторий алиасы часто мешают. Код становится менее читаемым особенно если человек только начинает работать с PowerShell.
Как посмотреть все алиасы и найти нужный
Самая первая команда которую стоит запомнить.
Get-Alias
Вывод будет длинный поэтому обычно добавляют сортировку или фильтр.
Get-Alias | Sort-Object Name # по алфавиту
Get-Alias ? # что значит вопросительный знак
Get-Alias % # что значит процент
Get-Alias g* # все алиасы на букву g
Хотите узнать все сокращения для конкретной команды — используйте параметр Definition.
Get-Alias -Definition Get-ChildItem
Get-Alias -Definition Get-Process
На моей Windows 11 24H2 и PowerShell 7.5 команда Get-Alias -Definition Get-ChildItem обычно выдает gci dir ls.
Самые популярные встроенные алиасы с примерами использования
Вот таблица самых часто используемых алиасов которые я реально применяю каждый день.
| Алиас | Полная команда | Пример использования | Где чаще всего нужен |
|---|---|---|---|
| ? | Where-Object | ls | ? {$_.Length -gt 1MB} | фильтрация вывода |
| % | ForEach-Object | Get-Process | % { $_.Name } | обработка коллекции |
| gci / dir / ls | Get-ChildItem | gci -Recurse *.log | просмотр файлов |
| cat / gc | Get-Content | cat error.log -Tail 50 | чтение логов |
| cp | Copy-Item | cp file.txt D:\backup | копирование |
| mv | Move-Item | mv *.tmp C:\Temp | перемещение |
| rm / del / ri | Remove-Item | rm -Recurse old_folder | удаление |
| cls / cl | Clear-Host | cls | очистка экрана |
| echo | Write-Output | echo $env:USERNAME | вывод переменной |
| man / help | Get-Help | man Get-Process | справка |
| gps | Get-Process | gps chrome | sort CPU -Desc | процессы |
| gpv | Get-ItemPropertyValue | gpv HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion ProgramFilesDir | реестр |
Пример реального однострочника который я использую почти каждый день.
gci -Recurse *.log | ? {$_.Length -gt 10MB} | % { $_.FullName } | sort Length -Descending
Находит все лог-файлы тяжелее 10 МБ сортирует по размеру и выводит полный путь. Без алиасов эта строка была бы в два раза длиннее.
Создание собственных алиасов через Set-Alias и New-Alias
Самый простой способ.
Set-Alias np notepad.exe # запуск блокнота по np
Set-Alias ll Get-ChildItem # ll как в linux
Set-Alias which Get-Command # поиск команды
Разница между Set-Alias и New-Alias небольшая. New-Alias ругается если алиас уже существует а Set-Alias перезаписывает молча. Я предпочитаю Set-Alias.
Пример полезного алиаса для разработчиков.
Set-Alias tf terraform # tf вместо terraform
Set-Alias k kubectl # k вместо kubectl
Как сделать алиасы постоянными через профиль PowerShell
Алиасы созданные в текущей сессии пропадают после закрытия PowerShell. Чтобы они жили всегда добавляем их в профиль.
notepad $PROFILE
Если файл не существует PowerShell предложит создать. Откроется пустой файл Microsoft.PowerShell_profile.ps1. Добавьте туда свои алиасы.
Set-Alias ll Get-ChildItem
Set-Alias np notepad.exe
Set-Alias grep Select-String
После сохранения перезапустите PowerShell или выполните . $PROFILE.
На рабочих серверах я обычно храню профиль в OneDrive или Git чтобы настройки были одинаковые на всех машинах.
Алиасы в повседневной работе, реальные сценарии 2025-2026 годов
Сценарий 1 быстрая чистка папки Downloads
gci ~/Downloads | ? {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | rm -WhatIf
Сначала смотрим что удалится потом убираем -WhatIf и чистим.
Сценарий 2 поиск процессов которые жрут память
gps | sort WS -Descending | select -First 15 | ft Name,@{n='MemMB';e={[math]::Round($_.WS/1MB,1)}}
Сценарий 3 мониторинг логов в реальном времени
cat error.log -Tail 20 -Wait
Алиасы здесь экономят время особенно когда вы в RDP и печатаете на русской раскладке по ошибке.
Когда алиасы вредят и лучшие практики от сисадмина
Главное правило, в консоли используйте алиасы сколько угодно. В скриптах которые хранятся годами и отдают коллегам лучше писать полные имена командлетов.
Почему:
- читаемость кода выше
- меньше шансов на конфликт если кто-то переопределит алиас
- PowerShell ISE и VS Code подсвечивают полные имена лучше
- в скриптах выполняемых по расписанию алиасы иногда не подгружаются
Рекомендую стиль:
- консоль → % ? gci cat
- скрипты → ForEach-Object Where-Object Get-ChildItem Get-Content
Сравнительная таблица популярных алиасов
| Действие | PowerShell полный | Алиас короткий | *nix аналог |
|---|---|---|---|
| Список файлов | Get-ChildItem | gci / dir / ls | ls / dir |
| Фильтр | Where-Object | ? | grep / awk |
| Цикл по объектам | ForEach-Object | % | for / xargs |
| Чтение файла | Get-Content | cat / gc | cat |
| Очистка экрана | Clear-Host | cls / cl | clear |
Частые ошибки таблица
| Ошибка | Что происходит | Как исправить |
|---|---|---|
| Пишут rm -r вместо Remove-Item -Recurse | в скрипте не работает | использовать полное имя в скриптах |
| Создают алиас help → Get-Help | ломается встроенная справка | не переопределять важные алиасы |
| Забывают $PROFILE | алиасы пропадают после перезапуска | добавлять в профиль |
| Используют алиасы в чужих скриптах | не понимают что делает код | заменять на полные имена при чтении |
Альтернативные способы упрощения команд
Кроме алиасов есть еще несколько подходов.
- Функции в профиле, когда нужна логика а не просто переименование
- Модули с собственными командлетами
- PSReadLine, автодополнение и история
- Oh My Posh, красивый prompt с git статусом
Пример функции вместо алиаса.
function up { Set-Location .. }
FAQ
Зачем нужны алиасы если можно писать полные команды?
Можно ли удалить встроенный алиас?
Почему в скрипте % не работает?
Как узнать какой алиас на что указывает?
Алиасы работают в PowerShell 7 на Linux?
Безопасно ли добавлять 50 своих алиасов в профиль?
Как экспортировать свои алиасы?
PowerShell 7.5 изменил что-то в алиасах?
Вывод
Алиасы это как нож на кухне. В руках опытного сисадмина ускоряют работу в разы. В руках новичка или при написании серьезных скриптов могут создать путаницу. Мой личный подход такой, в терминале % ? gci cat сколько угодно. В скриптах которые живут больше месяца, только полные имена командлетов.
Если вы только начинаете, то запомните хотя бы ?, %, gci, cat, cls. Остальное придет само. А если уже давно работаете с PowerShell, тогда загляните в свой $PROFILE. Возможно там лежат алиасы которые вы сами забыли и которые можно вынести в отдельный модуль.
Удачи в терминале и поменьше лишних нажатий клавиш.
Понравилась статья?
Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!
Поддержать проектСпасибо, что вы с нами!




