Linux

Настройка .bashrc: полное руководство по кастомизации Bash

Это руководство объясняет назначение файла .bashrc, показывает как его редактировать и настраивать алиасы, переменные окружения и приглашение командной строки.

Обновлено 8 апреля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Linux (любой дистрибутив)Bash 4.0+

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

Файл .bashrc — это конфигурационный скрипт для оболочки Bash, который выполняется при каждом запуске интерактивного терминала. Он позволяет автоматизировать рутинные задачи, создавать сокращения для сложных команд (алиасы), настраивать переменные окружения и персонализировать внешний вид приглашения командной строки. Настроив .bashrc один раз, вы сэкономите время при каждой работе в терминале.

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

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

  • У вас установлена оболочка Bash (обычно есть по умолчанию в большинстве дистрибутивов Linux).
  • Вы знаете базовые команды для работы с текстовыми редакторами в терминале (nano, vim или другие).
  • У вас есть права на запись в домашнюю директорию (обычно есть у обычного пользователя).

Шаг 1: Что такое .bashrc и когда он загружается?

Файл .bashrc (расширение «rc» означает «run commands») — это скрипт на Bash, который автоматически выполняется при запуске интерактивной не-логической оболочки.

Когда он срабатывает:

  • При открытии нового окна терминала (в Ubuntu, Fedora, Debian и др.).
  • При запуске оболочки без опции --login (например, из графического интерфейса).

Когда НЕ срабатывает:

  • При входе в систему через SSH (это логическая оболочка, использует .bash_profile).
  • При запуске скриптов Bash (неинтерактивный режим).

В большинстве дистрибутивов .bash_profile или .profile содержит строку source ~/.bashrc, поэтому настройки применяются и при SSH-подключении.

Шаг 2: Как открыть и отредактировать .bashrc?

Файл .bashrc находится в вашей домашней директории (~) и является скрытым (начинается с точки). Чтобы открыть его:

nano ~/.bashrc

Или используйте другой редактор:

vim ~/.bashrc
code ~/.bashrc  # если установлен VS Code

Совет: Если файл отсутствует, создайте его: touch ~/.bashrc.

После редактирования сохраните изменения (в nanoCtrl+O, Enter, затем Ctrl+X; в vim:wq).

Шаг 3: Добавление алиасов

Алиасы (алиасы) — это сокращения для часто используемых команд. Они экономят время и уменьшают количество опечаток.

Примеры популярных алиасов:

# Общие команды
alias ll='ls -la'          # детальный список файлов
alias c='clear'            # очистка терминала
alias ..='cd ..'           # переход на уровень выше

# Безопасность
alias rm='rm -i'           # подтверждение перед удалением
alias mv='mv -i'           # подтверждение перед переименованием

# Для Debian/Ubuntu
alias update='sudo apt update && sudo apt upgrade'
alias install='sudo apt install'

# Git
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'

Каждый алиас размещайте на отдельной строке. После добавления выполните source ~/.bashrc или перезапустите терминал.

Шаг 4: Настройка переменных окружения

Переменные окружения влияют на поведение программ и оболочки. Устанавливаются через export.

Примеры:

# Редактор по умолчанию
export EDITOR=nano

# Добавление собственных скриптов в PATH
export PATH="$HOME/bin:$PATH"

# Язык и локаль
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

# Увеличить историю команд
export HISTSIZE=10000
export HISTFILESIZE=20000

# Игнорировать дублирование команд в истории
export HISTCONTROL=ignoredups:erasedups

Важно: Переменные, установленные в .bashrc, будут доступны только в интерактивных оболочках. Для глобальных переменных используйте /etc/environment или /etc/profile.d/.

Шаг 5: Изменение приглашения командной строки (PS1)

Приглашение командной строки настраивается через переменную PS1. Она поддерживает специальные escape-последовательности:

ПоследовательностьОписание
\uИмя текущего пользователя
\hИмя хоста (до первой точки)
\wТекущий рабочий каталог (полный)
\WТекущий рабочий каталог (имя)
\$# для root, $ для обычного
\dДата в формате "Дд Ммя Гггг"
\tТекущее время (24-часовой формат)

Примеры настроек:

# Простой формат: пользователь@хост:путь$
export PS1="\u@\h:\w\$ "

# С цветами (зеленый для пользователя, синий для пути)
export PS1="\[\e[32m\]\u@\h\[\e[0m\]:\[\e[34m\]\w\[\e[0m\]\$ "

# С временем и датой
export PS1="[\t \d] \u@\h:\w\$ "

Примечание: Escape-последовательности для цветов должны быть обернуты в \[ и \], чтобы Bash правильно считал длину строки.

Шаг 6: Применение изменений

После сохранения .bashrc изменения не применяются автоматически к текущему сеансу. Есть два способа:

  1. Использовать source (рекомендуется):
    source ~/.bashrc
    

    Эта команда заставляет текущую оболочку перечитать файл без перезапуска.
  2. Перезапустить терминал: Закройте окно терминала и откройте заново.

Проверьте работу: Введите созданные алиасы (например, ll) и убедитесь, что приглашение изменилось.

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

  1. Алиасы: Введите alias — вы увидите список всех активных алиасов, включая добавленные.
  2. Переменные: Выполните echo $EDITOR (или другую переменную) — должно вывестись значение из .bashrc.
  3. Приглашение: Обратите внимание на строку приглашения — она должна соответствовать настройкам PS1.
  4. Функции: Если добавляли функции, проверьте их работу (например, type имя_функции).

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

1. Терминал не открывается после редактирования .bashrc

Причина: Синтаксическая ошибка (например, пропущенная кавычка или скобка). Решение:

  • Нажмите Ctrl+Alt+F2 (или Ctrl+Alt+F3 и т.д.) для переключения на another terminal (TTY).
  • Войдите в систему и исправьте файл: nano ~/.bashrc.
  • Проверьте синтаксис: bash -n ~/.bashrc (не выведет ошибок — синтаксис верный).

2. Алиас не работает

Причина:

  • Алиас добавлен после return или exit в .bashrc.
  • Не выполнен source ~/.bashrc.
  • Опечатка в имени алиаса. Решение: Убедитесь, что алиас находится в начале файла (до любых return), и проверьте синтаксис.

3. Изменения не применяются при SSH-подключении

Причина: Логическая оболочка (SSH) по умолчанию не читает .bashrc. Решение: В ~/.bash_profile (или ~/.profile) добавьте:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

4. Цвета в PS1 отображаются как текст

Причина: Терминал не поддерживает ANSI-цвета или escape-последовательности не обернуты в \[ \]. Решение: Убедитесь, что ваш терминал (gnome-terminal, konsole, xterm) поддерживает цвета, и используйте обертку:

export PS1="\[\e[31m\]\u@\h\[\e[0m\] "

5. Дублирование алиасов или переменных

Причина: Один и тот же алиас/переменная добавлен несколько раз (например, через source другого файла). Решение: Проверьте, не подключаете ли вы другие конфигурационные файлы в .bashrc. Используйте alias и env | grep для просмотра текущих значений.

6. Ошибки при запуске скриптов

Причина: В .bashrc есть команды, которые требуют интерактивного режима (например, read), или зависят от переменных, отсутствующих в неинтерактивных оболочках. Решение: Оборачивайте интерактивные команды в проверку:

# Выполнять только в интерактивных оболочках
[[ $- != *i* ]] && return

Дополнительная проверка: Запустите bash -x ~/.bashrc для пошагового отладки выполнения файла.


Теперь вы можете настроить .bashrc под свои нужды и значительно ускорить работу в терминале!

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

В чем разница между .bashrc и .bash_profile?
Почему мои изменения в .bashrc не применяются?
Можно ли использовать .bashrc для запуска скриптов при старте?
Как отключить алиас, который я добавил в .bashrc?

Полезное

Понять назначение .bashrc
Открыть .bashrc в текстовом редакторе
Добавить алиасы
Настроить переменные окружения
Изменить приглашение командной строки (PS1)
Применить изменения