Большая часть работы инженера данных происходит не в красивых интерфейсах, а в чёрном окне с мигающим курсором. Подключиться к серверу, посмотреть, почему упал ночной пайплайн, проверить, доехал ли файл, запустить скрипт руками, потому что расписание ещё не настроено. Всё это терминал.
Хорошая новость: команд, которые нужны каждый день, около двадцати. Плохая: без них вы будете просить коллег «посмотреть на сервере», а это быстро надоедает и им, и вам.
Что такое терминал, оболочка и Linux
Три слова, которые часто путают:
- Терминал — окно, в которое вы печатаете. На Mac это Terminal или iTerm, на Windows — Windows Terminal, на Linux — что угодно.
- Оболочка (shell) — программа внутри окна, которая читает ваши команды и запускает их. Почти везде это
bashилиzsh. Синтаксис у них общий. - Linux — операционная система, на которой живёт почти всё в данных: серверы, контейнеры, Airflow, базы. Даже если ваш ноутбук на Mac или Windows, работать вы будете с Linux-машинами.
Как устроена команда
Любая команда выглядит одинаково: имя, флаги, аргументы.
ls -la /home/de/projectls — что делать (показать содержимое папки), -la — как (подробно и включая скрытые файлы), /home/de/project — с чем. Флаги начинаются с дефиса и обычно склеиваются: -l -a и -la одно и то же.
Три привычки, которые экономят часы:
- Tab дополняет имена файлов и команд. Напечатали
cd pro, нажали Tab, получилиcd project/. Никто не печатает длинные пути руками. - Стрелка вверх возвращает предыдущие команды. Ctrl+R ищет по истории.
--helpиmanесть у каждой команды. Не нужно помнить флаги наизусть.
Попробуйте прямо здесь
Ниже учебный терминал. Он не настоящий, но ведёт себя как настоящий: файлы, папки, те же команды. Задания под ним проверяются автоматически. Начните с трёх простых.
- 1. Узнайте, в какой папке вы находитесь
- 2. Посмотрите, что лежит в папке project
- 3. Прочитайте README.md внутри project
Если что-то непонятно, наберите help: терминал покажет, что умеет.
Что дальше в модуле
Следующие уроки идут в порядке «от простого к нужному»: навигация и файлы, процессы и переменные окружения, поиск в текстах через grep, awk и sed, подключение к серверам по SSH и, наконец, Git. Раздел «Глубже» подождёт: туда стоит вернуться, когда обязательные уроки перестанут вызывать вопросы.
Цель модуля не выучить все флаги, а перестать испытывать дискомфорт от чёрного окна. Примерно через неделю практики терминал станет самым быстрым способом сделать что угодно с файлами.