Gymterview
junior

Какова структура файловой системы Linux?

Файловая система Linux организована в виде единого дерева каталогов с корнем /. Стандарт FHS (Filesystem Hierarchy Standard) определяет назначение основных каталогов.

Каталог Назначение
/ Корневой каталог — вершина иерархии файловой системы. Все остальные каталоги являются его потомками.
/bin Основные исполняемые файлы, необходимые для загрузки и работы системы (ls, cp, mv, cat, bash). В Ubuntu 24.04 это симлинк на /usr/bin.
/sbin Системные утилиты для администрирования (iptables, fdisk, mkfs). В Ubuntu 24.04 — симлинк на /usr/sbin.
/boot Файлы загрузчика: ядро Linux (vmlinuz), initramfs, конфигурация GRUB.
/dev Файлы устройств. В Linux всё является файлом, включая устройства: /dev/sda (диск), /dev/null (чёрная дыра), /dev/random (генератор случайных чисел).
/etc Конфигурационные файлы системы и приложений: /etc/hosts, /etc/fstab, /etc/ssh/sshd_config.
/home Домашние каталоги пользователей. Каждый пользователь имеет свой каталог /home/username.
/lib Разделяемые библиотеки для программ из /bin и /sbin. В Ubuntu 24.04 — симлинк на /usr/lib.
/media Точки монтирования для съёмных носителей (USB-флешки, CD/DVD).
/mnt Точка монтирования для временно подключаемых файловых систем.
/opt Дополнительное ПО, установленное вручную (не из пакетного менеджера). Например, IDE, коммерческое ПО.
/proc Виртуальная файловая система: информация о процессах и ядре. /proc/cpuinfo, /proc/meminfo, /proc/PID/.
/root Домашний каталог суперпользователя (root).
/run Временные файлы времени выполнения (PID-файлы, сокеты). Очищается при перезагрузке.
/srv Данные для сервисов (веб-сервер, FTP).
/sys Виртуальная файловая система для взаимодействия с ядром и устройствами.
/tmp Временные файлы. Очищается при перезагрузке. Любой пользователь может записывать сюда файлы.
/usr Основная иерархия для пользовательских программ: /usr/bin, /usr/lib, /usr/share, /usr/local.
/var Переменные данные: /var/log — логи, /var/lib — данные приложений, /var/cache — кеши.

Что важно для Java-разработчика

  • /etc — конфигурации приложений и сервисов
  • /var/log — логи приложений
  • /opt — часто сюда устанавливают JDK, Tomcat и другое ПО
  • /tmp — временные файлы (Java java.io.tmpdir по умолчанию указывает сюда)
  • /proc — информация о процессе JVM (потребление памяти, файловые дескрипторы)

На собеседовании: достаточно знать 7-8 ключевых каталогов и их назначение. Частая ошибка — путать /opt и /usr/local. Покажите, что знаете, где искать логи (/var/log), конфиги (/etc) и куда ставят JDK (/opt или /usr/lib/jvm).