💡 Полезные Советы
Часто используемые команды Linux: быстрый справочник
📂 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‑системы
Когда мы нажимаем кнопку питания на компьютере, до появления приглашения ввода логина проходит несколько этапов. Каждый из них решает свою задачу: проверка железа, поиск загрузчика, запуск ядра и подготовка пользовательской среды.

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:
- Ядро монтирует initramfs как временную корневую файловую систему и запускает из неё скрипт /init.
- /init подгружает модули ядра, настраивает RAID, LVM, расшифровывает шифрованные разделы и ищет постоянный корневой раздел.
- После нахождения и монтирования «настоящего» 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 простым языком
В Linux права считаются простой арифметикой. Вы просто складываете числа для нужных действий.
1. Базовые значения
| Число | Действие | Англ. | Описание |
|---|---|---|---|
| 4 | Чтение | Read | Можно открыть и посмотреть файл |
| 2 | Запись | Write | Можно изменять или удалять файл |
| 1 | Выполнение | eXecute | Можно запустить файл (скрипт/программу) |
2. Полная таблица (как на твоем скрине)
Чтобы получить комбинированные права, просто сложите цифры (например: Чтение + Запись = 4 + 2 = 6).
| Число | Символы | Расшифровка (Права) | Формула |
|---|---|---|---|
| 0 | --- | Нет прав | Ничего |
| 1 | --x | Только выполнение | 1 |
| 2 | -w- | Только запись | 2 |
| 3 | -wx | Запись + Выполнение | 2 + 1 |
| 4 | r-- | Только чтение | 4 |
| 5 | r-x | Чтение + Выполнение | 4 + 1 |
| 6 | rw- | Чтение + Запись | 4 + 2 |
| 7 | rwx | Полные права (всё вместе) | 4 + 2 + 1 |
В командах вы обычно видите три цифры подряд, например 755. Они обозначают права для трех категорий пользователей по очереди:
Владелец (Owner) - тот, кто создал файл.
Группа (Group) - коллеги/команда владельца.
Остальные (Others) - все прочие пользователи системы.
Пример:
chmod 755 filename
7 (Владелец):
rwx(Может всё: читать, писать, запускать).5 (Группа):
r-x(Может читать и запускать, но не редактировать).5 (Остальные):
r-x(Могут читать и запускать, но не редактировать).
Популярные комбинации
chmod 777- Разрешено всё и всем (опасно для безопасности, используйте с осторожностью).chmod 755- Стандарт для программ и скриптов (владелец меняет, остальные только запускают).chmod 644- Стандарт для обычных документов (владелец читает/пишет, остальные только читают).chmod 600- Секретный файл (только владелец может читать и писать, остальные даже не откроют).chmod +x- Сделать файл исполняемым (добавляет "x" всем).
💡 Важное применительно к папка(директориям)
Папка без
x(Execute) - бесполезна!Если у папки есть права
rw-(6), но нетx, вы сможете сделатьls(увидеть имена файлов), но не сможете открыть ни один файл внутри, не сможете зайти в нее (cd) и получить доступ к подпапкам.Поэтому для папок почти всегда нужно давать минимум
5(r-x) или7(rwx). Права6(rw-) для папок встречаются крайне редко.
Право удалять файлы (
wна папку)Чтобы удалить файл, вам не нужны права на запись в сам файл. Вам нужны права на запись (
w) в папку, где этот файл лежит.Пример: Вы можете удалить чужой файл, защищенный от записи (
r--), если у вас есть полные права (rwx) на папку, в которой он находится.
Комбинация
wx(3) для папокЭто называется "Drop Box" (почтовый ящик). Вы можете положить туда файл (создать), но не можете посмотреть (
ls), что там еще лежит (нетr). Используется редко, например, для папкиlost+found.
Два самых популярных инструмента командной строки для скачивания файлов и взаимодействия с сетью - это wget и curl. Они часто выполняют похожие задачи, но имеют разную философию.
curl (Client URL) - про гибкость и протоколы.Он поддерживает множество протоколов и идеален для работы с API, отладки и сложных запросов. Выводит данные в консоль (stdout) по умолчанию.
wget (World Wide Web Get) - про надёжность и скачивание. Он надежен, отлично справляется с нестабильным соединением и умеет скачивать сайты целиком (рекурсивно). Сохраняет в файл по умолчанию.
Таблица шпаргалки:
| Задача | curl | wget |
|---|---|---|
| Просто скачать файл | curl -O URL | wget URL |
| Сохранить с другим именем | curl -o file.zip URL | wget -O file.zip URL |
| Докачка (Resume) | curl -C - -O URL | wget -c URL |
| Следовать за редиректом | curl -L URL | (Автоматически) |
| Показать заголовки (Headers) | curl -I URL | wget -S --spider URL |
| Игнорировать SSL (Insecure) | curl -k URL | wget --no-check-certificate URL |
| Авторизация (Basic) | curl -u user:pass URL | wget --user=user --password=pass URL |
| Прокси | curl -x proxy:port URL | wget -e use_proxy=yes -e http_proxy=... |
Примеры
1. Узнать свой внешний IP
Самый простой способ быстро проверить выход в сеть и свой IP-адрес.
curl:
curl icanhazip.comwget:
wget -qO- ifconfig.me2. Скачивание файла (Логотип Google)
Попробуем скачать реальный файл - логотип Google.
curl (нужен флаг -O, чтобы сохранить файл):
curl -O https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.pngwget (просто работает):
wget https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png3. Посмотреть погоду (ASCII-графика)
Один из самых популярных примеров использования curl для консольных утилит. Сервис wttr.in возвращает погоду в красивом текстовом формате.
curl wttr.in/Moscow
# Ниже пример по текущей локации, вычисляеться по ip адресу.
curl wttr.in4. Тестирование 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.comwget (умный, перейдет сам):
wget http://github.com7. Имитация браузера (User-Agent)
Некоторые сайты могут блокировать стандартные запросы от роботов. Нужно притвориться обычным браузером. Для этого можно добавить User-Agent:
Википедия обычно не блокирует, пример учебный.
wget:
wget --user-agent="Mozilla/5.0" https://ru.wikipedia.org/robots.txtcurl:
curl -A "Mozilla/5.0" https://ru.wikipedia.org/robots.txt
Шпаргалка по systemctl: Управление службами в Linux
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: что где лежит и зачем это нужно
В 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) - и получите подробнейшее описание стандарта файловой системы.