Файл .bashrc в Linux: что это такое и 6 вещей, которые вы можете с ним сделать

Ноутбук с открытым терминалом Linux.

Быстрые ссылки

Резюме

Оболочка играет чрезвычайно важную роль в Linux, она имеет собственный процесс запуска. Узнайте, как настроить оболочку при запуске, как автоматически выполнять команды и что можно сделать с этой мощью.

Что делает .bashrc и зачем он нужен

Файл .bashrc обычно скрыт в вашем домашнем каталоге. Это файл «управления выполнением», который возник вместе с Bash (Bourne Again Shell) — самой популярной и широко используемой оболочкой Linux. Linux использует файлы управления выполнением для скриптования и настройки команд при их запуске, поэтому .bashrc является скриптом запуска для самой оболочки.

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

Как работает .bashrc

Прежде всего, имейте в виду, что Bash не является единственной оболочкой. На macOS вы, вероятно, используете zsh — мощную альтернативу. Большинство дистрибутивов Linux используют Bash, но нет гарантии, что ваш именно такой. Чтобы узнать, какую оболочку вы используете, откройте терминал и выполните следующую команду:

Вывод должен быть что-то вроде «bash» или «-zsh», указывая на конкретную оболочку.

Далее, возможно, у вас еще нет файла .bashrc (или эквивалентного), в зависимости от вашего дистрибутива. Попробуйте выполнить следующее:

Эта команда покажет все скрытые файлы в вашем домашнем каталоге, которые заканчиваются на «rc»:

Терминал, показывающий четыре скрытых файла управления выполнением, включая .bashrc и .zshrc.

Если вы не видите .bashrc, вы можете создать пустой файл с таким именем. Вы также можете скопировать шаблон из /etc/skel/.bashrc, если он у вас есть:

Процесс запуска может быть довольно сложным, поэтому вам может быть полезно ознакомиться с различиями между .bashrc и .profile перед началом, или если вы столкнетесь с какими-либо проблемами.

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

6 вещей, которые вы можете сделать с .bashrc

Поскольку .bashrc сам по себе является Bash-скриптом, вы можете использовать его для различных целей. Ограничиты только ваше воображение, но некоторые из следующих вариантов являются распространенными.

Запустите neofetch и альтернативы

Поскольку .bashrc запускается при открытии нового терминала, это отличное место, чтобы добавить немного личного стиля в ваш терминал. Все, что может служить приветственным сообщением, будет отличным дополнением, и neofetch — одно из самых красивых:

Системная информация, отображаемая в терминале с помощью neofetch

Программа показывает красочные ASCII-арт и информацию о вашем устройстве. Кроме того, это полезный способ убедиться, что вы находитесь на том устройстве, на котором думаете, — особенно полезно, если вы часто подключаетесь к удалённым машинам через ssh.

Neofetch сейчас больше не поддерживается, поэтому, хотя вы все еще можете его использовать, возможно, вам стоит найти более новый аналог, который активно разрабатывается. Хорошими альтернативами являются Fastfetch и screenFetch, которые являются прямыми заменами, написанными на C и Bash-скрипте соответственно, а также onefetch, который отображает детали git-проекта, над которым вы можете работать.

Какой бы инструмент вы ни выбрали, его легко запустить через .bashrc. Сначала убедитесь, что обычная команда работает, например:

Затем просто добавьте ту же команду в .bashrc:

Файл .bashrc, показанный в vi, с выделенной строкой, которая запускает команду neofetch.

Настройте свой запрос

Более сдержанный способ настроить вашу терминальную среду — настройка вашего запроса. Это текст, который Linux выводит в начале каждой строки в вашем терминале, подсказывая вам что-то напечатать.

Запрос терминала Linux, показывающий имя пользователя, хост и текущий рабочий каталог с цветным текстом.

По умолчанию он довольно полезен, но вы можете настроить запрос, чтобы включить почти все. Используя встроенные переменные, вы можете включать имя хоста, пользователя, дату и многое другое. Мне нравится такая настройка:

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

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

Ваш файл .bashrc, вероятно, уже содержит какую-то конфигурацию PS1. Вы можете добавить свою после, если хотите, как я сделал здесь:

Фрагмент файла .bashrc, показывающий различные настройки запроса и пользовательскую, перезаписывающую их после.

Установите псевдонимы для упрощения команд

Создание псевдонимов — это еще одна мощная настройка, которая может сделать вашу работу с терминалом более приятной. Установив псевдоним для команды, вы можете дать ей более запоминающееся название или то, которое проще ввести. Вы также можете использовать псевдонимы для упрощения использования обычных сочетаний опций.

В моем .bashrc настроено несколько псевдонимов для команды ls:

Фрагмент .bashrc, показывающий три псевдонима для ls с различными сочетаниями опций.

Как и при всех настройках окружения, псевдонимы могут быть определены в нескольких местах, поэтому стоит проверить текущие псевдонимы перед тем, как начинать, используя команду alias на своей:

Список текущих псевдонимов, напечатанных в командной строке, включая настройки цвета для grep и сокращения для команды ls.

Создайте функции оболочки для общих задач

Еще более мощные, чем псевдонимы, функции оболочки позволяют вам писать собственные мини-команды. Если вы определяете функцию оболочки внутри .bashrc, вы можете запустить ее, просто набрав ее имя, как и любую другую команду.

Вот простой пример, который может сэкономить вам время. Он вызывает mkdir с полезным -p параметром, который создает полный путь, включая новые промежуточные каталоги. Затем он переходит в этот новый каталог:

Главное преимущество здесь в том, что теперь вы можете использовать «mkd» как замену «mkdir»:

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

Определите переменные окружения для управления командами

Многие команды используют либо глобальные, либо специфические переменные окружения для изменения своего поведения. Общепризнанные переменные окружения включают:

Однако переменные, специфичные для команд, могут быть не менее полезны. Возьмите, к примеру, пейджер less. Он поддерживает переменную LESS, которую вы можете использовать для передачи параметров по умолчанию. Например:

Добавьте это в свой .bashrc, и less всегда будет вести себя корректно, даже с файлами, меньшими чем одна страница экрана. Многие команды поддерживают аналогичные переменные окружения, которые вы можете установить в .bashrc, чтобы изменить их стандартное поведение. Ищите раздел, заголовком «Окружение» или «Переменные окружения» в каждой справочной странице команды.

Модуляризируйте ваше окружение, используя другие файлы

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

Разбиение одного большого файла на несколько меньших может сделать его проще в управлении и позволит использовать его для других целей. Хорошо определенная структура может упростить чтение другим, даже если вы будете одним из тех, кто будет этим заниматься в будущем.

Шаблон bashrc, который пришел с моим дистрибутивом, объясняет, как это сделать, с понятными комментариями:

Фрагмент файла Linux .bashrc, показывающий, как подключить другой файл.

В данном случае файл ~/.bash_aliases будет подключен (с помощью команды .), если он существует. Эффект будет таким же, как если бы эти псевдонимы были напрямую включены в ваш .bashrc.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Новинка! На нашем канале в Яндекс Дзен появилась премиум подписка, которая позволяет читать статьи без рекламы и получать доступ к эксклюзивным материалам, недоступным обычным пользователям. Будем рады, видеть вас в числе премиум пользователей!

Вы также можете читать наши материалы в:

Алекс Бежбакин
Оцените автора
Добавить комментарий