Linux

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

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

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

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

Файл .bashrc (bash run commands) — это скрипт конфигурации, который автоматически выполняется каждый раз при запуске нового интерактивного окна терминала Bash. Настройка этого файла позволяет:

  • Автоматизировать рутинные команды через алиасы.
  • Кастомизировать внешний вид командной строки (приглашение PS1, цвета).
  • Задавать глобальные переменные окружения (PATH, EDITOR).
  • Загружать дополнительные функции и скрипты.

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

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

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

  1. Вы работаете в оболочке Bash (обычно по умолчанию). Проверить можно командой echo $SHELL. Если путь заканчивается на /bash, всё в порядке.
  2. У вас есть доступ к домашней директории (~).
  3. Установлен текстовый редактор (рекомендуется nano для новичков или vim).
  4. Вы понимаете базовые команды Linux (ls, cd, cat).

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

Шаг 1: Найдите и откройте файл .bashrc

Файл .bashrc расположен в вашей домашней директории. Он может быть скрытым (начинается с точки).

# Перейдите в домашнюю директорию
cd ~

# Проверьте, существует ли файл
ls -la .bashrc

# Если файла нет, создайте его (часто он уже есть)
touch .bashrc

Откройте файл в редакторе. Для новичков проще nano:

nano ~/.bashrc

Для опытных пользователей подойдёт vim или vim ~/.bashrc.

💡 Совет: Перед редактированием сделайте резервную копию: cp ~/.bashrc ~/.bashrc.backup.

Шаг 2: Добавьте простой алиас

Алиас — это сокращение для длинной команды. Добавьте в конец файла .bashrc следующие строки:

# Обновление списка пакетов и установка (для Debian/Ubuntu)
alias update='sudo apt update && sudo apt upgrade -y'

# Краткий список файлов с деталями и цветами
alias ll='ls -la --color=auto'

# Быстрый переход на уровень выше
alias ..='cd ..'

# Очистка экрана с дополнительной командой (пример)
alias cls='clear && echo "Терминал очищен"'

Сохраните файл (Ctrl+O в nano, :wq в vim) и закройте редактор.

Шаг 3: Настройте приглашение командной строки (PS1)

Переменная PS1 определяет, как выглядит ваше приглашение ввода. Стандартное значение может быть скучным.

Добавьте в .bashrc строку для настройки:

# Пример: user@host:/текущая/папка$
PS1='\[\e[0;32m\]\u@\h:\w\$\[\e[0m\] '

# Или с временем и базовым цветом
# PS1='[\t] \u@\h:\w\$ '

Расшифровка кодов:

  • \u — имя пользователя.
  • \h — имя хоста (до первой точки).
  • \w — полный путь к текущей директории, с ~ для домашней.
  • \$ — показывает # для root, $ для обычного пользователя.
  • \[\e[...m\] — управляющие последовательности для цветов (зелёный 0;32, сброс 0m).

⚠️ Важно: Цветовые коды должны быть обрамлены \[ и \], иначе команды «съедают» символы в истории.

Шаг 4: Добавьте пользовательские функции

Для сложных последовательностей команд используйте функции. Они мощнее алиасов, так как могут принимать аргументы.

В .bashrc добавьте:

# Создаёт папку и сразу в неё переходит
mkcd() {
    mkdir -p "$1" && cd "$1"
}

# Поиск файлов по имени (игнорируя регистр)
findfile() {
    find . -type f -iname "*$1*" 2>/dev/null
}

# Быстрый просмотр использования диска в текущей папке
diskspace() {
    du -sh . 2>/dev/null || echo "Ошибка доступа"
}

Теперь команда mkcd новая_папка создаст и откроет папку новая_папка.

Шаг 5: Экспортируйте переменные окружения

Переменные окружения доступны всем программам, запущенным из shell.

# Установка редактора по умолчанию (для git, crontab -e и др.)
export EDITOR=nano
# Или для Vim: export EDITOR=vim

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

# Установка языка для некоторых утилит (например, для вывода даты)
export LC_TIME="ru_RU.UTF-8"

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

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

  1. Для текущего окна: выполните команду
    source ~/.bashrc
    

    или её аналог
    . ~/.bashrc
    
  2. Для всех будущих окон: просто закройте и снова откройте терминал.

Проверьте работу алиасов (ll, ..) и нового приглашения командной строки.

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

Убедитесь, что всё работает корректно:

  1. Проверьте алиасы: выполните alias. В списке должны быть те, что вы добавили.
  2. Проверьте приглашение: оно должно соответствовать настройкам PS1 (цвет, формат).
  3. Проверьте функцию: попробуйте mkcd test_folder — должна создаться папка test_folder и вы в неё перейти.
  4. Проверьте переменные: выполните echo $EDITOR — должен быть nano (или то, что вы указали).

Если что-то не работает, откройте .bashrc и проверьте синтаксис (особенно кавычки и пробелы).

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

Проблема: Терминал не запускается после правки .bashrc

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

  1. Нажмите Ctrl+Alt+F3 (или другую F-клавишу) для перехода в текстовую консоль.
  2. Войдите под своим логином.
  3. Отредактируйте файл, исправив ошибку: nano ~/.bashrc.
  4. Вернитесь в графический интерфейс (Ctrl+Alt+F1 или F2).

Проблема: Цвета в PS1 отображаются как garbled-символы

Причина: Неправильное использование управляющих последовательностей или их отсутствие в \[ \]. Решение: Убедитесь, что все ANSI-коды цветов обернуты в \[ и \]. Пример правильного оформления: PS1='\[\e[1;34m\]\u@\h:\w\$\[\e[0m\] '.

Проблема: Алиасы не работают в sudo-командах

Причина: sudo по умолчанию сбрасывает переменные окружения, включая алиасы. Решение: Используйте sudo с флагом -E (сохранить окружение) или создавайте алиас для sudo (например, alias s='sudo'), но это менее безопасно. Лучше явно прописывать полную команду после sudo.

Проблема: Изменения .bashrc не применяются при SSH-подключении

Причина: При SSH-логине читается .bash_profile или .profile, а не .bashrc (зависит от дистрибутива). Решение: В файле ~/.bash_profile (или ~/.profile) добавьте строку:

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

Это гарантирует выполнение .bashrc при логине.

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

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

Полезное

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