Объяснение структуры каталогов Linux
Структура каталогов Linux важна для понимания того, как работает эта мощная операционная система, широко используемая на серверах и персональных компьютерах.
В Linux все начинается с корневого каталога, который обозначается косой чертой. (/), который действует как отправная точка, от которой разветвляются все остальные каталоги.
В этой иерархии мы найдем важные каталоги, такие как /бин, который содержит основные исполняемые файлы системы, и /etc, где хранятся важные файлы конфигурации.
Каталог /дом Это особенно важно для пользователей, поскольку здесь хранятся их личные файлы и настройки.
Еще один ключевой каталог — /вар, который сохраняет файлы переменных, такие как системные журналы и очереди печати.
Понимание того, как организованы эти каталоги, не только упрощает навигацию и управление системой, но также имеет решающее значение для безопасности и эффективности при управлении серверами Linux.
Эта иерархическая и логическая структура не только оптимизирует работу системы, но также обеспечивает простую масштабируемость и настройку — функции, которые делают Linux популярным выбором среди разработчиков и системных администраторов в Аргентине и во всем мире.
Если вы работаете в Windows, структура файловой системы Linux может показаться особенно странной.
Диск C:\ и буквы дисков исчезли, их заменили / и загадочно звучащие каталоги, большинство из которых имеют трехбуквенные имена.
Стандарт иерархии файловой системы (ФХС) определяет структуру файловых систем в Linux и других операционных системах, подобных UNIX. Однако файловые системы Linux также содержат некоторые каталоги, которые еще не определены стандартом.
/ – корневой каталог
Все в вашей системе Linux находится в каталоге /, известном как корневой каталог. Вы можете подумать, что каталог / похож на каталог C:\ в Windows, но это не совсем так, поскольку в Linux нет букв дисков. Хотя другой раздел будет расположен в D:\ в Windows, этот другой раздел появится в другой папке в/в Linux.
/bin — основные пользовательские двоичные файлы
Каталог /bin содержит основные пользовательские двоичные файлы (программы), которые должны присутствовать при монтировании системы в однопользовательском режиме. Такие приложения, как Firefox, если они не установлены как Snaps, хранятся в /usr/bin, а важные системные программы и утилиты, такие как оболочка bash, расположены в /bin. Каталог /usr может храниться в другом разделе. Размещение этих файлов в каталоге /bin гарантирует, что в системе будут установлены эти важные утилиты, даже если другие файловые системы не смонтированы. Каталог /sbin аналогичен: он содержит двоичные файлы, необходимые для системного администрирования.
/boot — статические загрузочные файлы
Каталог /boot содержит файлы, необходимые для загрузки системы. Например, здесь хранятся файлы загрузчика GRUB и их ядра Linux. Однако файлы конфигурации загрузчика здесь не расположены; они находятся в /etc вместе с другими файлами конфигурации.
/cdrom – историческая точка монтирования компакт-диска.
Каталог /cdrom не является частью стандарта FHS, но вы все равно найдете его в Ubuntu и других операционных системах. Это временное место для компакт-дисков, вставленных в систему. Однако стандартное расположение временных носителей находится в каталоге /media.
/dev — файлы устройства
Linux представляет устройства в виде файлов, а каталог /dev содержит ряд специальных файлов, представляющих устройства. Это не настоящие файлы в том виде, в каком мы их знаем, но они выглядят как файлы. Например, /dev/sda представляет первый диск SATA в системе. Если вы хотите разбить его на разделы, вы можете запустить редактор разделов и указать ему редактировать /dev/sda.
Этот каталог также содержит псевдоустройства, которые представляют собой виртуальные устройства, которые на самом деле не соответствуют оборудованию. Например, /dev/random выдает случайные числа. /dev/null — это специальное устройство, которое не выводит никаких данных и автоматически удаляет все записи; когда вы передаете вывод команды в /dev/null, вы отбрасываете его.
/etc — файлы конфигурации
Каталог /etc содержит файлы конфигурации, которые обычно можно редактировать вручную в текстовом редакторе. Обратите внимание, что каталог /etc/ содержит общесистемные файлы конфигурации. Файлы конфигурации, специфичные для пользователя, расположены в домашнем каталоге каждого пользователя.
/home – Домашние папки
Каталог /home содержит домашнюю папку для каждого пользователя. Например, если ваше имя пользователя — bob, у вас есть домашняя папка, расположенная по адресу /home/bob. Эта домашняя папка содержит файлы данных пользователя и файлы конфигурации для конкретного пользователя. Каждый пользователь имеет доступ на запись только к своей домашней папке и должен получить повышенные права (стать пользователем root), чтобы изменять другие файлы в системе.
/lib — основные общие библиотеки.
Каталог /lib содержит библиотеки, которым необходимы основные двоичные файлы в папках /bin и /sbin. Библиотеки, которым нужны двоичные файлы в папке /usr/bin, расположены в /usr/lib. Вы также увидите аналогичную папку /lib64 в 64-битных системах.
/lost+found – восстановленные файлы.
В каждой файловой системе Linux есть каталог «потеряно+найдено». В случае сбоя файловой системы проверка файловой системы будет выполнена при следующей загрузке. Все найденные поврежденные файлы будут помещены в каталог loss+found, поэтому вы сможете попытаться восстановить как можно больше данных.
Каталог /media содержит подкаталоги, в которых монтируются съемные носители, вставленные в компьютер. Например, когда вы вставляете компакт-диск в вашу систему Linux, в каталоге /media автоматически создается каталог. Вы можете получить доступ к содержимому компакт-диска в этом каталоге.
/mnt — временные точки монтирования
Исторически сложилось так, что каталог /mnt — это место, куда системные администраторы монтировали временные файловые системы во время их использования. Например, если вы монтируете раздел Windows для выполнения некоторых операций по восстановлению файлов, вы можете смонтировать его в /mnt/windows. Однако вы можете смонтировать другие файловые системы в любом месте системы.
/opt – Дополнительные пакеты
Каталог /opt содержит подкаталоги для дополнительных пакетов программного обеспечения. Обычно он используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловой системы. Например, несвободная программа может сбрасывать свои файлы в /opt/application при ее установке.
/proc — файлы процесса и ядра
Каталог /proc аналогичен каталогу /dev тем, что он не содержит стандартных файлов. Содержит специальные файлы, содержащие информацию о системе и процессах.
/root – корневой домашний каталог
Каталог /root — это домашний каталог пользователя root. Вместо того, чтобы находиться в /home/root, он находится в /root. Это отличается от /, который является корневым каталогом системы.
/run — файлы состояния приложения.
Каталог /run предоставляет приложениям стандартное место для хранения необходимых им временных файлов, таких как сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp, поскольку они могут быть удалены.
/sbin — двоичные файлы системного администрирования.
Каталог /sbin аналогичен каталогу /bin. Он содержит важные двоичные файлы, которые обычно предназначены для запуска пользователем root для системного администрирования.
/snap — хранилище для Snap-пакетов.
Другой каталог, который не является частью FHS, но часто встречается в наши дни, — это /snap. Содержит установленные пакеты Snap и другие файлы, связанные с Snap. Ubuntu теперь использует Snaps по умолчанию, но если вы используете другой дистрибутив, в котором нет, вы не увидите этот каталог.
/srv – Сервисные данные
Каталог /srv содержит «данные системных служб». Если бы вы использовали HTTP-сервер Apache для обслуживания веб-сайта, вы, вероятно, хранили бы файлы вашего веб-сайта в каталоге внутри каталога /srv.
/tmp — временные файлы
Приложения хранят временные файлы в каталоге /tmp. Эти файлы обычно удаляются при каждой перезагрузке системы, и их можно удалить в любое время с помощью таких утилит, как systemd-tmpfiles.
/usr — пользовательские двоичные файлы и данные только для чтения.
Каталог /usr содержит приложения и файлы, используемые пользователями, а не приложения и файлы, используемые системой. Например, второстепенные приложения располагаются в каталоге /usr/bin, а не в каталоге /bin, а второстепенные двоичные файлы системного администрирования располагаются в каталоге /usr/sbin, а не в каталоге /sbin. Библиотеки для каждого из них расположены в каталоге /usr/lib. Каталог /usr также содержит другие каталоги. Например, независимые от архитектуры файлы, такие как графика, расположены в /usr/share.
Каталог /usr/local — это место, куда по умолчанию устанавливаются локально скомпилированные приложения. Это не позволяет им испортить остальную часть системы.
/var – файлы переменных данных
Каталог /var является доступным для записи аналогом каталога /usr, который при нормальной работе должен быть доступен только для чтения. Файлы журналов и все остальное, что обычно записывается в /usr во время нормальной работы, записывается в каталог /var. Например, вы найдете файлы журналов в /var/log.
Более подробную техническую информацию об иерархии файловой системы Linux см. Стандартная документация по иерархии файловой системы.