FHS — ієрархія файлової системи Linux

FHS — ієрархія файлової системи Linux

Изображение записи по умолчанию
0

FHS — иерархия файловой системы Linux

FHS (Filesystem Hierarchy Standard) — стандарт, определяющий структуру каталогов в Linux. Знание этой структуры помогает быстро находить нужные файлы на любой системе.

Корневой каталог /

Всё в Linux начинается с корневого каталога /. В отличие от Windows, нет букв дисков — все разделы монтируются в единое дерево.

Основные каталоги

/bin — бинарные файлы (базовые команды)

Базовые команды, доступные всем пользователям: ls, cp, mv, cat, grep, bash.

ls /bin/
# bash, cat, cp, grep, ls, mv, ps, rm...

/sbin — системные бинарники

Команды для администрирования, обычно требуют root: fdisk, mount, ip, iptables.

ls /sbin/
# fdisk, ip, iptables, mount, reboot...

ℹ️ В современных дистрибутивах /bin и /sbin часто являются симлинками на /usr/bin и /usr/sbin.

/etc — конфигурационные файлы

Текстовые файлы настроек для всей системы.

  • /etc/passwd — пользователи
  • /etc/shadow — хеши паролей
  • /etc/group — группы
  • /etc/fstab — монтирование дисков
  • /etc/hostname — имя хоста
  • /etc/hosts — статические DNS-записи
  • /etc/resolv.conf — DNS-серверы
  • /etc/sudoers — настройки sudo
  • /etc/ssh/sshd_config — настройки SSH-сервера
  • /etc/crontab — системный cron

/var — переменные данные

Файлы, которые изменяются во время работы системы.

  • /var/log/ — логи системы и приложений
  • /var/spool/ — очереди (печать, почта, cron)
  • /var/cache/ — кэш приложений
  • /var/tmp/ — временные файлы (между перезагрузками)
  • /var/lib/ — состояние приложений и баз данных
  • /var/www/ — файлы веб-сервера

/home — домашние каталоги пользователей

Личные файлы каждого пользователя. Структура: /home/username/

/home/alice/
/home/bob/

Для root домашний каталог — /root/ (не /home/root).

/tmp — временные файлы

Доступен всем на запись (sticky bit). Очищается при перезагрузке.

/usr — пользовательские программы и данные

Вторая иерархия — программы, установленные системой.

  • /usr/bin/ — большинство пользовательских программ
  • /usr/sbin/ — системные программы
  • /usr/lib/ — библиотеки
  • /usr/local/ — программы, установленные вручную
  • /usr/share/ — общие данные (документация, иконки)

/proc — виртуальная файловая система процессов

Информация о процессах и ядре в реальном времени (не реальные файлы на диске).

cat /proc/cpuinfo     # информация о процессоре
cat /proc/meminfo     # информация о памяти
cat /proc/version     # версия ядра
ls /proc/             # PID каждого процесса как каталог

/sys — виртуальная файловая система устройств

Интерфейс к устройствам и подсистемам ядра (sysfs).

ls /sys/class/net/    # сетевые интерфейсы
ls /sys/block/        # блочные устройства

/dev — файлы устройств

Всё в Linux — файл, включая устройства.

  • /dev/sda — первый диск
  • /dev/sda1 — первый раздел первого диска
  • /dev/null — чёрная дыра (отбросить вывод)
  • /dev/zero — бесконечные нули
  • /dev/random, /dev/urandom — случайные числа
  • /dev/tty — терминал

/opt — дополнительные пакеты

Стороннее ПО, устанавливаемое отдельно от системы (например, /opt/google/chrome).

Сводная таблица

/        — корень всего
/bin     — базовые команды
/sbin    — системные команды
/etc     — конфигурация
/var     — переменные данные (логи, кэш)
/home    — домашние каталоги пользователей
/root    — домашний каталог root
/tmp     — временные файлы
/usr     — программы и библиотеки
/proc    — информация о процессах
/sys     — информация о устройствах
/dev     — файлы устройств
/opt     — стороннее ПО

Практическое задание

  1. Просмотрите корень: ls /
  2. Изучите /etc: ls /etc/ | head -30
  3. Проверьте логи: ls /var/log/
  4. Посмотрите информацию о CPU: cat /proc/cpuinfo
  5. Найдите ваши диски: ls /dev/sd*
  6. Проверьте, является ли /bin симлинком: ls -ld /bin

Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Related Post