Узнайте, почему shell-скриптинг — ключевой навык для автоматизации, и как он даёт контроль над инфраструктурой. Начните писать скрипты уже сегодня.
Есть категория людей, о которых вы никогда не слышали. Они не представляются на вечеринках, не мелькают в Forbes 30 Under 30, не снимают TikTok о своём утреннем распорядке. Их LinkedIn, если вообще существует, последний раз обновлялся, когда Обама ещё разбирался с принтером в Белом доме. Они знают shell-скриптинг. И пока все остальные спорят, какой JavaScript-фреймворк наконец обретёт покой, эти люди тихо автоматизируют весь мир — одной непостижимой строкой bash за раз.
В любой индустрии есть видимые жрецы и невидимые. Видимые носят Allbirds, выступают с докладами, говорят «мы строим будущее работы» и привлекают 40 миллионов долларов, чтобы сделать чуть худшую версию Google Sheets. Невидимые выглядят так, будто отлаживают что-то с 2009 года — так и есть. У них открыт терминал, который работает дольше, чем существуют некоторые стартапы. Этот терминал чёрный, полный зелёного или янтарного текста — или кастомной цветовой схемы, которую они настраивали шесть часов и будут защищать до смерти.
Вы звоните в IT, когда ломается ноутбук. Компании звонят этим людям, когда ломается реальность. Ваш сайт упал в 3:17 ночи в воскресенье? Shell-скрипт перезапустил его ещё до того, как мониторинг успел отправить панический Slack. Банк обработал десять миллионов транзакций, пока вы спали? Shell-скрипт. Фотографии сохранились, логи ротировались, облачная инфраструктура не загорелась? Shell-скрипт, shell-скрипт, shell-скрипт.
Современная экономика построена не на блокчейне, AI или «вибрациях». Она построена на cron-задачах, которые какой-то парень по имени Дима написал в 2014 году, и теперь все боятся к ним прикасаться. Если вы когда-нибудь видели crontab на production-сервере, вы понимаете, о чём я. Это выглядит как дневник параноидального гения:
# НЕ ТРОГАТЬ — Дима 2014
# чинит ту штуку
# запускать каждые 5 мин, не отключать, иначе бухгалтерия сломаетсяНикто не знает, что за «штука». Но бухгалтерия не ломается. Так что мы оставляем.
Люди, знающие Python, скажут вам, что знают Python. Люди, знающие Rust, расскажут вам об этом подробно, без приглашения, пока вы пытаетесь заказать кофе. Люди, знающие shell-скриптинг, никогда не признаются. Не потому что они скромны. А потому что они поняли: сказать, что знаешь shell — это как сказать, что умеешь чинить принтеры. Покоя больше не будет.
Как только вы признаетесь, что умеете писать bash, ваша судьба решена. Вы становитесь тем, кто может исправить деплой. Тем, кто понимает, почему упал бэкап. Тем, кому звонят, когда старший инженер с зарплатой 400k в год набирает rm -rf / не на том сервере. Они не хотят славы. Они хотят, чтобы их оставили в покое в терминале, где компьютер делает именно то, что ему сказано — а это больше, чем можно сказать о любом человеке в их жизни.
Есть и вторая причина их молчания: они знают, насколько абсурдно могущественны, и почти неприлично упоминать об этом. Подумайте, что может сделать приличный скриптер за тридцать секунд — то, на что обычной команде потребовалось бы три спринта, два стендапа и Figma-файл:
Это не кодинг. Это колдовство с возможностью отрицания.
Великий секрет shell-скриптинга, которому не учат в буткемпах ценой в подержанную Honda, заключается в том, что вселенная — это просто текст. Всё в Unix-системе — файл. Каждый файл — текст, если достаточно прищуриться. Каждая программа — фильтр, принимающий текст и выдающий текст. А bash — это изолента, WD-40 и божественный язык, позволяющий соединить их.
Современная разработка хочет убедить вас, что нужны микросервисы, Kubernetes и команда сертифицированных облачных консультантов. Shell-люди смотрят на это и видят очень дорогой способ сделать то, что xargs уже делает бесплатно. Они усвоили философию Unix до степени расстройства личности: делай одну вещь хорошо, объединяй простые инструменты, автоматизируй всё, что раздражает больше одного раза, никогда не доверяй GUI.
Это делает их невероятно опасными в любой организации. Дайте скриптеру доступ к запутанной проблеме — и он не предложит дорожную карту на шесть месяцев. Он замолчит на 45 минут, а затем скажет: «Я починил. Это больше не повторится. И ещё теперь оно присылает нам мемы, когда запускается». Вы посмотрите на скрипт и ничего не поймёте. Там будут символы, о существовании которых на клавиатуре вы не подозревали. Там будет $(( )) внутри ${//} внутри $( ). Там будет команда sed, выглядящая так, будто её написали во время инсульта. Она будет работать безупречно до тепловой смерти вселенной.
Давайте честно посмотрим, как на самом деле работают компании. Наверху — CEO, задающий видение. Под ним — менеджмент среднего звена, назначающий встречи по поводу видения. Под ними — продакт-менеджеры, переводящие встречи в тикеты. Под ними — разработчики, превращающие тикеты в ещё больше тикетов. А глубоко внизу, в подвале, который официально не существует, сидит человек, работающий в компании одиннадцать лет. Он знает, куда идут все логи. Он написал скрипт деплоя, которым все пользуются, но никто не понимает. И он может обрушить всю операцию, уйдя в двухнедельный поход без связи.
У этого человека нет опционов. У этого человека есть root-доступ. Что гораздо лучше. Когда новый хайповый AI-стартап говорит, что они «работают на износ», это значит, что четыре shell-скрипта делают работу целой команды эксплуатации. Когда огромный банк говорит, что их системы «проверены в бою», это значит, что какие-то shell-скрипты непрерывно работают с тех пор, как iPhone не существовало, и все молятся, чтобы они продолжали.
Хотите знать, кто на самом деле управляет интернетом? Не смотрите на сцену с докладами на конференциях. Смотрите на мейнтейнеров coreutils. На людей, которые всё ещё читают man-страницы для удовольствия. На того, кто может объяснить разницу между >, >>, 2>&1 и &> без гугла. Этот человек — ваш бог теперь.
И прекрасная, пугающая вещь в том, что эта сила доступна каждому, кто готов учиться. Никаких барьеров. Терминал есть на каждом Mac, каждом Linux, каждом облачном сервере за пять долларов в месяц. Он ждёт. Большинство открывают его, видят мигающий курсор, паникуют и закрывают навсегда. Эти люди будут платить за семнадцать SaaS-инструментов, чтобы сделать то, что один for-цикл делает бесплатно. Другие смотрят на мигающий курсор и чувствуют, как что-то древнее встаёт на место. Чувство контроля, которое современное ПО десятилетиями пыталось у вас отнять. Никаких попапов, никаких апсейлов, никаких «Похоже, вы пытаетесь написать письмо!». Только вы и машина, которая сделает в точности то, что вы скажете — даже если это катастрофически глупо. Особенно тогда.
Вы учите shell-скриптинг не потому, что начальник сказал. А потому что однажды вам надоело сотый раз делать одну и ту же скучную задачу, и вы подумали: «Должен быть способ лучше». И он есть. Он включает пайпы, немного боли и осознание, что awk — это на самом деле полноценный язык программирования, который кто-то спрятал в утилите обработки текста в качестве шутки.
Всё начинается с ls. Потом grep. Потом вы открываете find . -name "*.jpg" | xargs. И вы пропали. Вы становитесь тем, кто автоматизирует всю свою работу и проводит остаток дня, читая документацию ради удовольствия. Вы становитесь тем, кто тихо управляет всем.
Мир вас не отблагодарит. Никто никогда не увидит вашей работы, если вы сделали её правильно. Лучшая автоматизация невидима. Сервер никогда не падал. Файлы всегда были на месте. Отчёт лежал в почте в 6 утра без напоминаний. Такова сделка: полная власть, ноль признания. На удивление хороший обмен.
Поэтому если вы видите кого-то с терминалом, полным тайловых панелей, каждая запускает что-то своё, печатающего со скоростью, предполагающей, что он превзошёл необходимость в мыши — не беспокойте его. Он занят тем, что поддерживает свет включённым. Может быть, тихо спросите, как выглядят его dotfiles. Если вы ему понравитесь, он может показать. И тогда вы поймёте.
Для тех, кто хочет перейти от туриста к оператору, стоит изучить:
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →