linux-labs

Вики / Базовые команды

alias — псевдонимы команд

Команда bash Базовое

Короткие имена для длинных команд; временно и навсегда через ~/.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). Подробнее про профили и $PATHenv-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   # навсегда

См. также