Существует множество дистрибутивов Linux, но структура папок и расположение в ней файлов одинаковое. За него отвечает стандарт унифицирующий местоположение файлов и каталогов с общим назначением в файловой системе UNIX (FHS — Filesystem Hierarchy Standard). Можно только представить, если бы не было такого стандарта, коллапс был бы полный.
Файловая система Unix подобных систем значительно отличается от привычной операционной системы Windows, можно сразу заметить тут нету дисков. Как гласит одна из философий Linux «все — файл». И оно на самом деле так, сами файлы являются файлами, директории также являются файлами, физические устройства тоже файлы, сетевые соединения опять таки файлы.
На примере можно рассмотреть привычный в ОС Windows диск С, в Linux он будет «/dev/sda» — «dev» — это директория в которой расположены файлы обозначающие устройства, а «sda» имя диска оно может различаться в зависимости от типа накопителя. Данное имя не совсем диск С, а это всего лишь обозначение устройства. Для полноценной работы с диском его необходимо смонтировать, суть в том, что в файловой системе создается новая директория, а в нее монтируется диск.
На рисунке наглядно видно устройство «dev/sda1» смонтировано в папка «/media/alex/01D7B5F6438D6080».
В сути монтирования дисков ничего сложного нет, самое главное понять смыл, а за счет такого механизма работы можно гибко настроить файловую систему.
В корне файловой системы находятся все директории, для просмотра можно использовать команду «ls» c ключем «-l» это если используя терминал
или в графической оболочке открыть «файловая система».
Структуру директорий видно на рисунках выше, рассмотрим, для чего они нужны и что в них храниться.
- /bin — содержит основные программы, которые должны быть в системе для ее работоспособности и загрузки, фактически это ссылка на директорию расположенную «/usr/bin»;
- /boot — содержит ядро системы, и файлы менеджеров загрузки (grub, lilo);
- /cd-rom — точка монтирования для CD-дисков. Директория не является частью стандарта FHS, появилась в Ubuntu и вышедших из него дистрибутивов;
- /dev — содержит файлы устройств для всех физических на данной машине (cd-rom, cpu, hdd и т. п.);
- /etc — содержит основные конфигурационные файлы операционной системы и различных программ. Содержимое директории может меняться в зависимости от установленных программ;
- /home — домашние каталоги пользователей. По идеологии Linux для обеспечения безопасности операционной системы рекомендуется хранить пользовательские данные именно тут. Каждый пользователь, если их несколько в системе имеет доступ на запись только в своем домашнем каталоге;
- /lib — ссылка на директорию «usr/lib», в ней хранятся системные библиотеки, необходимые для работы программ из директорий «/bin» и «/sbin» и компоненты компилятора языка С. Аналогичное содержание директорий «/lib32», «/lib64» в зависимости от разрядности системы;
- /lost+found — восстановленные файлы. При сбое в работе файловой системы, все найденные поврежденные файлы будут помещены сюда, чтобы их в дальнейшем можно было восстановить;
- /media — директория для автоматического монтирования различных устройств USB — носителей, CD-ROM и т. п. Например в Linux Mint при установке USB носителя в компьютер, она автоматически смонтируется в данную директорию;
- /mnt — директория для ручного монтирования устройств;
- /opt — предназначена для вспомогательных пакетов программ, а также стороннего программного обеспечения;
- /proc — служит для файлов ядра и процессов. В нее примонтирована виртуальная файловая система procfs. Также находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах;
- /root — домашняя директория пользователя root (супер пользователя). Она ничем не отличается от домашней директории пользователя. Расположена в корне файловой системы с целью надежности, в случае недоступности директории «/home», в системе всегда есть возможность залогиниться под учетной записью суперпользователя, для решения проблем;
- /sbin — ссылка на директорию «usr/sbin», в ней расположены основные программы для администрирования и настройки системы;
- /srv — содержит файлы, имеющие отношение к сервисам, чаще всего она пустая;
- /sys — содержит информацию об устройствах, драйверах, а также некоторых свойствах ядра. В современных дистрибутивах Linux включают директорию «/sys» в качестве виртуальной файловой системы, которая хранит и позволяет модифицировать устройства, подключенные к системе;
- /tmp — системная директория для временного хранения промежуточных файлов, все пользователи имеют права чтения и записи к ней. Можно сравнить с аналогом папки Temp в операционной системе Windows;
- /usr — содержит исполняемые файлы, документацию, исходный код, библиотеки для программ второго уровня, т. е. программ пользователя, а не самой системы. Все пользователи имеют доступ только для чтения, за исключением суперпользователя. Может быть смонтирована по сети и может быть общей для нескольких машин;
- /var — директория для часто меняющихся файлов. Здесь находятся журналы операционной системы, log-файлы, cache-файлы.