В сегодняшнем посте я хотел продолжить некогда начатаю линию статей об операционных системах семейства Linux. Семейство данных операционных систем достаточно востребовано в среде it-сообщества и не только, и все больше и больше людей начинают знакомится с этими замечательными операционными системами.
Данную статью я хочу посвятить структуре файловой системы Linux, ведь независимо от того работаете ли вы с серверной ОС без GUI (graphical user interface) или настольным вариантом одного из представителей семейства — структура файловой системы «под капотом» останется той же.
Эта статья будет полезна пользователям недавно начавшим свое знакомство с ОС Linux, так как структура файловой системы сильно отличается от устройства ОС семейства Windows. Как всегда постараюсь — кратко и по делу!
/ кореневой каталог
Представляет собой одновременно и корневой каталог, и всю файловую систему на конкретном компьютере. Нужно понимать, что в Linux отсутствуют имена дисков как в ОС Windows. Дерево всех файлов и каталогов на всех носителях начинается именно с корня. И уже от него идут другие директории, в том числе и ссылающиеся на другие физические диски.
Изменять содержимое корневого каталога имеет право лишь суперпользователь (администратор root). У этого суперпользователя также имеется свой домашний каталог: /root.
/bin
Данный каталог содержит пользовательские бинарные (запускаемые) файлы. Фактически это программы, готовые для запуска пользователем до подключения директории /usr.
/sbin
В этом каталоге хранятся системные исполняемые файлы, запускаемые в процессе загрузки системы. В этот же каталог сохраняются программы, требующие прав суперпользователя (root).
/etc
Этот каталог предназначен для конфигурационных файлов всех установленных в системе программ. Здесь же находятся различные скрипты автозагрузки. Если пользователю необходимо глобально внести изменения в конфигурацию, он вводит пароль суперпользователя и изменяет файлы в этом каталоге.
/dev
Данный каталог содержит файлы устройств. Важно помнить, что в Linux-системах любое аппаратное устройство (включая периферийное) представлено в виде файла. Поэтому подключенные к компьютеру и обнаруженные системой клавиатуру, мышь, флеш-накопители, жесткие диски следует искать в данной директории. Обращаться к ним нужно как к файлам.
/proc
Все происходящие в реальном времени процессы также в виде файлов отображаются в этом каталоге. За динамическое создание этой подсистемы отвечает ядро Linux. Например, здесь можно получить информацию об использовании системных ресурсов.
/var
В данный каталог помещаются часто изменяемые файлы — различные базы данных, кэш программ, системные журналы и т. п. Данный каталог содержит не менее важные подкаталоги:
/var/backup (файлы резервных копий);
/var/log (файлы журналов — т.н. логи);
/var/lib (библиотеки);
/var/lock (файлы блокировки);
/var/mail (почтовые сообщения);
/var/spool (файлы печати);
/var/run (номера процессов);
/var/www (файлы вебсервера).
/tmp
В данном каталоге находятся временные файлы, созданные как пользователями, так и самой операционной системой. Соответственно, у пользователей есть право изменять содержимое этого каталога. Поскольку файлы временные, при каждой перезагрузке или каждом выключении компьютера они удаляются.
/usr
Это главный каталог всех пользовательских системных ресурсов, как правило, имеющий наибольший размер в системе. Содержит следующие подкаталоги:
- /usr/bin/ (исполняемые файлы пользовательских программ, не участвующих в загрузке системы);
- /usr/sbin/ (исполняемые файлы системных программ, требующих прав суперпользователя для выполнения);
- /usr/lib/ (библиотечные файлы для программ из обоих вышеназванных каталогов);
- /usr/local (пользовательские исполняемые файлы программ, а также необходимые для работы библиотеки и конфигурационные файлы).
/home
Это домашний каталог пользователя, где в соответствующем пользовательском подкаталоге хранятся все личные данные, локальные файлы настроек и т. д. В Windows есть аналогия в виде личной папки для различных документов. В Linux же при монтировании этой директории на отдельный раздел все содержимое останется в целости и сохранности, если понадобится переустанавливать всю систему.
/boot
Данный каталог содержит файлы загрузчика системы, образы ядра и временной файловой системы, а также соответствующие конфигурационные файлы.
/lib
Данный каталог служит для хранения системных библиотек.
/opt
В этот каталог устанавливаются различные сторонние программы, в том числе несвободные (проприетарные). Это платный софт, игры, драйвера и пр.
/mnt
Данный каталог предназначен для монтирования носителей или дополнительных файловых систем. Они отображаются в виде подкаталогов.
/media
В этот каталог монтируются устройства, но только внешние — внешние жесткие диски, флешки и оптические приводы.
/srv
Это серверный каталог, содержащий в себе файлы, необходимые для работы сервисов и серверов (например, прокси и веб-сервера nginx).
/run
В данной директории хранятся временные PID-файлы процессов. В отличие от /var/run в этом каталоге создается специальная файловая система TmpFS, поэтому каталог очищается при каждой перезагрузке.
/sys
Данный каталог содержит базовую информацию о системе, предоставляемой ядром. Для этого формируются соответствующие подкаталоги. По-факту, это отдельная файловая система, создаваемая ядром, которая дает возможность управлять множеством системных параметров (например, разделом подкачки swap).
Надеюсь, что мне удалось кратко и понятно помочь вам разобраться с основными рабочими каталогами или как их еще называют — директориями ОС семейства Linux.
Очень надеюсь, что вам было познавательно. В скором времени выйдет еще несколько статей из этой рубрики. А на сегодня это всё, подписывайтесь на обновления и до новых встреч!