Загадки
1) Есть такая компания, а есть животное. Но есть и команда в терминале, названная в честь этого животного. Она не ловит мышей и не мурлычет, а просто берёт файл и целиком выводит его содержимое на экран. Что это за команда?
2) Как tea, но читается иначе. Эта команда названа в честь буквы T — потому что работает как тройник в трубе: берёт поток данных, входящий в неё, и раздваивает его — одна часть уходит в файл, другая сразу на экран. Что это за команда?
3) Эта команда названа не потому, что она «меньше» чего-то, а как насмешка над другой командой — more. Она позволяет открыть большой файл и листать его вверх и вниз, не заваливая экран содержимым целиком. Что это за команда?
4) Эта команда не читает файл целиком и не выводит всё подряд — она ищет. Даёшь ей слово или шаблон, и она молча проходит по строкам, оставляя только те, где это слово встретилось. Название её, кстати, пришло из редактора ed, где была команда g/re/p. Что это за утилита?
5) У неё говорящее имя — она берёт файл и показывает только самое начало, обычно первые десять строк. Полезно, когда нужно быстро глянуть, что вообще внутри, не открывая всё. А ещё есть её «противоположность» с хвостом. Что это за команда?
6) Она смотрит на файл с другого конца — показывает последние строки. Но главная её суперсила в другом: с ключом -f она не закрывается, а продолжает следить за файлом и дописывать новые строки по мере их появления. Незаменима, когда читаешь логи. Что это за команда?
7) Эта команда ничего не показывает из содержимого — она просто считает. Строки, слова, символы, байты. Даёшь ей файл, а в ответ получаешь голые цифры. Название расшифровывается как «word count». Что это за утилита?
8) Эта команда ничего не запускает и не меняет — она просто заглядывает внутрь ядра и показывает, какие модули прямо сейчас загружены. Имя её читается как аббревиатура: «list modules». Выводит она таблицу из трёх колонок: имя модуля, сколько памяти он занимает и кто его использует. Что это за команда?
9) Это инструмент, который сделал контейнеры массовыми. Ты описываешь среду в текстовом файле, собираешь из неё образ, а потом запускаешь его где угодно — на ноутбуке, на сервере, в облаке — и везде ведёт себя одинаково. Есть у него и «склад» готовых образов, откуда можно тянуть чужие. Что это за инструмент?
10) Это не сам под и не сервис, а описание того, каким должен быть твой под: какой образ, сколько копий, как обновляться. Меняешь образ — и система потихоньку заменяет старые копии новыми, не роняя сервис. А если что-то пошло не так — можно откатиться назад. Что это за объект?
11) Этот агент живёт на каждой рабочей машине кластера и не спит. Он получает от центра инструкции — какой под запустить — и делает это через контейнерный рантайм. А ещё он постоянно докладывает наверх: жив ли под, сколько ест ресурсов. Без него узел бесполезен. Что это за компонент?
12) Это старый и упрямый инструмент сборки. Ему дают файл с правилами: что из чего собирается и в каком порядке. Он смотрит на даты изменения файлов и пересобирает только то, что устарело, — не трогая остальное. Незаменим в проектах на C и C++. Что это за утилита?
13) Это не компилятор, а управляющий сборкой. Проект описывается в одном XML-файле: зависимости, плагины, цели. Он сам скачает нужные библиотеки из центрального хранилища, соберёт проект, прогонит тесты и упакует. Есть у него и более молодой конкурент на Gradle. Что это за инструмент?
14) Это не программа и не протокол, а железо — плата или чип, через который машина физически попадает в сеть. У него есть собственный адрес, прошитый производителем, и именно он превращает данные в сигналы: электрические, световые или радиоволны. Без него компьютер остаётся островом. Что это за устройство?
15) Этот протокол — не про шифрование и не про безопасность, а про упаковку. Он берёт пакет одного протокола — хоть IP, хоть чего-то совсем другого — и заворачивает его в другой IP-пакет, чтобы протащить через сеть, которая иначе его не поймёт. Работает на третьем уровне, создаёт виртуальный канал «точка-точка», а внутри может нести что угодно.