Linux на Raspberry Pi: первое знакомство
Под капотом Raspberry Pi работает Linux — та же система, на которой крутится половина интернета и все суперкомпьютеры мира.
Не бойся слова "Linux". Это просто операционная система, как Windows или macOS, только бесплатная, открытая и обожающая командную строку.
Когда ты заходишь на Pi, ты попадаешь в Linux. Здесь есть файлы и папки, программы, пользователи и права доступа — всё как в привычном компьютере, но управляется чаще не мышкой, а текстовыми командами. И это не неудобство, а суперсила: командой можно сделать за секунду то, на что мышкой ушли бы минуты.
Где ты уже встречал Linux, даже не зная об этом? В каждом Android-телефоне внутри живёт Linux-ядро. Почти все сайты, которые ты открываешь, хранятся на серверах под Linux. Умные телевизоры, роутеры, банкоматы, бортовые компьютеры машин — везде он. Так что, разбираясь с Linux на Pi, ты учишься не какой-то экзотике, а самой распространённой операционной системе на планете, просто обычно она спрятана от глаз.
Почему именно командная строка, а не окошки с кнопками? Потому что текстовую команду легко записать, повторить тысячу раз и отправить другому человеку одной строкой. Попробуй объяснить словами, по каким кнопкам кликать, — выйдет длинно и непонятно. А команда ls -l однозначна и работает одинаково на любом Linux в мире. Командная строка — это язык, на котором компьютеры и люди договариваются коротко и точно.
Как работает под капотом
Сердце Linux — это ядро (kernel), программа, которая общается с железом: процессором, памятью, теми же GPIO-пинами. Поверх ядра работают обычные программы. А ты общаешься с системой через оболочку (shell) — на Pi это bash, который читает твои команды и выполняет их.
Можно представить это слоями, как луковицу. В самом центре — железо. Его обнимает ядро, единственное, кому разрешено напрямую трогать процессор и память. Снаружи ядра работают программы, и одна из них — оболочка bash, твой переводчик. Ты говоришь bash человеческими словами-командами, он переводит их в обращения к ядру, а ядро уже дёргает железо. Поэтому, кстати, обычная программа не может случайно сжечь плату: всё идёт через ядро, которое следит за порядком.
+----------------------------------+ | ты печатаешь команду | | | | | v | | bash (оболочка) -> ядро -> железо| | ^ | | | +------ результат ---------+ | +----------------------------------+
Файлы в Linux организованы в одно большое дерево, которое начинается с корня /:
/ <- корень всего |-- home/ | |-- codechick/ <- твоя домашняя папка | |-- projects/ |-- etc/ <- настройки системы |-- usr/ <- установленные программы |-- dev/ <- устройства (в т.ч. GPIO) |-- boot/ <- файлы загрузки
Обрати внимание: нет никаких "диск C" и "диск D". Всё — это одно дерево от корня. Даже флешка "подключается" в виде папки где-то внутри.
Ещё одна непривычная, но важная идея Linux: почти всё здесь — это файл. Не только документы и картинки, но и устройства. Например, тот самый GPIO-пин или датчик системе виден как специальный файл в папке /dev. Звучит дико, зато удобно: раз всё файл, то и работать со всем можно одними и теми же инструментами — прочитать, записать, перенаправить. Эта простая мысль — одна из причин, почему Linux так гибок и почему на нём так удобно делать проекты с железом.
Маленький бонус — Python на Pi предустановлен, и можно подружить его с системой. Вот безопасный пример, который просто печатает структуру условного дерева, не трогая реальные файлы:
tree = {
"/": ["home", "etc", "usr", "dev", "boot"],
"home": ["codechick"],
"codechick": ["projects", "notes.txt"],
}
for folder, items in tree.items():
print(folder, "->", ", ".join(items))
Частые ошибки
- Ищут "Мои документы". В Linux твои файлы лежат в домашней папке
/home/имя, у неё короткое обозначение~. - Путают
/и\. В Linux разделитель путей — прямой слеш/, в отличие от Windows. - Боятся всё сломать. Под обычным пользователем сломать систему трудно — опасны только команды с
sudo. - Бездумно вставляют команды из интернета. Особенно с
sudoиrm— сначала пойми, что команда делает, и только потом запускай. - Думают, что регистр не важен. В Linux
Notes.txtиnotes.txt— два разных файла, и это частый источник ошибок "файл не найден".
Best practices
- Держи свои проекты в домашней папке, в подпапке вроде
~/projects. - Не лезь руками в
/etcи/boot, пока не понимаешь, что делаешь. - Привыкай к командам постепенно — достаточно знать десяток, чтобы чувствовать себя уверенно.
- Перед опасной командой мысленно проговори, что она сделает и с какими файлами — секунда паузы спасает от потери данных.
- Заведи привычку давать файлам и папкам понятные имена без пробелов — будущему себе скажешь спасибо.
Итоги. Linux — это ОС из ядра, оболочки bash и единого дерева файлов от корня /, где почти всё, включая устройства, представлено файлами. Ты общаешься с системой через bash, который переводит команды ядру, а ядро управляет железом. Твоё место — домашняя папка ~. Дальше научимся ходить по этому дереву командами.