Алиасы в Bash: ускоряем работу в терминале

Алиасы (aliases) в Bash – короткие псевдонимы для команд или цепочек команд. Они экономят набор, снижают риск опечаток и удобны для рутины: длинные ls, безопасный rm, обновление системы, SSH на частый хост.

Что такое алиас

Алиас – это имя, которое shell подставляет на место полной команды. Классика: вместо ls -lah каждый раз вводить ll. Алиасы живут в текущей сессии, пока их не пропишут в ~/.bashrc или ~/.bash_aliases.

Создание на сессию

Синтаксис:

alias имя_алиаса='команда'

Полезные примеры

Удобный ls

alias ll='ls -lah'

После этого ll показывает подробный список: права, размеры, скрытые файлы.

rm с подтверждением

alias rm='rm -i'

Перед удалением shell спросит подтверждение. Имеет смысл на рабочих машинах, где случайный rm дорог. На серверах в скриптах такой алиас может мешать из-за интерактивности.

Короткий запуск редактора

alias edit='nano'

Или vim, micro – что привычнее. Дальше достаточно edit файл.

Обновление Debian/Ubuntu

alias update='sudo apt update && sudo apt upgrade'

Одна команда update подтягивает индексы и предлагает обновить пакеты. При желании добавьте -y, но тогда апгрейд пойдёт без вопросов.

Как сделать алиасы постоянными

Команда alias без записи в файл действует только до закрытия терминала. Чтобы алиасы поднимались в каждой сессии, пропишите их в ~/.bashrc или вынесите в ~/.bash_aliases (на многих дистрибутивах .bashrc уже подключает этот файл, если он есть).

nano ~/.bashrc

В конец файла:

alias ll='ls -lah'
alias edit='nano'
alias update='sudo apt update && sudo apt upgrade'

Применить без перелогина:

source ~/.bashrc

Когда алиаса мало: функции

Алиасы плохо принимают «настоящие» аргументы в середине команды. Для параметризованных сценариев удобнее функции в ~/.bashrc:

mygrep() {
  grep -R -- "$1" .
}

Вызов mygrep текст ищет строку рекурсивно от текущей директории.

SSH на частый хост

alias myserver='ssh user@myserver.example'

Альтернатива без алиаса – секция Host в ~/.ssh/config с HostName, User, ключом. Для одного короткого имени оба подхода нормальны.

Несколько команд подряд

alias buildrun='g++ main.cpp -o main && ./main'

buildrun соберёт бинарь и запустит его, если компиляция прошла успешно (&&).

Список и удаление

Все активные алиасы сессии:

alias

Убрать один алиас из текущей сессии:

unalias имя_алиаса

Сбросить все алиасы сессии:

unalias -a

Если алиас прописан в ~/.bashrc, после unalias он вернётся в новой сессии, пока строку не удалите из файла.

На что обратить внимание

  • не перекрывайте без нужды важные команды (cp, mv, rm) так, чтобы скрипты и чужие инструкции ломались;
  • в неинтерактивных скриптах алиасы из .bashrc обычно не подхватываются – там лучше явные команды или функции в самом скрипте;
  • для сложных сценариев с аргументами функции и отдельные скрипты в ~/bin часто чище алиасов;
  • имена без пробелов; кавычки вокруг тела алиаса обязательны, если внутри есть пробелы или спецсимволы.

Краткий чеклист

  • собрать набор коротких имён под ежедневные команды;
  • записать в ~/.bashrc или ~/.bash_aliases;
  • source ~/.bashrc и проверка через alias / вызов;
  • для параметров – функции, для SSH – ещё и ~/.ssh/config.

Итог: алиасы – простой слой удобства поверх Bash. Несколько строк в .bashrc заметно ускоряют работу в терминале без лишней автоматизации.

Источники и ссылки


Комментарии загружаются…