Визуальный атлас Linux: схемы файлов, процессов и сети
Исследуйте связи Linux по шагам: пути, inode, права, потоки, состояния процессов, systemd и маршруты. Сравнивайте условия и читайте результат без JavaScript.
Как выбрать материал
Схема полезна, когда похожие слова скрывают разные отношения. Имя и inode, текущий stdout и копия его назначения, порядок unit и требование запуска — каждую пару легче понять на последовательности конкретных событий.
Как работать с разделом
Выберите условие, пройдите шаги вперёд и затем вернитесь назад. Объяснение показывает, какие данные изменились и что осталось прежним. Все модели используют учебные значения; они не наблюдают процессы, сеть или диски вашего компьютера.
Имена и права доступа
Дерево Linux: где находятся программа, настройка и данные
Проследите разные ветви файловой иерархии Linux. Схема отделяет установленную программу, локальную настройку и изменяемое состояние сервиса.
Визуальный атлас ↗Разрешение пути: текущий каталог, компоненты и ссылки
Пройдите путь по компонентам и сравните лексическое упрощение с разрешением символьной ссылки. Увидьте, почему link/.. не всегда сокращается ожидаемо.
Визуальный атлас ↗Inode, жёсткая и символическая ссылка: разные связи
Сравните два имени одного inode с отдельным symlink. Проследите удаление имени и объясните, почему данные иногда остаются доступны после удаления файла.
Визуальный атлас ↗Проверка rwx: выбрать класс доступа и нужную операцию
Проследите выбор владельца, группы или остальных при обычной проверке битов Unix. Сравните чтение файла, проход по каталогу и ошибочную сумму разрешений.
Визуальный атлас ↗Владелец и группа: какой класс прав выбирается
Проследите выбор обычной тройки доступа при двух наборах идентификаторов. Схема отделяет владельца файла от членства процесса в группах.
Визуальный атлас ↗Схема umask: какие биты исчезают при создании
Сравните создание файла и каталога при одной маске. Схема показывает исходный запрос, запрещённые биты и итог без арифметического вычитания.
Shell и потоки
Схема потоков Bash: stdin, stdout и stderr
Переключайте режимы вывода и прослеживайте данные от журнала к фильтру, счётчику или файлу. Текстовый разбор доступен без JavaScript.
Визуальный атлас ↗Порядок перенаправлений: куда уходят stdout и stderr
Сравните >file 2>&1 и 2>&1 >file по состоянию дескрипторов. Схема показывает копирование текущего назначения и объясняет разные результаты.
Визуальный атлас ↗Таблица дескрипторов: номер и открытый файл
Проследите связь номера FD с открытым файловым описанием. Сравните дублирование дескриптора с отдельным открытием одного пути.
Визуальный атлас ↗Три стандартных потока: данные, ввод и диагностика
Сравните успешный фильтр и ошибку чтения источника. Схема отделяет FD 0, FD 1 и FD 2 без предположения, что все они всегда относятся к терминалу.
Визуальный атлас ↗Раскрытия Bash: от исходного слова к аргументам
Проследите подстановку параметра, разделение слов и поиск имён. Сравните незащищённое значение с тем же значением в двойных кавычках.
Визуальный атлас ↗Окружение и PATH: что получает дочерняя программа
Сравните экспорт параметра и порядок поиска команды. Схема разделяет передачу значений дочернему процессу и выбор исполняемого файла.
Процессы и запуск системы
Состояния процесса: выполнение, ожидание и зомби
Проследите смену состояний процесса при ожидании данных, остановке и завершении. Отличите готовность к CPU от зомби, которому уже нечего выполнять.
Визуальный атлас ↗Дерево процессов: создание ребёнка и смена программы
Проследите связь родителя и ребёнка при fork и exec. Сравните создание нового процесса с заменой программы в уже существующем процессе.
Визуальный атлас ↗Путь сигнала: отправитель, задача и обработчик
Сравните обрабатываемый запрос завершения с неперехватываемой остановкой. Схема показывает, почему отправка сигнала не всегда равна мгновенному результату.
Визуальный атлас ↗Загрузка Linux: ядро, ранняя среда и userspace
Проследите типичный путь запуска через загрузчик, ядро и PID 1. Сравните ошибку нахождения корня с отказом позднего сервиса.
Визуальный атлас ↗systemd: порядок запуска и требование зависимости
Сравните After=, Wants= и Requires= на небольшой схеме units. Поймите, почему порядок сам по себе не добавляет сервис в транзакцию запуска.
Визуальный атлас ↗Путь события в journal: источник, хранение и отбор
Разделите появление записи, её сохранение и последующее чтение. Сравните отсутствие события с ситуацией, когда его исключает фильтр.
Сеть и удалённый доступ
IPv4 на схеме: где заканчивается префикс
Разделите IPv4-адрес на сетевые и узловые биты. Два примера /26 показывают, почему соседние адреса могут принадлежать разным подсетям.
Визуальный атлас ↗Выбор маршрута: длинный префикс важнее малой метрики
Проследите поиск IPv4-маршрута в одной таблице. Сравните default, более точную сеть и два маршрута одинаковой длины с разными метриками.
Визуальный атлас ↗Путь DNS-запроса: кэш и обращение к резолверу
Проследите получение A-записи с действующим кэшем и без него. Отделите ответ DNS от последующего соединения с приложением.
Визуальный атлас ↗TCP и UDP: что хранит схема сокетов
Сравните поток TCP и отдельные датаграммы UDP. Поймите, почему границы вызовов записи и границы получаемых сообщений совпадают не всегда.
Визуальный атлас ↗Слушающий порт: адрес привязки и доступность
Разберите разницу между loopback и привязкой ко всем IPv4-интерфейсам. Схема отделяет наличие слушателя от прохождения сетевого пути.
Визуальный атлас ↗Путь пакета: input, forward и output
Определите, какой сетевой путь относится к пакету. Сравните обращение к самому серверу с транзитом через него к другому узлу.
Визуальный атлас ↗Этапы SSH: транспорт, сервер и пользователь
Проследите подключение SSH от адреса до сеанса. Отличите отказ TCP от несовпадения ключа сервера и проверки учётной записи.
Визуальный атлас ↗SSH-ключи на схеме: подпись вместо передачи секрета
Разберите роли закрытого ключа, открытого ключа и разрешения входа. Сравните действительную подпись с отсутствием разрешённого ключа у пользователя.
Хранилище и пакеты
Точки монтирования: какое дерево видно по пути
Посмотрите, как подключённая файловая система закрывает прежнее содержимое каталога. Сравните вид пути до монтирования и после него.
Визуальный атлас ↗Устройство, раздел и файловая система: слои хранения
Проследите путь от блочного устройства к файлу. Сравните файловую систему на разделе с файловой системой на целом устройстве.
Визуальный атлас ↗LVM на схеме: PV, VG и логический том
Свяжите физические тома с группой и логическими томами. Разберите распределение свободных extents и отдельный размер файловой системы.
Визуальный атлас ↗Место и inode: два независимых ограничения файловой системы
Сопоставьте свободные байты и доступные inode на трёх учебных снимках. Найдите, почему запись нового файла может не удаваться при свободном месте.
Визуальный атлас ↗Граф пакетов: зависимость, версия и план установки
Прочитайте учебный граф зависимостей до изменения системы. Сравните удовлетворённое ограничение версии с отсутствующим подходящим кандидатом.
Визуальный атлас ↗Проверка репозитория APT: подпись и цепочка хэшей
Разберите, как доверие к метаданным связывается с загруженным пакетом. Сравните корректную цепочку с изменённым файлом пакета.
Изоляция, ядро и диагностика
Namespaces: разные представления одного ядра
Сравните PID и сетевые пространства Linux. Узнайте, какие объекты становятся видны по-разному и почему отдельное представление не означает отдельное ядро.
Визуальный атлас ↗Дерево cgroup v2: лимиты родителя и потомков
Проследите действие ограничения памяти в иерархии. Сравните локальный предел дочерней группы с общим пределом всей ветви.
Визуальный атлас ↗Контейнер Linux: процессы, изоляция и общее ядро
Разберите состав контейнера без сравнения с полноценной виртуальной машиной. Сопоставьте видимость ресурсов и ограничения их расхода.
Визуальный атлас ↗Карта /proc: процесс, self и системные сведения
Выберите правильную ветвь procfs для вопроса о процессе или системе. Поймите, почему /proc/self зависит от читающего процесса.
Визуальный атлас ↗Карта /sys: объекты устройств и их атрибуты
Проследите связь представления устройства с атрибутами sysfs. Отделите чтение состояния ядра от сохранённого конфигурационного файла.
Визуальный атлас ↗Системный вызов read: запрос, проверка и результат
Проследите чтение через файловый дескриптор. Сравните успешный короткий результат с ошибкой неверного дескриптора.
Визуальный атлас ↗Схема нагрузки: CPU, память и момент измерения
Сопоставьте признаки вычислительной нагрузки и дефицита памяти. Выберите следующую проверку по нескольким наблюдениям, а не по одному большому числу.
Визуальный атлас ↗Дерево диагностики: от симптома к проверяемой причине
Пройдите две ветки отказа сервиса: процесс не запущен и процесс работает без нужного слушателя. Каждая развилка опирается на конкретное наблюдение.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.