Linux

Создание и управление алиасами в Bash: полное руководство

Это руководство объясняет, что такое алиасы в Bash и как их правильно создавать, настраивать для автоматизации повторяющихся команд и повышения продуктивности в терминале Linux.

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Bash 4.0+Ubuntu 20.04+Debian 11+CentOS 8+Fedora 35+

Введение / Зачем это нужно

Алиасы (aliases) в Bash — это один из самых простых и эффективных способов автоматизировать рутинные команды и сократить время, затрачиваемое на работу в терминале. Вместо того чтобы каждый раз печатать длинную цепочку команд (например, sudo apt update && sudo apt upgrade -y), вы создаёте короткое, запоминающееся сокращение (например, update).

После прохождения этого гайда вы сможете:

  • Создавать временные алиасы для текущей сессии терминала.
  • Настраивать постоянные алиасы, которые загружаются автоматически при каждом запуске Bash.
  • Использовать алиасы с аргументами через функции.
  • Организовывать и управлять своей коллекцией алиасов.

Это особенно полезно для разработчиков, системных администраторов и всех, кто регулярно работает с командной строкой Linux.

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас есть доступ к терминалу Linux (Ubuntu, Debian, CentOS, Fedora, Arch и др.).
  2. Вы знакомы с базовыми командами (cd, ls, nano/vim).
  3. У вас установлен Bash (версии 4.0 и новее). Проверить версию: bash --version.
  4. Для некоторых алиасов (например, с sudo) у вашего пользователя должны быть соответствующие права в sudoers.

Пошаговая инструкция

Шаг 1: Понимание синтаксиса алиаса

Базовый синтаксис команды alias выглядит так:

alias имя_алиаса='команда_с_аргументами'
  • имя_алиаса — короткое слово без пробелов (например, ll, gs, update).
  • команда_с_аргументами — полная команда или цепочка команд, которую вы хотите сократить. Важно заключить её в кавычки (одинарные ' ' предпочтительнее, они предотвращают преждевременную подстановку переменных).
  • Пробел только между alias и имя_алиаса. Между имя_алиаса и = и между = и кавычками пробелов быть не должно.

Пример:

# Создаёт алиас 'll', который выполняет 'ls -la' с цветовой подсветкой
alias ll='ls -la --color=auto'

Шаг 2: Создание временного алиаса (для текущей сессии)

Самый быстрый способ протестировать алиас — создать его прямо в терминале. Он будет работать только до тех пор, пока открыт текущий терминал.

  1. Введите команду alias с нужным определением. Например, для Git:
    alias gs='git status'
    alias ga='git add'
    alias gc='git commit -m'
    
  2. Сразу же используйте новый алиас:
    gs  # Выведет статус git-репозитория
    ga .  # Добавит все изменения
    gc "fix: updated readme"  # Сделает коммит с сообщением
    
  3. Важно: Все временные алиасы исчезнут после закрытия терминала или открытия нового.

Шаг 3: Создание постоянного алиаса через ~/.bashrc

Чтобы алиасы сохранялись между сессиями, их нужно добавить в конфигурационный файл Bash. Стандартный и самый распространённый файл — ~/.bashrc.

  1. Откройте файл ~/.bashrc в текстовом редакторе. Используйте любой удобный вам:
    nano ~/.bashrc
    # или
    vim ~/.bashrc
    # или, если установлен VS Code
    code ~/.bashrc
    
  2. Прокрутите файл вниз и найдите подходящее место для добавления (например, в самом конце файла или после комментариев # Aliases).
  3. Добавьте свои алиасы, каждый с новой строки. Рекомендуется группировать их и добавлять комментарии для ясности.
    # --- Мои полезные алиасы ---
    # Система
    alias update='sudo apt update && sudo apt upgrade -y'
    alias rebootnow='sudo reboot'
    
    # Навигация
    alias ..='cd ..'
    alias ...='cd ../..'
    alias c='clear'
    
    # Git (если используете)
    alias gs='git status'
    alias gd='git diff'
    alias gl='git log --oneline --graph --all --decorate'
    
  4. Сохраните файл и закройте редакторnano: Ctrl+X, затем Y и Enter; в vim: :wq).
  5. Примените изменения к текущей сессии, не перезапуская терминал:
    source ~/.bashrc
    
    Теперь все добавленные алиасы доступны. Новые алиасы также будут загружаться автоматически при каждом новом запуске терминала.

Шаг 4: Использование отдельного файла ~/.bash_aliases (рекомендуется для больших наборов)

Если у вас много алиасов, их можно вынести в отдельный файл, чтобы не загромождать основной ~/.bashrc.

  1. Создайте файл ~/.bash_aliases, если его нет:
    touch ~/.bash_aliases
    
  2. Откройте ~/.bashrc и убедитесь, что в нём присутствует блок, который загружает этот файл. Обычно он уже есть, но закомментирован. Найдите строки:
    # if [ -f ~/.bash_aliases ]; then
    #     . ~/.bash_aliases
    # fi
    
    Раскомментируйте их (удалите # в начале каждой строки), чтобы выглядело так:
    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    
  3. Сохраните ~/.bashrc и выполните source ~/.bashrc.
  4. Теперь добавляйте все свои алиасы в файл ~/.bash_aliases. Это более чистое решение.

Шаг 5: Создание алиасов с аргументами (использование функций)

Простой алиас не может принимать и обрабатывать собственные аргументы ($1, $2 и т.д.). Для этого используйте обёрточную функцию.

Пример: Алиас для быстрого поиска в текущей директории, где первый аргумент — это искомый текст.

# В ~/.bashrc или ~/.bash_aliases
mygrep() {
    # $1 - первый аргумент, переданный функции
    grep -r "$1" .
}

Как использовать:

mygrep "function_name"  # Найдёт все вхождения строки "function_name" в текущей папке и подпапках

Пример 2: Алиас для быстрого создания директории и перехода в неё.

mkcd() {
    mkdir -p "$1" && cd "$1"
}

Использование:

mkcd new_project  # Создаст папку 'new_project' и перейдёт в неё

Шаг 6: Управление и удаление алиасов

  • Просмотр всех активных алиасов (временных и постоянных, уже загруженных):
    alias
    
  • Поиск конкретного алиаса:
    alias | grep ll
    
  • Удаление временного алиаса (из текущей сессии):
    unalias ll
    
    Чтобы удалить все алиасы, можно использовать unalias -a (будьте осторожны!).
  • Удаление постоянного алиаса: Удалите соответствующую строку из ~/.bashrc или ~/.bash_aliases и выполните source ~/.bashrc (или source ~/.bash_aliases).

Проверка результата

  1. Создайте тестовый алиас, например, alias hello='echo "Hello from FixPedia!"'.
  2. Если вы добавляли в ~/.bashrc/~/.bash_aliases, выполните source соответствующего файла.
  3. Введите в терминале hello.
  4. На экране должно появиться сообщение: Hello from FixPedia!.
  5. Выполните alias | grep hello — вы должны увидеть свою строку.

Если алиас не работает:

  • Проверьте, что вы не сделали опечатку в имени.
  • Убедитесь, что вы выполнили source после редактирования файлов.
  • Проверьте синтаксис: нет ли пробелов вокруг =, заключена ли команда в кавычки.

Возможные проблемы

  • alias: command not found или алиас не срабатывает: Вы, скорее всего, добавили алиас только в ~/.bashrc, но не выполнили source ~/.bashrc в текущей сессии. Или вы пытаетесь использовать алиас в скрипте, запускаемом с помощью sh script.sh. Алиасы по умолчанию не работают в неинтерактивных оболочках. Для скриптов используйте функции или полные команды.
  • Алиас переопределяет существующую команду: Например, вы создали alias ls='ls -la', но потом хотите выполнить оригинальную команду ls. Используйте обратную косую черту: \ls.
  • Проблемы с кавычками и переменными: Если в команде алиаса вы хотите, чтобы переменная (например, $HOME) подставлялась в момент использования алиаса, а не в момент его создания, используйте одинарные кавычки: alias mycd='cd $HOME/projects'. При использовании alias mycd="cd $HOME/projects" (двойные кавычки) значение $HOME подставится сразу при выполнении source ~/.bashrc.
  • Конфликты имён: Убедитесь, что имя вашего алиаса не совпадает с именем существующей команды или другого алиаса. Используйте type имя_команды, чтобы проверить, что это.
  • Алиас не работает в sudo: По умолчанию sudo не наследует алиасы. Чтобы алиас работал с sudo, определите его с sudo внутри: alias update='sudo apt update'. Либо используйте sudo !! для повторения предыдущей команды с sudo.

Часто задаваемые вопросы

Алиас не работает после перезагрузки терминала, что делать?
Можно ли создать алиас с аргументами?
Как посмотреть список всех текущих алиасов?
Почему алиас с пробелом или кавычками не работает?

Полезное

Понимание синтаксиса алиаса
Создание временного алиаса
Создание постоянного алиаса через ~/.bashrc
Применение изменений в ~/.bashrc
Использование отдельного файла для алиасов (опционально)
Управление и удаление алиасов