Вики / Базовые команды
alias — псевдонимы команд
Короткие имена для длинных команд; временно и навсегда через ~/.bashrc; почему alias не виден в скриптах.
alias — псевдоним: короткое имя, которое оболочка разворачивает в команду.
Удобно для частых команд с флагами. Это функция интерактивной оболочки —
в скриптах alias'ы по умолчанию не работают (там пиши функции, см. bash-scripting).
alias # показать все текущие псевдонимы
alias ll='ls -lah' # создать псевдоним
alias gs='git status'
alias ..='cd ..'
alias grep='grep --color=auto'
type ll # проверить, во что развернётся (см. which/type)
unalias ll # удалить один
\ls # запустить ОРИГИНАЛ, минуя alias (обратный слеш)
command ls # то же — без alias-расширения
Псевдоним из командной строки живёт только до закрытия терминала. Чтобы был всегда —
добавь в ~/.bashrc (для конкретного пользователя):
echo "alias ll='ls -lah'" >> ~/.bashrc
source ~/.bashrc # применить в текущей сессии (или открой новый терминал)
Системные значения по умолчанию в Ubuntu лежат в ~/.bash_aliases (его подключает
~/.bashrc). Подробнее про профили и $PATH — env-vars.
Псевдоним пропал после перезахода
Ты создал его в строке, но не сохранил в ~/.bashrc. Добавь туда.
alias не работает в скрипте / по sudo
Это норма: alias'ы не наследуются неинтерактивной оболочкой и sudo. Решения:
функция в ~/.bashrc, или sudo с полной командой. Для повтора под root —
sudo bash -ic 'alias_name' (грубо) либо просто разверни команду руками.
Нужно временно запустить настоящую команду
Префикс \ (\rm file) или command rm file — выполнит оригинал без alias.
alias ll='ls -lah' # создать
alias # список
unalias ll # удалить
\cmd / command cmd # запуск оригинала, минуя alias
echo "alias ..='cd ..'" >> ~/.bashrc # навсегда
См. также
- Bash-скрипты (основы) — Базовые команды
- which / type / whereis — где команда — Базовые команды
- Переменные окружения и PATH — Базовые команды