💡 Полезные Советы

Часто используемые команды Linux: быстрый справочник

11.02.26
22

📂 File and Directory Management (Управление файлами и папками)

Эти команды используются для навигации по файловой системе и работы с файлами.

  • ls (List): Выводит список файлов и папок в текущей директории.

  • pwd (Print Working Directory): Показывает полный путь к папке, в которой вы сейчас находитесь.

  • cd (Change Directory): Используется для перехода в другую папку.

  • mkdir (Make Directory): Создает новую папку.

  • rmdir (Remove Directory): Удаляет пустую папку.

  • touch: Создает пустой файл или обновляет время последнего изменения существующего файла.

  • cp (Copy): Копирует файлы или папки.

  • mv (Move): Перемещает файлы или папки (также используется для переименования).

  • rm (Remove): Удаляет файлы (или папки с ключом -r).

📝 File Viewing and Editing (Просмотр и редактирование файлов)

Инструменты для чтения содержимого файлов и внесения изменений.

  • cat (Concatenate): Выводит содержимое файла на экран полностью.

  • less: Позволяет просматривать длинные файлы постранично (можно листать вверх и вниз).

  • more: Старая версия less, позволяет листать только вниз (в большинстве случаев).

  • nano: Простой и понятный консольный текстовый редактор для новичков.

  • vim: Мощный и сложный консольный редактор для продвинутых пользователей.

  • gedit: Стандартный графический текстовый редактор (как Блокнот) для среды GNOME.

⚙️ Process Management (Управление процессами)

Команды для контроля запущенных программ и служб.

  • ps (Process Status): Показывает моментальный снимок текущих запущенных процессов.

  • top: Показывает список процессов в реальном времени (нагрузка на CPU, память).

  • kill: Завершает процесс по его идентификатору (PID).

  • killall: Завершает все процессы с указанным именем.

  • pstree: Показывает процессы в виде иерархического дерева (кто кого запустил).

  • htop: Более удобная, цветная и интерактивная версия top.

ℹ️ System Information (Информация о системе)

Диагностика ресурсов и параметров компьютера.

  • uname: Выводит информацию о системе (ядро, архитектура). Часто используют uname -a.

  • df (Disk Free): Показывает количество свободного и занятого места на дисках.

  • du (Disk Usage): Показывает размер папок и файлов.

  • free: Показывает использование оперативной памяти (RAM) и файла подкачки (Swap).

  • lscpu: Детальная информация о процессоре.

  • lshw (List Hardware): Подробная информация обо всем оборудовании.

  • lsblk (List Block Devices): Список всех подключенных накопителей и их разделов.

👤 User and Group Management (Управление пользователями и правами)

Администрирование учетных записей.

  • passwd: Смена пароля пользователя.

  • useradd: Создание нового пользователя.

  • userdel: Удаление пользователя.

  • usermod: Изменение параметров пользователя (например, добавление в группу).

  • groupadd: Создание новой группы пользователей.

  • groupdel: Удаление группы.

  • groups: Показывает, в каких группах состоит пользователь.

  • id: Выводит цифровые идентификаторы пользователя (UID) и групп (GID).

🌐 Network Configuration and Monitoring (Сеть)

Настройка сети и диагностика подключений.

  • ifconfig: Старая команда для просмотра и настройки сетевых интерфейсов (IP, маска).

  • ip: Современная и более мощная замена ifconfig.

  • ping: Проверка доступности удаленного узла (сервера/сайта).

  • netstat: Статистика сетевых подключений, портов и таблиц маршрутизации.

  • ss: Современная и быстрая замена netstat для просмотра сокетов.

  • traceroute: Показывает маршрут (узлы), который проходит пакет до цели.

  • ssh (Secure Shell): Безопасное подключение к удаленному компьютеру.

  • nc (Netcat): "Швейцарский нож" для сети — умеет читать и писать данные в сетевые соединения (тестирование портов, передача файлов).

📦 Package Management (Управление пакетами)

Установка и удаление программ. Команды зависят от вашего дистрибутива Linux.

  • apt-get / apt: Используются в Debian, Ubuntu, Mint. apt — более современная и удобная версия.

  • yum / dnf: Используются в RHEL, CentOS, Fedora. dnf — современная замена yum.

  • rpm: Низкоуровневый менеджер пакетов для Red Hat систем (установка .rpm файлов).

  • dpkg: Низкоуровневый менеджер пакетов для Debian систем (установка .deb файлов).

  • snap: Универсальный менеджер пакетов от Canonical (работает на большинстве дистрибутивов).

  • zypper: Менеджер пакетов для openSUSE.

Процесс загрузки Linux‑системы

31.01.26
43

Когда мы нажимаем кнопку питания на компьютере, до появления приглашения ввода логина проходит несколько этапов. Каждый из них решает свою задачу: проверка железа, поиск загрузчика, запуск ядра и подготовка пользовательской среды.

1. BIOS/UEFI: старт системы

После включения процессор начинает выполнять код встроенной прошивки материнской платы - BIOS или UEFI.

Прошивка выполняет самотест (POST), инициализирует базовые устройства (оперативная память, контроллеры, видеосистема) и по настройкам выбирает загрузочное устройство: диск, флешку, сетевую карту и т.д.

Основная задача этого этапа - подготовить железо и найти, откуда загружать операционную систему.

2. MBR/GPT: первая стадия загрузки

В начале диска находится область, отвечающая за разметку и начальный код загрузки:

MBR (Master Boot Record) - классическая схема, занимает первые 512 байт диска.

GPT (GUID Partition Table) - современная схема, логически отделяет таблицу разделов и код загрузки.

В этой области лежит крошечный фрагмент кода - первая стадия загрузчика. Его возможности ограничены: он только считывает таблицу разделов и находит место, где расположена "вторая стадия" полноценного загрузчика (обычно на разделе /boot).

3. Загрузчик (GRUB/LILO): выбор и запуск ядра

Дальше управление получает загрузчик второго этапа - чаще всего GRUB.

Он уже умеет работать с файловыми системами и конфигурационными файлами.

Типичные задачи загрузчика:

  • Показать меню с вариантами загрузки (разные ядра, режим восстановления, другие ОС).
  • По выбору пользователя загрузить в память образ ядра Linux и initramfs (initial RAM filesystem).
  • Передать управление загруженному ядру.

В системах с dual‑boot GRUB может не только загружать Linux, но и "передавать эстафету" загрузчику Windows (chainloading).

4. initramfs: временная файловая система в памяти

После загрузки в память ядро получает вместе с ним образ initramfs - это небольшая файловая система, расположенная в оперативной памяти.

Зачем она нужна:

  • На "настоящем" корневом разделе (/) лежат драйверы и модули, но чтобы его смонтировать, эти драйверы уже должны быть доступны.
  • initramfs решает эту проблему, предоставляя ядру временный root с необходимыми модулями, скриптами и утилитами.

Типичный сценарий работы initramfs:

  1. Ядро монтирует initramfs как временную корневую файловую систему и запускает из неё скрипт /init.
  2. /init подгружает модули ядра, настраивает RAID, LVM, расшифровывает шифрованные разделы и ищет постоянный корневой раздел.
  3. После нахождения и монтирования «настоящего» root выполняется переход (switch_root/pivot_root) на него, и система готова стартовать основную init‑систему.

По сути initramfs - одноразовая мини‑система, которая существует только во время старта и "исчезает" после перехода на основной root.

5. Ядро Linux: инициализация системы

Получив управление от загрузчика, ядро распаковывает себя, настраивает планировщик, управление памятью, систему прерываний и загружает драйверы устройств.

На этом этапе формируется базовый программный "скелет" системы: ядро уже умеет работать с устройствами и файловыми системами и готово запускать пользовательские процессы.

Когда корневой раздел смонтирован, ядро запускает первый пользовательский процесс с PID 1 - init‑систему.

6. Init‑система: запуск служб и пользовательской среды

Init‑система - это первый процесс в пространстве пользователя, который отвечает за запуск всех остальных сервисов и подготовку окружения для пользователя.

В современных дистрибутивах чаще всего используется systemd, но исторически применялись и другие варианты:

SysV init - набор shell‑скриптов и runlevel’ов (0,1,3,5 и т.д.), запускающих службы в определённом порядке.

Upstart - событийная система, где службы стартуют в ответ на события (запуск системы, поднятие сети и т.п.).

systemd - современная система с unit‑файлами, параллельным запуском служб, зависимостями и мощным журналированием.

Основные задачи init‑системы:

  • Запустить системные службы (журналы, сеть, диспетчер входа, SSH, cron и др.).
  • Смонтировать дополнительные файловые системы.
  • Запустить графический сервер и рабочее окружение пользователя либо выдать текстовое приглашение логина.

Как только init‑система завершит свои задачи, пользователь видит приглашение к входу или рабочий стол - на этом процесс загрузки считается завершённым.

Глоссарий терминов

BIOS и UEFI - "Начальники железа"

  • BIOS (Basic Input/Output System - базовая система ввода‑вывода)
    Представьте BIOS как "бригадира" на стройке. Когда вы включаете компьютер, он просыпается первым, проверяет, что все рабочие (железо) на месте и в состоянии работать, а затем показывает, откуда начинать строительство (загрузку системы).
    Это старая технология: она простая, но имеет ограничения (например, не видит очень большие современные диски и имеет примитивный текстовый интерфейс).
  • UEFI (Unified Extensible Firmware Interface)
    Это "современный менеджер" на замену старому бригадиру BIOS. Он делает то же самое (проверяет железо и ищет загрузчик), но гораздо умнее:
    • Понимает мышку и имеет красивый графический интерфейс.
    • Видит диски огромного объёма (больше 2 ТБ).
    • Умеет загружаться быстрее и безопаснее (Secure Boot).
      Сегодня почти на всех новых компьютерах стоит именно UEFI, хотя по привычке мы часто называем его BIOS.
  • POST (Power-On Self Test)
    Это "утренняя перекличка" железа. Сразу после включения BIOS/UEFI быстро проверяет основные узлы:
    • Оперативная память (RAM) - целая ли?
    • Видеокарта - работает ли вывод на экран?
    • Клавиатура - подключена ли?
      Если всё хорошо - компьютер пикнет один раз или просто покажет логотип. Если что-то сломалось - начнёт пищать кодами ошибок (например, три длинных гудка - проблема с памятью).

Разметка диска: MBR и GPT
Чтобы компьютер понял, где на диске лежат файлы, диск нужно разметить.

  • MBR (Master Boot Record - главная загрузочная запись)
    Старый способ разметки, как старая карта города.
    • Ограничение: видит диск размером максимум 2 Терабайта.
    • Может иметь всего 4 главных раздела (например, диск C, D, E и F).
    • Хранит информацию о разделах только в одном месте (в самом начале диска) - если это место повредится, можно потерять все данные.
      Загрузчик при такой разметке часто "втискивается" прямо в эти первые байты диска.
  • GPT (GUID Partition Table - таблица разделов GUID)
    Современная "карта города".
    • Понимает диски любого реального размера (хоть 100 ТБ).
    • Позволяет создать огромное количество разделов (теоретически - бесконечно, практически - 128 и больше).
    • Хранит копии таблицы разделов в начале и в конце диска - если начало повредится, данные можно восстановить из копии.
      Обычно используется в паре с UEFI.

Загрузчики в мир ОС

  • Загрузчик (Bootloader)
    Это маленькая программа-посредник. BIOS/UEFI слишком примитивен, чтобы разбираться в файлах операционной системы. Поэтому он запускает загрузчик, а уже загрузчик знает: "Ага, ядро Linux лежит вот в этой папке на этом диске, сейчас я его прочитаю и запущу".
    Примеры: GRUB (для Linux), Windows Boot Manager (для Windows).
  • GRUB (GRand Unified Bootloader)
    Самый популярный и мощный загрузчик в мире Linux.
    Его суперсилы:
    • Умеет загружать почти любую операционную систему.
    • Показывает меню при включении компьютера, где вы можете выбрать: "Загрузить Ubuntu", "Загрузить Windows" или "Восстановить систему".
    • Если что-то сломалось, у него есть своя командная строка, через которую иногда можно починить загрузку вручную.
  • Chainloading (Цепная загрузка)
    Это когда один загрузчик не грузит систему сам, а передает управление другому загрузчику.
    Представьте: вы выбрали в меню GRUB пункт «Windows». GRUB не умеет запускать ядро Windows напрямую, он просто говорит: «Эй, загрузчик Windows, твой выход!», и передаёт управление ему. Для пользователя это выглядит просто как выбор пункта меню.

Внутренности Linux: Ядро и его помощники

  • Ядро (Kernel)
    Это "мозг" операционной системы.
    Ядро - это самая главная программа, которая управляет всем компьютером.
    • Оно решает, какой программе дать поработать процессором прямо сейчас.
    • Оно выделяет память программам и следит, чтобы они не мешали друг другу.
    • Оно общается с железом (дисками, видеокартой, мышкой).
      Пользователь с ядром напрямую не общается - для этого есть оболочки и программы.
  • Драйвер
    Это "словарь" или "инструкция" для ядра.
    Ядро само по себе не знает, как управлять конкретной моделью видеокарты NVIDIA или принтером Canon. Драйвер - это модуль, который объясняет ядру: "Чтобы напечатать страницу на этом принтере, нужно отправить вот такие команды в порт USB".
    Без драйверов железо просто "мертвый груз".
  • initramfs (Initial RAM Filesystem)
    Это "аварийный чемоданчик" для старта ядра.
    Проблема: чтобы прочитать файлы с диска, ядру нужен драйвер диска. Но драйвер диска сам лежит на диске! Как его прочитать, если мы еще не умеем читать диск?
    Решение: initramfs - это маленький архив, который загрузчик кладёт в оперативную память вместе с ядром. В нём уже лежат самые важные драйверы. Ядро сначала открывает этот архив, берёт оттуда драйвер диска, а уже потом может читать настоящий большой диск с системой.
  • Root (Корень, /)
    Это главная папка всей системы Linux.
    В Windows есть диски C:, D:, E:. В Linux всё начинается от одного корня - символа /.
    Все остальные диски и флешки "подключаются" (монтируются) внутрь папок в этом корне. Когда система загружена, именно в корне лежат все ваши программы, настройки и файлы.

Init-системы: "Управляющие процессами"
После того как ядро запустилось, оно запускает самый первый процесс (PID 1). Этот процесс должен запустить всё остальное (сеть, звук, экран входа в систему). Это и есть Init-система.

  • SysV init (System V init)
    Классический, "дедовский" метод.
    • Работает по строгой очереди: сначала запусти сеть, потом (когда сеть готова) запусти SSH, потом запусти веб-сервер.
    • Использует простые и понятные скрипты (текстовые файлы с командами).
    • Минус: загрузка идёт медленно, потому что процессы ждут друг друга.
  • systemd
    Современный стандарт (используется в Ubuntu, Debian, CentOS, Fedora).
    • Умеет запускать всё параллельно: сеть и звук грузятся одновременно, не ожидая друг друга, если не зависят друг от друга.
    • Очень мощная и сложная: умеет перезапускать упавшие службы, следить за логами, управлять таймерами.
    • Многие критикуют её за сложность ("комбайн, который делает всё"), но она де-факто стандарт сегодня.
  • Upstart
    Попытка сделать что-то среднее между старым SysV и новым systemd.
    Главная идея - "события". Не просто "запусти сеть", а "если вставили сетевой кабель - запусти настройку сети".
    Сейчас почти не используется, так как systemd победила в "войне init-систем".

Шпаргалка по chmod: права доступа в Linux простым языком

27.01.26
49

В Linux права считаются простой арифметикой. Вы просто складываете числа для нужных действий.

1. Базовые значения

ЧислоДействиеАнгл.Описание
4ЧтениеReadМожно открыть и посмотреть файл
2ЗаписьWriteМожно изменять или удалять файл
1ВыполнениеeXecuteМожно запустить файл (скрипт/программу)

2. Полная таблица (как на твоем скрине)

Чтобы получить комбинированные права, просто сложите цифры (например: Чтение + Запись = 4 + 2 = 6).

ЧислоСимволыРасшифровка (Права)Формула
0---Нет правНичего
1--xТолько выполнение1
2-w-Только запись2
3-wxЗапись + Выполнение2 + 1
4r--Только чтение4
5r-xЧтение + Выполнение4 + 1
6rw-Чтение + Запись4 + 2
7rwxПолные права (всё вместе)4 + 2 + 1

В командах вы обычно видите три цифры подряд, например 755. Они обозначают права для трех категорий пользователей по очереди:

  1. Владелец (Owner) - тот, кто создал файл.

  2. Группа (Group) - коллеги/команда владельца.

  3. Остальные (Others) - все прочие пользователи системы.

Пример: chmod 755 filename

  • 7 (Владелец): rwx (Может всё: читать, писать, запускать).

  • 5 (Группа): r-x (Может читать и запускать, но не редактировать).

  • 5 (Остальные): r-x (Могут читать и запускать, но не редактировать).

Популярные комбинации

  • chmod 777 - Разрешено всё и всем (опасно для безопасности, используйте с осторожностью).

  • chmod 755 - Стандарт для программ и скриптов (владелец меняет, остальные только запускают).

  • chmod 644 - Стандарт для обычных документов (владелец читает/пишет, остальные только читают).

  • chmod 600 - Секретный файл (только владелец может читать и писать, остальные даже не откроют).

  • chmod +x - Сделать файл исполняемым (добавляет "x" всем).

💡 Важное применительно к папка(директориям)

  1. Папка без x (Execute) - бесполезна!

    • Если у папки есть права rw- (6), но нет x, вы сможете сделать ls (увидеть имена файлов), но не сможете открыть ни один файл внутри, не сможете зайти в нее (cd) и получить доступ к подпапкам.

    • Поэтому для папок почти всегда нужно давать минимум 5 (r-x) или 7 (rwx). Права 6 (rw-) для папок встречаются крайне редко.

  2. Право удалять файлы (w на папку)

    • Чтобы удалить файл, вам не нужны права на запись в сам файл. Вам нужны права на запись (w) в папку, где этот файл лежит.

    • Пример: Вы можете удалить чужой файл, защищенный от записи (r--), если у вас есть полные права (rwx) на папку, в которой он находится.

  3. Комбинация wx (3) для папок

    • Это называется "Drop Box" (почтовый ящик). Вы можете положить туда файл (создать), но не можете посмотреть (ls), что там еще лежит (нет r). Используется редко, например, для папки lost+found.
       

Шпаргалка: wget и curl

26.01.26
43

Два самых популярных инструмента командной строки для скачивания файлов и взаимодействия с сетью - это wget и curl. Они часто выполняют похожие задачи, но имеют разную философию.

  • curl (Client URL) - про гибкость и протоколы.Он поддерживает множество протоколов и идеален для работы с API, отладки и сложных запросов. Выводит данные в консоль (stdout) по умолчанию.

  • wget (World Wide Web Get) - про надёжность и скачивание. Он надежен, отлично справляется с нестабильным соединением и умеет скачивать сайты целиком (рекурсивно). Сохраняет в файл по умолчанию.

Таблица шпаргалки:

Задачаcurlwget
Просто скачать файлcurl -O URLwget URL
Сохранить с другим именемcurl -o file.zip URLwget -O file.zip URL
Докачка (Resume)curl -C - -O URLwget -c URL
Следовать за редиректомcurl -L URL(Автоматически)
Показать заголовки (Headers)curl -I URLwget -S --spider URL
Игнорировать SSL (Insecure)curl -k URLwget --no-check-certificate URL
Авторизация (Basic)curl -u user:pass URLwget --user=user --password=pass URL
Проксиcurl -x proxy:port URLwget -e use_proxy=yes -e http_proxy=...

Примеры

1. Узнать свой внешний IP

Самый простой способ быстро проверить выход в сеть и свой IP-адрес.

curl:

curl icanhazip.com

wget:

wget -qO- ifconfig.me

2. Скачивание файла (Логотип Google)

Попробуем скачать реальный файл - логотип Google.

curl (нужен флаг -O, чтобы сохранить файл):

curl -O https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

wget (просто работает):

wget https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

3. Посмотреть погоду (ASCII-графика)

Один из самых популярных примеров использования curl для консольных утилит. Сервис wttr.in возвращает погоду в красивом текстовом формате.

curl wttr.in/Moscow
# Ниже пример по текущей локации, вычисляеться по ip адресу.
curl wttr.in

4. Тестирование HTTP-запросов (HttpBin)

Для разработчиков. Сайт httpbin.org - это специальный сервис, который просто "эхает" (возвращает) вам то, что вы ему отправили.

Посмотреть заголовки (Headers) сайта: Узнаем, на каком сервере работает сайт, без скачивания содержимого.

curl -I https://httpbin.org/get

Отправить JSON (POST запрос): Отправим тестовые данные и увидим, как сервер их принял. 

curl -X POST "https://httpbin.org/post" -H "Content-Type: application/json" -d "{"username": "dev_user", "status": "active"}"

5. Работа с редиректами (Github)

Github перенаправляет http запросы на https. Посмотрим, как инструменты реагируют на это.

curl (без флага -L ничего не покажет, только сообщит "Moved Permanently"):

# Не сработает как ожидается
curl http://github.com

# Сработает редирект
curl -L http://github.com

wget (умный, перейдет сам):

wget http://github.com

7. Имитация браузера (User-Agent)

Некоторые сайты могут блокировать стандартные запросы от роботов. Нужно притвориться обычным браузером. Для этого можно добавить User-Agent:


Википедия обычно не блокирует, пример учебный.

wget:

wget --user-agent="Mozilla/5.0" https://ru.wikipedia.org/robots.txt

curl:

curl -A "Mozilla/5.0" https://ru.wikipedia.org/robots.txt

Шпаргалка по systemctl: Управление службами в Linux

25.01.26
176

systemd - это система инициализации и управления службами в Linux. Основная утилита для взаимодействия с ней - systemctl. С её помощью мы запускаем веб-серверы, базы данных, ботов и настраиваем их автозагрузку.

Примечание.

systemd - это центральный механизм, который отвечает за запуск Linux после включения компьютера и за управление всеми службами (демонами), работающими в системе.
Когда Linux загружается, именно systemd:
•     запускает сетевые службы
•     поднимает базы данных
•     стартует веб‑серверы
•     следит за зависимостями
•     перезапускает упавшие процессы
•     управляет логами
Чтобы взаимодействовать с systemd, используется команда systemctl - это как "пульт управления" всеми службами.

В командах ниже замените name на имя вашей службы (например, nginx, docker, postgresql или my-bot).

1. Управление состоянием (прямо сейчас)

Базовые команды для включения и выключения.

КомандаОписание
systemctl start nameЗапустить службу.
systemctl stop nameОстановить службу.
systemctl restart nameПерезапустить (Stop + Start). Используется, если служба зависла или нужно применить серьезные изменения.
systemctl reload nameПеречитать конфигурацию без остановки. Идеально для веб-серверов (Nginx/Apache) при правке конфигов.
systemctl status nameПоказать статус. Самая важная команда: показывает, запущена ли служба, последние логи и ошибки.

Примечание.

Не обязательно писать .service в конце имени (например, можно писать sudo systemctl start nginx вместо nginx.service).

2. Автозагрузка (при включении ПК)

Эти команды определяют, будет ли служба стартовать сама после перезагрузки сервера.

КомандаОписание
systemctl enable nameВключить автозагрузку. Создает симлинк в системе.
systemctl disable nameВыключить автозагрузку. Служба не запустится сама после ребута.
systemctl enable --now nameКиллер-фича: Включает автозагрузку И сразу запускает службу. (2 команды в одной).
systemctl is-enabled nameПроверить, включена ли автозагрузка сейчас.

Диагностика и поиск проблем

Если что-то сломалось, эти команды помогут понять, где именно.

  • systemctl --failed Показать список всех служб, которые упали с ошибкой. С этого стоит начинать починку системы.

  • systemctl list-units --type=service Показать вообще все активные службы в системе.

Иерархия каталогов Linux: что где лежит и зачем это нужно

25.01.26
115

В Linux нет дисков C: или D:. Есть только один корень - /. Все остальные диски, флешки и устройства подключаются как папки в эту структуру.

Шпаргалка

ДиректорияОписаниеПримеры содержимого
/binОсновные команды (binaries)ls, cp, cat, bash
/sbinСистемные команды (system binaries)fdisk, reboot, iptables
/bootФайлы загрузчика системыЯдро Linux, GRUB
/etcКонфигурационные файлыНастройки сети, пользователей, служб
/devФайлы устройств (devices)Диски (sda), терминалы (tty), null
/homeДомашние папки пользователейДокументы, загрузки, настройки пользователя
/rootДомашняя папка суперпользователя (root)Личная папка суперпользователя (root)
/libСистемные библиотекиФайлы .so, модули ядра
/optСтороннее ПО (optional)Крупные программы (Chrome, Telegram, Zoom)
/mntВременное монтированиеТочки для ручного подключения дисков
/mediaАвтоматическое монтированиеФлешки, CD-диски (подключаются сами)
/procИнформация о процессах и ядреВиртуальная ФС (инфо о CPU, памяти)
/tmpВременные файлы (temporary)Очищается при перезагрузке
/usrПрограммы и утилиты (resources)Вторичная иерархия: софт, иконки, мануалы
/varИзменяемые данные (variable)Логи (/var/log), кэш, почта, сайты (/var/www)

1. Самое важное для запуска

  • /boot - сердце загрузки. Здесь живет ядро Linux (vmlinuz) и загрузчик GRUB. Если удалить - система не встанет.

  • /bin и /sbin - здесь живут команды.

    • В /bin - общие (типа ls, cat), доступные всем.

    • В /sbin - для админа (типа fdisk, iptables), нужны права root.

  • /lib - библиотеки, без которых программы из папок выше не запустятся (аналог .dll в Windows).

2. Пользователи и настройки

  • /home - ваши личные файлы. Аналог C:\Users.

  • /root - личная комната Администратора. Она отделена от /home, чтобы, если раздел с пользователями забьется или сломается, админ все равно мог войти в систему.

  • /etc - пульт управления. Здесь лежат текстовые файлы с настройками всей системы (сеть, fstab, конфиги программ).

3. Софт и приложения

  • /usr - (Unix System Resources). Самая большая папка. Здесь лежат установленные программы (/usr/bin), их библиотеки (/usr/lib) и документация. По сути, это аналог Program Files.

  • /opt - для "большого" стороннего софта, который ставится одним куском (например, Google Chrome, Telegram, проприетарные базы данных).

4. Данные и временные файлы

  • /var - (Variable). Всё, что постоянно меняется: логи системы (/var/log), кэш, очереди печати, файлы веб-сайта (/var/www).

  • /tmp - временная свалка. Очищается при каждой перезагрузке. Не храните здесь ничего важного!

5. Устройства и Система

  • /dev - в Linux всё есть файл, даже ваше "железо". Жесткий диск - это файл (/dev/sda), терминал - файл.

  • /proc - это иллюзия. Файлов там на самом деле нет, это интерфейс к ядру. Через эту папку можно посмотреть информацию о процессоре (/proc/cpuinfo) или памяти.

FAQ: В чем разница между /mnt и /media?

Частый вопрос новичков.

  • /media - система использует сама. Вставили флешку - она появилась тут автоматически.

  • /mnt - для ручной работы. Админ использует её, чтобы временно подключить диск для восстановления или настройки.

Полезный совет

Если вы забыли, для чего нужна папка, в Linux есть встроенная справка. Просто введите в терминале: man hier (от слова hierarchy) - и получите подробнейшее описание стандарта файловой системы.