Переход с Windows на Linux часто сопровождается вопросом: «Где здесь диск C:?» В Linux всё устроено иначе — здесь нет привычных букв дисков, а вместо них используется единая древовидная структура каталогов.
В этой статье мы разберёмся, как организованы файлы и директории в Linux, какие изменения произошли в современных дистрибутивах, и как эффективно работать с файловой системой.
Всё-файл? Типы объектов в файловой системе
Фундаментальная философия Linux: «Всё — это файл» ( или процесс). Это означает, что взаимодействие с устройствами, процессами, сетью часто происходит через интерфейс файлов. В выводе команд ls -l первый символ указывает тип объекта:
-: Обычный файл (текст, изображение, исполняемый бинарник, архив).d: Каталог( директория ) — файл-список содержащихся в нем файлов и других каталоговl: Символическая ссылка (Symbolic Link) — «ярлык», указывающий на путь к другому файлу или каталогу.c: Символьное устройство (Character Device) — устройство с последовательным потоковым доступом (клавиатура, терминал/dev/tty, принтер). Данные читаются/пишутся посимвольноb: Блочное устройство (BLock Device) — устройство с блочным доступом ( жесткие диски/dev/sda, SSD, разделы/dev/sda1). Данные читаются/пишутся блоками.s: Сокет (Socket) — специальный файл для сетевого и межпроцессорного взаимодействия (IPC). Аналог сетевых сокетов TCP/IP, но работающий в пределах одной машины (например,/run/systemd/private).p: Именованный канал (Named Pipe или FIFO) — механизм однонаправленного или двунаправленного межпроцессорного взаимодействия (IPC). Данные передаются «первым пришел — первым ушел» (FIFO)
Особые каталоги . (текущий каталог) и .. (родительский каталог ) — это жесткие ссылки (hard links), встроенные в каждую директорию.
Корневая директория (/)

/) — основа всей файловой системы Linux.В отличие от Windows, где каждый диск имеет свою букву (C:, D: и т. д.), в Linux всё начинается с корня — /. Это точка входа в файловую систему, от которой отходят все остальные каталоги.
Примеры абсолютных путей:
/home/user— домашняя папка пользователя./etc/ssh/sshd_config— конфигурационный файл SSH-сервера.
⚠️ Важно: В Linux все пути начинаются с
/, даже если устройство (например, флешка) подключено позже. Корень/— это точка монтирования для корневой файловой системы. Все остальные файловые системы ( дополнительные диски, разделы, съемные носители, виртуальные файловые системы) монтируются ( присоединяются ) в подкаталоги этого дерева, создавая единое пространство имен.
Основные системные каталоги
/bin и /usr/bin — исполняемые файлы

/bin хранятся основные команды, такие как ls, cp, mv./bin— содержит основные исполняемые файлы, необходимые для работы системы (например,bash,ls,grep)./usr/bin— программы, установленные пользователем или через пакетный менеджер.
Современные изменения: В некоторых дистрибутивах /bin и /usr/bin объединены в символическую ссылку для упрощения структуры.
/etc — конфигурационные файлы

/etc хранятся настройки системы и установленных программ.Здесь находятся:
- Системные конфиги (
/etc/fstab,/etc/hosts). - Настройки сервисов (
/etc/nginx/,/etc/docker/).
💡Совет: Перед редактированием файлов в
/etcделайте резервные копии!
/dev — устройства системы

/dev находятся виртуальные файлы, представляющие устройства.Linux рассматривает всё оборудование как файлы:
/dev/sda— жёсткий диск./dev/null— «чёрная дыра» для данных./dev/tty— терминальные устройства.
Современные системы используют udev для динамического создания и управления файлами устройств в /dev в ответ на подключение/отключение оборудования.
/proc — виртуальная файловая система процессов
/proc — это не настоящие файлы на диске, а виртуальное представление состояния ядра и процессов в реальном времени.
Каждая запущенная программа ( процесс ) имеет свою поддерикторию /proc/<PID> ( где PID — идентификатор процесса ), содержащую информацию о ее памяти, открытых файлах, окружении и т.д.
Файла в /proc/sys позволяют читать и часто изменять параметры ядра ( sysctl) на лету ( например, настройки сети /proc/sys/net/ipv4).
⚠️Предупреждение: Неосторожное изменение файлов в
/proc/sysможет нарушить работу системы! Всегда проверяйте назначение параметра перед изменением.
/sys — виртуальная файловая система устройств и драйверов.
/sys ( интерфейс sysfs) — еще одна виртуальная ФС, предоставляющая единый структурированный доступ к информации об оборудовании, его конфигурации, драйверах и атрибутах устройств из пространства пользователя.
Тесно интегрирована с udev. Позволяет детально настраивать и получать информацию о железе ( уровни яркости, параметры питания, состояние устройств ).
/home — домашние каталоги пользователей

/home./home/user— хранит личные файлы, настройки (.config), загрузки.- Исключение —
root, его домашняя папка/root.
Скрытые файлы и каталоги в /home/user ( начинающиеся с точки, например .config, .bashrc) содержат пользовательские настройки приложений и оболочки.
💡Совет: Регулярно делайте бэкап
/home— это спасёт ваши данные при сбоях.
/tmp и /var/tmp — временные файлы

/tmp автоматически удаляются после перезагрузки./tmp— очищается при перезагрузке./var/tmp— хранит временные данные дольше.
В современных дистрибутивах /tmp часто монтируется в оперативную память (tmpfs), что обеспечивает очень высокую скорость доступа и гарантирует автоматическую очистку не только при перезагрузке, но и при выключении.
/var/tmp обычно размещается на диске и предназначен для временных файлов, которые должны сохраняться между перезагрузками ( например, кэш больших установок ).
Современные практики: Некоторые сервисы используют /run для временных файлов во время работы.
Каталоги для программ и библиотек
/usr — вторичная иерархия

/usr содержит большинство установленных программ.- /usr/bin — дополнительные программы.
- /usr/share — общие данные (иконки, шрифты, документация).
- /usr/lib — библиотеки.
Современная тенденция ( особенно с распространением systemd): /bin, /sbin, /lib и /lib64 являются символическими ссылками на соответствующие каталоги внутри /usr ( /usr/bin, /usr/sbin, /usr/lib). Это реализация концепции merged /usr или usmerge, упрощающая структуру и управление пакетами.
⚠️Важно: В современных системах
/usrможет быть отдельным разделом.
/opt — стороннее ПО

/opt используется для проприетарного ПО в изолированных папках.Примеры:
/opt/google/chrome— браузер Chrome./opt/jetbrains— IDE от JetBrains.
Программы в /opt обычно содержат все свои зависимости внутри своей поддиректории (/opt/programname/bin, /opt/programname/lib), что делает их максимально изолированными от системы.
💡Плюсы: Удобно удалять — просто стираете папку.
/usr/local — локальные программы

/usr/local предназначен для софта, установленного вручную.Используется для:
- Скриптов (
/usr/local/bin). - Локальных сервисов.
Программы, установленные из исходных кодов с помощью make install ( без использования пакетного менеджера дистрибутива), по умолчанию попадают сюда ( /usr/local/bin, /usr/local/lib, /usr/local/etc). Это позволяет избежать конфликтов с файлами, управляемыми пакетным менеджером в /usr.
Монтирование устройств (/media, /mnt, /run/media)

/media автоматически появляются подключённые устройства./media— для съёмных носителей (флешки, диски)./mnt— для временного монтирования вручную.
Современные графические окружения рабочего стола ( GNOME, KDE Plasma, XFCE и др.) автоматически монтируют съемные носители ( флешки, внешние HDD/SDD, карты памяти, телефоны) в подкаталоги /run/media/username (распространено в Fedora/RHEL/openSUSE) или /media/username (распространено в Ubuntu/Debian). Каталог /run сам по себе является tmpfs (монтируется в ОЗУ). Каталог /mnt традиционно используется для ручного (администратором) временного или постоянного монтирования файловых систем (например, сетевой шары NFS или дополнительного раздела диска).
Заключение.
Понимание структуры каталогов Linux — ключ к эффективной работе. В отличие от Windows, здесь всё логично организовано:
- Системные файлы —
/etc,/bin,/lib. - Пользовательские данные —
/home. - Временные файлы —
/tmp. - Программы —
/usr,/opt.
Советы для новичков:
- Не редактируйте системные файлы без необходимости.
- Храните данные в
/home. - Используйте
/optдля тестового ПО.
Было ли это полезно?
8 / 0