Введение / Зачем это нужно
Файл .bashrc (bash run commands) — это скрипт конфигурации, который автоматически выполняется каждый раз при запуске нового интерактивного окна терминала Bash. Настройка этого файла позволяет:
- Автоматизировать рутинные команды через алиасы.
- Кастомизировать внешний вид командной строки (приглашение PS1, цвета).
- Задавать глобальные переменные окружения (PATH, EDITOR).
- Загружать дополнительные функции и скрипты.
Этот гайд поможет вам превратить стандартный терминал в мощный и удобный инструмент, адаптированный под ваши задачи.
Требования / Подготовка
Перед началом убедитесь, что:
- Вы работаете в оболочке Bash (обычно по умолчанию). Проверить можно командой
echo $SHELL. Если путь заканчивается на/bash, всё в порядке. - У вас есть доступ к домашней директории (
~). - Установлен текстовый редактор (рекомендуется
nanoдля новичков илиvim). - Вы понимаете базовые команды 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 изменения не вступят в силу в уже открытых окнах терминала. Есть два способа:
- Для текущего окна: выполните команду
source ~/.bashrc
или её аналог. ~/.bashrc - Для всех будущих окон: просто закройте и снова откройте терминал.
Проверьте работу алиасов (ll, ..) и нового приглашения командной строки.
Проверка результата
Убедитесь, что всё работает корректно:
- Проверьте алиасы: выполните
alias. В списке должны быть те, что вы добавили. - Проверьте приглашение: оно должно соответствовать настройкам
PS1(цвет, формат). - Проверьте функцию: попробуйте
mkcd test_folder— должна создаться папкаtest_folderи вы в неё перейти. - Проверьте переменные: выполните
echo $EDITOR— должен бытьnano(или то, что вы указали).
Если что-то не работает, откройте .bashrc и проверьте синтаксис (особенно кавычки и пробелы).
Возможные проблемы
Проблема: Терминал не запускается после правки .bashrc
Причина: Синтаксическая ошибка в файле (например, незакрытая кавычка). Решение:
- Нажмите
Ctrl+Alt+F3(или другую F-клавишу) для перехода в текстовую консоль. - Войдите под своим логином.
- Отредактируйте файл, исправив ошибку:
nano ~/.bashrc. - Вернитесь в графический интерфейс (
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 при логине.