Настало время поговорить о том, что лежит в корневом разделе Linux. Напомню, что несколько постов назад мы познакомились с тем, что такое раздел диска, какие они бывают и как их создавать. Прежде чем читать этот материал рекомендую ознакомиться с двумя статьями, которые ему предшествовали.
Ручная разметка диска при установке Linux Mint
Основы разметки диска при установке Linux-дистрибутивов
Переход в корневой раздел
Прежде чем говорить о структуре корневого раздела и тех директориях, что в нем находятся, нужно запомнить один важный момент. При установке дистрибутива Linux на сервере пользователем по-умолчанию является пользователь root (или суперпользователь), про которого ранее выходила статья на канале.
Я есть Рут! Суперпользователь в Linux-дистрибутивах
При подключении к серверу вы попадаете в домашнюю директорию текущего пользователя, т. е. при подключении от root вы попадаете в его домашнюю папку. Она тоже называется root. Чтобы перейти из нее в корневой раздел нужно использовать команду cd и указать точку монтирования (/)
cd /
После вы попадете в системный раздел и сможете просмотреть его содержимое:
ls
Анализ системных папок корневого раздела
Внутри корневого раздела вас будут ожидать системные папки. У каждой из них свое предназначение и каждая содержит определенный набор данных. Имя папки является сокращением от слова, которое описывает ее функционал. Давайте перечислим эти папки и познакомимся для чего они в системе созданы.
/bin (binaries)
содержит бинарные файлы пользователя, которые являются программами для запуска в однопользовательском режиме или режиме восстановления (эти программы нам уже знакомы, так как про некоторые говорил - cat, ls, tail, less и пр.)
Команды для копирования и перемещения каталогов и файлов в Linux
Команды для управления файлами в Linux
Команды для управления каталогами в Linux
Пять часто используемых команд в терминале Linux
/sbin (system binaries)
тоже содержит исполняемые файлы, но для их запуска необходимы права суперпользователя (такие команды, как iptables, reboot, fdisk, ifconfig).
/etc (etcetera)
здесь хранятся конфигурационные файлы системных и устанавливаемых программ, при этом внутри папки etc может быть огромное количество папок, но всегда то, что в них используется для конфигурации и настройки.
/dev (devices)
содержит подключенные устройства, которые согласно концепции Linux, являются файлами (т. е. все подключенные к компьютеру мыши, клавиатуры, USB-флэшки и жесткие диски являются файлами в этой папке)
Запись установочной флэшки на Linux
/proc (proccess)
содержит информацию о запущенных в системе процессах (имя, уникальный номер процесса и пр.)
/var (variables)
содержит файлы, которые постоянно меняются, такие как логи, базы данных, почта и пр.
/tmp (temp)
содержит временные файлы, создаваемые системой или программами, права на доступ к ней имеют все пользователи, при этом содержимое папки удаляется после перезагрузки системы.
/usr (user applications)
здесь хранятся пользовательские программы, причем внутри папки могут быть также папки bin и sbin, которые предназначены ровно для того же, что и папки выше.
Установка программ Linux из исходников
Установка Linux-программ через терминал
/home
папка, в которой содержатся домашние директории пользователя, каждая из которых может быть отдельным разделом диска.
/boot
здесь хранится все, что связано с работой загрузчика (сам загрузчик, конфигурационные файлы для его работы, ядра Linux и пр.)
/lib32 и /lib64 (library)
место хранения системных библиотек, которые имеют в названии общее слово lib-* и расширение .so (например, libncurses.so.5.7)
/opt (optional applications)
сюда устанавливаются проприетарные (не свободные) программы с закрытым исходным кодом, драйвера, игры и пр.
/mnt (mount)
папка используется для монтирования внешних или дополнительных файловых систем или устройств.
/media
содержит внешние подключаемые устройства (флэшки, портативные жесткие диски, внешние CD-приводы и пр.).
/srv (server)
тут могут находится сервера и их конфигурации (например, сервер Apache)
/run
также как и proc содержит процессы, но только запущенные в рамках текущей сессии, которые после перезагрузки будут зачищены.
/sys (system)
содержит информацию о системе, получаемую от ядра Linux.
Переход в папки корневого раздела
Если вы находитесь в корневом разделе (/), то переход к нужной папке осуществляется просто:
cd <имя_папки>
В случае, когда осуществляется переход не из корневого раздела, то нужно помнить, что он обозначается обратным слэшем / и является частью пути до нужной папки:
cd /etc
В первую очередь материал предназначен для тех, кто начинает работать с Linux в качестве специалиста (программист, системный администратор или инженер). Кроме того, думаю, что рядовому пользователю тоже нелишним будет узнать, что находится в его руках и куда эти руки не стоит активно совать.
Если материал оказался полезным, то поддержите его лайком, а канал подпиской. Это мотивирует и дальше выпускать интересный и нужный контент!