Алиасы (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 заметно ускоряют работу в терминале без лишней автоматизации.
