Интерпретатор команд, позволяющий вводить команды с клавиатуры и передавать их ядру операционной системы. В Linux оболочка служит основным инструментом взаимодействия системного администратора с системой; оболочка bash является оболочкой по умолчанию в большинстве дистрибутивов.
bash (Bourne-Again Shell)
Улучшенная версия оболочки sh, де-факто стандартная командная оболочка в большинстве дистрибутивов Linux. Обеспечивает историю команд, автодополнение по клавише Tab, переменные окружения, псевдонимы и перенаправление ввода-вывода.
login shell (оболочка входа)
Оболочка, запускаемая при входе пользователя в систему через текстовый экран входа (CLI, уровень выполнения 3). При запуске оболочки входа первым читается файл /etc/profile, затем — первый найденный из файлов .bash_profile, .bash_login или .profile в домашнем каталоге пользователя.
non-login shell (неинтерактивная оболочка)
Оболочка, открываемая внутри графической среды (например, окно терминала) без прохождения полной процедуры входа в систему. Для настройки среды использует файлы /etc/bashrc (или /etc/bash.bashrc) и ~/.bashrc.
Текстовый сценарий оболочки, содержащий команды, автоматически выполняемые при запуске оболочки. Для оболочки bash наиболее важные файлы: /etc/profile и ~/.bash_profile (для оболочек входа), /etc/bashrc и ~/.bashrc (для неинтерактивных оболочек).
PATH (переменная окружения PATH)
Переменная окружения, содержащая разделённый двоеточиями список каталогов, в которых оболочка выполняет поиск исполняемых файлов при вводе команды. В отличие от Windows, Linux не ищет команды в текущем каталоге; если каталог не включён в PATH, для запуска исполняемого файла из него необходимо указать полный путь или использовать префикс ./.
environment variable (переменная окружения)
Именованная область оперативной памяти, автоматически создаваемая и заполняемая операционной системой при запуске оболочки; служит для хранения параметров конфигурации среды (например, HOME, PATH, SHELL, PS1). Значение переменной просматривается командой echo $ПЕРЕМЕННАЯ; для передачи нового значения дочерним оболочкам используется команда export.
Переменная, создаваемая пользователем в оболочке командой имя=значение; доступна только текущему сеансу оболочки. Чтобы сделать её доступной дочерним оболочкам, необходимо экспортировать её командой export; для постоянства между сеансами — добавить присвоение в файл конфигурации bash.
command history (история команд)
Список ранее введённых команд, сохраняемый оболочкой bash в файле ~/.bash_history. Навигация по истории осуществляется клавишей «стрелка вверх»; поиск по истории — сочетанием Ctrl+R. Размер и поведение истории управляются переменными окружения HISTSIZE, HISTFILESIZE и HISTCONTROL.
command completion (автодополнение команд)
Функция оболочки bash, позволяющая автоматически завершить вводимое имя команды, файла или пути нажатием клавиши Tab. При наличии нескольких совпадений повторное нажатие Tab выводит список всех вариантов.
man pages (страницы руководства, man-страницы)
Электронная документация Linux, просматриваемая утилитой man; содержит описание команд, утилит, системных вызовов, форматов файлов и других компонентов системы. Страницы сгруппированы по разделам (1–9); наиболее важные разделы: 1 (команды пользователя) и 8 (административные утилиты root). Путь к файлам man-страниц задаётся переменной MANPATH или директивой MANPATH_MAP в файле /etc/man_db.conf.
man (утилита просмотра man-страниц)
Утилита, отображающая страницы руководства Linux; вызов: man имя_команды. Поддерживает постраничную навигацию и поиск по тексту страницы (клавиша /). Для поиска по именам и описаниям всех man-страниц используются man -k ключевое_слово или утилита apropos.
apropos
Утилита поиска по именам и кратким описаниям man-страниц; функционально эквивалентна команде man -k. Позволяет найти нужную команду, если её точное имя неизвестно.
MANPATH (переменная окружения MANPATH)
Переменная окружения, задающая разделённый двоеточиями список каталогов, в которых утилита man выполняет поиск страниц руководства. В некоторых дистрибутивах (например, Fedora) вместо этой переменной используется директива MANPATH_MAP в файле /etc/man_db.conf.
info (утилита просмотра документации info)
Утилита документации Linux, предоставляющая более подробные сведения, чем man; информация организована в виде узлов (nodes), между которыми можно перемещаться. Запуск: info имя_команды. Поиск в текущем узле — сочетанием Ctrl+S; переход к следующему/предыдущему узлу — клавишами n/p.
alias (псевдоним)
Сокращённое обозначение команды или последовательности команд, определяемое командой alias имя="команда". Псевдонимы автоматически создаются при запуске оболочки и доступны только в текущем сеансе; для постоянства необходимо добавить их в файл конфигурации bash.
stdin (стандартный ввод)
Стандартный поток ввода команды (файловый дескриптор 0); по умолчанию — клавиатура. Перенаправить ввод из файла в команду можно с помощью оператора <: команда < файл.
stdout (стандартный вывод)
Стандартный поток вывода команды (файловый дескриптор 1); по умолчанию — экран. Перенаправить в файл: команда 1> файл (или просто команда > файл); добавить к существующему файлу: команда >> файл.
stderr (стандартный поток ошибок)
Стандартный поток ошибок команды (файловый дескриптор 2); по умолчанию — экран. Перенаправить в файл: команда 2> файл. Перенаправить оба потока в один файл: команда 1> файл 2>&1.
redirection (перенаправление)
Механизм управления потоками ввода-вывода оболочки bash, позволяющий направить стандартный вывод или стандартный поток ошибок команды в файл (или системное устройство), а также передать содержимое файла команде в качестве стандартного ввода. Реализуется операторами >, >>, <, 2>.
pipe (конвейер)
Механизм оболочки, передающий стандартный вывод одной команды на стандартный ввод другой; обозначается символом |. Позволяет строить цепочки команд (команда1 | команда2 | команда3), обрабатывая данные без создания промежуточных файлов.
exec (команда exec)
Встроенная команда оболочки, запускающая программу с заменой текущего процесса оболочки новым процессом. В отличие от обычного запуска команды, при использовании exec процесс оболочки не сохраняется: завершение запущенной программы равнозначно завершению самой оболочки.
case sensitive (чувствительность к регистру)
Свойство файловой системы и командной строки Linux различать строчные и заглавные буквы в именах файлов, каталогов и командах. Например, runme.sh, Runme.sh и RUNME.SH — три разных файла; ls и LS — разные команды.