← К оглавлению урока

💻 Примеры: структура ФС и регистр

⚡ Минимальный пример

# терминал Ubuntu (WSL или виртуальная машина)
ls /                  # содержимое корня: bin, etc, home, var, ...
cat /etc/os-release   # какой это дистрибутив и версия
uname -r              # версия ядра Linux

Запомнить: корень — /, дистрибутив — в /etc/os-release, ядро — uname.

Занятие 01 — теоретическое. Примеры ниже иллюстрируют теорию. Для их выполнения потребуется терминал — смотрите раздел «Подготовка окружения» в ДЗ.

Пример 1. Смотрим на корень файловой системы

# терминал Ubuntu
ls /

Вывод (набор может немного отличаться):

bin   boot  dev  etc  home  lib  media  mnt  opt
proc  root  run  sbin  srv  sys  tmp  usr  var

Что видим: все каталоги из карты каталогов — прямо в корне. Никаких дисков C: — только / и папки внутри.

Пример 2. Узнаём дистрибутив и ядро

# терминал Ubuntu
cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
...

Файл /etc/os-release — конфигурационный файл в /etc. Версию ядра покажет утилита uname:

# терминал Ubuntu
uname -r       # только версия ядра, например 6.8.0-51-generic
uname -a       # полная строка: ядро, хост, архитектура

Логика: «Linux» в выводе uname — это ядро; «Ubuntu» в os-release — дистрибутив. Тот самый дуэт «ядро + сборка» из теории.

Пример 3. Утилиты — это файлы в /bin и /usr/bin

# терминал Ubuntu
which ls       # где лежит утилита ls?
# /usr/bin/ls
ls /usr/bin | head -20   # первые 20 программ из /usr/bin

Что видим: команда ls — не «встроенная магия», а обычный исполняемый файл. Каждая утилита — отдельная маленькая программа. Модульный принцип UNIX в действии.

Пример 4. /proc — система в реальном времени

# терминал Ubuntu
cat /proc/cpuinfo | head -5    # информация о процессоре
cat /proc/meminfo | head -3    # память
cat /proc/uptime               # сколько секунд работает система

Логика: это не настоящие файлы на диске — ядро генерирует их содержимое в момент чтения. Псевдофайловая система: «в Linux всё — файл», даже информация о процессах.

Пример 5. Чувствительность к регистру

# терминал Ubuntu, домашний каталог
cd ~                   # перейти в /home/<ваше имя>
mkdir Folder FOLDER folder
ls
FOLDER  Folder  folder

Что видим: три разных каталога с «одинаковым» именем мирно живут рядом. В Windows вторая команда mkdir закончилась бы ошибкой.

# уборка за собой
rmdir Folder FOLDER folder

Пример 6. /tmp — общая «песочница»

# терминал Ubuntu
echo "hello Linux" > /tmp/hello.txt    # записать файл во времянку
cat /tmp/hello.txt                      # прочитать
ls -l /tmp/hello.txt                    # увидеть владельца и права

Логика: в /tmp писать может любой пользователь — удобно для экспериментов. Но не храните там ничего важного: каталог очищается при перезагрузке.

💡 Смысл всех примеров: файловая система из теории — не абстракция, а живая структура, которую можно исследовать тремя командами: ls (посмотреть), cat (прочитать), cd (перейти). Подробно эти команды — на занятии 02.