Написание кода — это, конечно, святое дело для любого программиста. Но если вы думаете, что на этом приключения заканчиваются, то спешу вас разочаровать: настоящий программист — это не только тот, кто пишет код, но и тот, кто умеет заставить его работать там, где надо.
Представьте себе: вы написали шедевр программирования, а он у пользователя отказывается запускаться или сервер с ним ведёт себя как капризный кот — ни в какую! Вот тут и начинается веселье.
Особенно забавно становится, когда речь заходит о серверах. Большинство из них работают под Linux без графической оболочки. Да-да, никакого милого рабочего стола с иконками и кнопочками «Пуск».
Вместо этого вам показывают терминал — черный экран с мигающим курсором. Если вы впервые видите этот терминал, то можете подумать: «Ого!
Это что-то из фильмов про хакеров!» И будете правы на все сто процентов. Терминал — это как дверь в потаённый мир команд и скриптов. Вводишь туда команды — и они выполняются быстрее любой магии.
Почему же так?
Во-первых, терминал экономит ресурсы сервера. Вы же не хотите тратить драгоценную мощь машины на красивые картинки? Это как если бы вы пришли в ресторан и заказали только воду вместо трех блюд — быстро и эффективно! Во-вторых, команды можно автоматизировать: пишешь их один раз в файл (скрипт), запускаешь — и они делают всю работу сами.
Помните старый анекдот: «Программисту дали задание оптимизировать процесс. Он написал программу, которая оптимизирует написание программы для оптимизации процесса»?
Вот примерно так работает автоматизация командной строки.
Если копнуть глубже в историю терминала, то узнаем интересное: первые командные интерфейсы появились ещё в 1970-х годах! Тогда компьютеры были огромными машинами — мейнфреймами — которые занимали целые этажи зданий. Представьте себе огромный холодильник размером с комнату!
И чтобы работать с этим чудищем техники, люди использовали терминалы — специальные устройства без вычислительных мощностей сами по себе; все вычисления делал мейнфрейм.
Именно тогда появилась операционная система Unix — такая крутая штука на языке Си для работы на этих мейнфреймах. Она была платной и закрытой; исходный код никто не видел — настоящее сокровище для тех времен! Unix позволяла многим пользователям одновременно сидеть за одним компьютером через свои терминалы — почти как современный офисный чат: «Ты там что делаешь?» – «Код пишу», – «А я баг фиксю».
Так зародился мультипользовательский режим.
Позже появился стандарт POSIX — своего рода договорённость между разработчиками о том, как должны работать разные части системы и программы внутри неё. Это было похоже на правила дорожного движения для компьютерных систем: все знали куда ехать и как не сталкиваться.
А теперь представьте картину: 1991 год, юный финн Линус Торвальдс сидит дома и решает сделать свою операционную систему Linux – открытую всем желающим! Это был настоящий подарок миру IT – теперь любой мог скачать код системы и внести свои изменения. Как говорил один мудрый программист: «Linux – это как большой пирог с открытым рецептом: каждый может добавить туда свою начинку».
Стоит отметить одну забавную вещь: Linux сам по себе вообще не имеет графической оболочки!
То есть эта система – словно голый каркас дома без обоев и мебели. Зато есть куча разных “оболочек” (графических интерфейсов), которые можно поставить сверху по вкусу пользователя – от строгих до ярких цветастых вариантов.