Командная оболочка Unix

Bash

Что это такое

Командная оболочка Unix — программа, которая читает команды, запускает их и соединяет их ввод и вывод. Сила её не в самих командах, а в композиции: каждая команда — небольшой инструмент, который читает текст, пишет текст и сообщает об успехе или неудаче, а оболочка связывает их вместе. В инструментарий входят файловая система, права, окружение и конвейеры; беглость приходит от того, что этот небольшой словарь по-настоящему универсален.

Почему это важно

Оболочка — интерфейс по умолчанию каждого сервера, контейнера и сборочного конвейера, который вам встретится: задача, требующая двадцати кликов в графическом инструменте, здесь решается одной командой, и та же команда одинаково работает на машине коллеги и в конвейере развёртывания. Настоящий аргумент при этом — воспроизводимость: команда записывает то, что было сделано, и эту запись можно прочитать, повторить и положить в скрипт. Это ещё и самый быстрый способ ответить на вопросы о системе — какой процесс держит этот порт, что изменилось в этом каталоге, в каких файлах есть эта строка.

Что в этом треке

  1. Конвейеры и фильтры (01-cs-fundamentals/13-unix-shell/01-pipelines-and-filters) — три потока, трубы, перенаправление, а ещё небольшие текстовые инструменты, которые складываются в композицию.
  2. Файлы, права и окружение (01-cs-fundamentals/13-unix-shell/02-files-permissions-and-environment) — где что лежит, кому позволено это трогать и как команда находит нужное.

Предварительные требования

Нет.

Что читать дальше

  • Интерфейс командной строки (01-cs-fundamentals/24-command-line-interface) — как превратить инструментарий в привычку работать, когда механика уже освоена.
  • Git (система контроля версий) (01-cs-fundamentals/12-git) — инструмент, где эта беглость окупается прямее всего.
  • Операционные системы (01-cs-fundamentals/15-operating-systems) — процессы, файлы и права, с которыми эти команды разговаривают.