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, который переводит команды ядру, а ядро управляет железом. Твоё место — домашняя папка ~. Дальше научимся ходить по этому дереву командами.

Проверьте себя
1. С какого символа начинается дерево файлов в Linux?
AC:
BКорень /
C~
Dhome
2. Что такое bash на Raspberry Pi?
AВидеоредактор
BОболочка (shell), которая читает и выполняет твои команды
CНазвание процессора
DФайловая система