⚡ ѕ–ќ…ƒ» Ќќ¬џ… ќЌЋј…Ќ  ”–— ѕќ —≈“≈¬џћ “≈’ЌќЋќ√»яћ —ќ — »ƒ ќ… 50%

до конца скидки осталось

Ќачать обучение 🚀
ћерион Ќетворкс

9 минут чтени€

≈сли вы работаете с Windows, структура файловой системы Linux может показатьс€ особенно чуждой. ƒиск C:\ и буквы диска исчезли, их заменили каталоги / и загадочно звучащие каталоги, большинство из которых имеют трехбуквенные имена.

—тандарт иерархии файловой системы (FHS - Filesystem Hierarchy Standard) определ€ет структуру файловых систем в Linux и других UNIX-подобных операционных системах. ќднако файловые системы Linux также содержат некоторые каталоги, которые еще не определены стандартом.

ќбучайс€ в Merion Academy

ѕройди курс по
сетевым технологи€м

Ќачать
ќбратите внимание, что мы не говорим здесь о файловой системе, котора€ €вл€етс€ техническим шаблоном, используемым дл€ хранени€ данных на диске. —труктура каталогов, которую мы рассмотрим, применима к большинству дистрибутивов Linux независимо от того, какую файловую систему они используют.
ќбъ€снение структуры каталогов Linux

“ипы содержимого

Ёто основные типы контента, хран€щегос€ в файловой системе Linux.

  • ѕосто€нный (Persistent) - это содержимое, которое должно быть посто€нным после перезагрузки, например, параметры конфигурации системы и приложений.
  • ¬рем€ выполнени€ (Runtime) - контент, созданный запущенным процессом, обычно удал€етс€ перезагрузкой
  • ѕеременный/динамический (Variable/Dynamic) - это содержимое может быть добавлено или изменено процессами, запущенными в системе Linux.
  • —татический контент (Static) - остаетс€ неизменным до тех пор, пока не будет €вно отредактирован или перенастроен.

/ -  орневой каталог (root)

¬се в вашей системе Linux находитс€ в каталоге /, известном как root или корневой каталог. ¬ы можете думать о каталоге / как о каталоге C:\ в Windows, но это не совсем так, поскольку в Linux нет букв дисков. ¬ то врем€ как другой раздел будет расположен вD:\ в Windows, этот другой раздел по€витс€ в другой папке в / в Linux. ≈сли вы посмотрите на структуру каталогов, вы поймете, что она похожа на корень дерева.

FHS

ѕоскольку все остальные каталоги или файлы происход€т от корн€, абсолютный путь к любому файлу проходит через корень. Ќапример, если у вас есть файл в /home/user/documents, вы можете догадатьс€, что структура каталогов идет как root -> home -> user -> documents.

root

/bin - ќсновные пользовательские двоичные файлы

 аталог /bin содержит основные пользовательские двоичные файлы (программы), которые должны присутствовать при монтировании системы в однопользовательском режиме.

ѕриложени€, например такие как браузер Firefox, хран€тс€ в /usr/bin, а важные системные программы и утилиты, такие как оболочка bash, наход€тс€ в /bin.  аталог /usr может хранитьс€ в другом разделе - размещение этих файлов в каталоге /bin гарантирует, что в системе будут эти важные утилиты, даже если другие файловые системы не смонтированы.

/bin непосредственно содержит исполн€емые файлы многих основных команд оболочки, таких как ps, ls, ping, grep, cp.

bin

 аталог /sbin аналогичен - он содержит важные двоичные файлы системного администрировани€. /sbin содержит iptables, reboot, fdisk, ifconfig, swapon


/boot - —татические загрузочные файлы

 аталог /boot содержит файлы, необходимые дл€ загрузки системы - например, здесь хран€тс€ файлы загрузчика GRUB и ваши €дра Linux. ќднако файлы конфигурации загрузчика не наход€тс€ здесь - они наход€тс€ в /etc вместе с другими файлами конфигурации.


/cdrom - “очка монтировани€ дл€ компакт-дисков

 аталог /cdromне €вл€етс€ частью стандарта FHS, но вы все равно найдете его в Ubuntu и других операционных системах. Ёто временное место дл€ компакт-дисков, вставленных в систему. ќднако стандартное расположение временных носителей находитс€ в каталоге /media.


/dev - ‘айлы устройства

Linux представл€ет устройства в виде файлов, а каталог /dev содержит р€д специальных файлов, представл€ющих устройства. Ёто не насто€щие файлы в том виде, в каком мы их знаем, но они отображаютс€ как файлы - например, /dev/sda представл€ет собой первый диск SATA в системе. ¬торой диск будет называтьс€ /dev/sdb. ≈сли вы хотите его разбить, вы можете запустить редактор разделов и указать ему отредактировать /dev/sda. ¬ итоге получим что первым разделом этого диска будет /dev/sda1, а вторым - /dev/sda2.

Ётот каталог также содержит псевдоустройства, которые представл€ют собой виртуальные устройства, которые на самом деле не соответствуют оборудованию. Ќапример, /dev/random производит случайные числа. /dev/null - это специальное устройство, которое не производит вывода и автоматически отбрасывает весь ввод - когда вы перенаправл€ете вывод команды на /dev/null, вы отбрасываете его.

dev

/etc - ‘айлы конфигурации

 аталог /etc содержит файлы конфигурации, которые обычно можно редактировать вручную в текстовом редакторе. ќбратите внимание, что каталог /etc/ содержит общесистемные файлы конфигурации (например им€ хоста) - пользовательские файлы конфигурации наход€тс€ в домашнем каталоге каждого пользовател€.


/home - ƒомашние папки

 аталог /home содержит домашнюю папку дл€ каждого пользовател€. Ќапример, если ваше им€ пользовател€ - bob, у вас есть домашн€€ папка, расположенна€ в /home/bob. Ёта домашн€€ папка содержит файлы данных пользовател€ и пользовательские файлы конфигурации.  аждый пользователь имеет право записи только в свою домашнюю папку и должен получить повышенные права (стать пользователем root) дл€ изменени€ других файлов в системе.


/lib - ќсновные общие библиотеки

 аталог /lib содержит библиотеки, необходимые дл€ основных двоичных файлов в папке /bin и /sbin. Ѕиблиотеки, необходимые дл€ двоичных файлов в папке /usr/bin, наход€тс€ в /usr/lib.

»мена файлов библиотеки: ld* или lib*.so.*.

ѕоскольку вы, веро€тно, используете 64-битную операционную систему, то у вас есть пара каталогов: /lib, /lib32 и /lib64. “е библиотеки, которые не содержат кода, специфичного дл€ версии процессора, наход€тс€ в папке /lib. “е, которые завис€т от версии, наход€тс€ в каталогах /lib32 (32-бит) или /lib64 (64-бит), в зависимости от ситуации.


/lost+found - ¬осстановленные файлы

¬ каждой файловой системе Linux есть каталог /lost+found. ¬ случае сбо€ файловой системы проверка файловой системы будет выполнена при следующей загрузке. Ћюбые найденные поврежденные файлы будут помещены в каталог lost+found, чтобы вы могли попытатьс€ восстановить как можно больше данных.


/media - —ъемный носитель

 аталог /media содержит подкаталоги, в которых монтируютс€ съемные носители, вставленные в компьютер. Ќапример, когда вы вставл€ете компакт-диск в свою систему Linux, внутри каталога /media автоматически создаетс€ каталог. ¬ы можете получить доступ к содержимому компакт-диска внутри этого каталога.

Ќапример, /media/cdrom дл€ CD-ROM (если он не расположен в корне), /media/floppy дл€ дисководов гибких дисков, /media/cdrecorder дл€ рекордера компакт-дисков


/mnt - ¬ременные точки монтировани€

»сторически сложилось так, что каталог /mnt - это то место, где системные администраторы монтируют временные файловые системы во врем€ их использовани€. Ќапример, если вы монтируете раздел Windows дл€ выполнени€ некоторых операций по восстановлению файлов, вы можете подключить его в /mnt/windows. ќднако вы можете монтировать другие файловые системы в любом месте системы.


/opt - ƒополнительные пакеты

 аталог /opt содержит подкаталоги дл€ дополнительных пакетов программного обеспечени€. ќн обычно используетс€ проприетарным программным обеспечением, которое не подчин€етс€ стандартной иерархии файловой системы - например, проприетарна€ программа может выгружать свои файлы в /opt/application при ее установке.


/proc - ‘айлы €дра и процессов

 аталог /proc похож на каталог /dev, потому что он не содержит стандартных файлов. ќн содержит специальные файлы, которые представл€ют информацию о системе и процессе.

Ёто псевдофайлова€ система, содержаща€ информацию о запущенном процессе. Ќапример: каталог /proc/{pid} содержит информацию о процессе с этим конкретным pid. “акже тут можно получить текстовую информацию о системных ресурсах. Ќапример узнать аптайм /proc/uptime, проверить информацию о процессоре /proc/cpuinfo или проверить использование пам€ти вашей системой Linux /proc/meminfo.

proc

/root -  орневой домашний каталог

 аталог /root - это домашний каталог пользовател€ root. ¬место того, чтобы находитьс€ в /home/root, он находитс€ в /root. ќн отличаетс€ от /, который €вл€етс€ корневым каталогом системы, важно не путать их.


/run - ‘айлы состо€ни€ приложени€

 аталог /run €вл€етс€ довольно новым и предоставл€ет приложени€м стандартное место дл€ хранени€ необходимых им временных файлов, таких как сокеты и идентификаторы процессов. Ёти файлы нельз€ хранить в /tmp, потому что файлы в /tmp могут быть удалены.


/sbin - ƒвоичные файлы системного администрировани€

 аталог /sbin аналогичен каталогу /bin. ќн содержит важные двоичные файлы, которые обычно предназначены дл€ запуска пользователем root дл€ системного администрировани€.


/selinux - виртуальна€ файлова€ система SELinux

≈сли ваш дистрибутив Linux использует SELinux дл€ обеспечени€ безопасности (например, Fedora и Red Hat), каталог /selinux содержит специальные файлы, используемые SELinux. Ёто похоже на /proc. Ubuntu не использует SELinux, поэтому наличие этой папки в Ubuntu кажетс€ ошибкой.


/srv - —ервисные данные

 аталог /srv содержит Ђданные об услугах, предоставл€емых системойї. ≈сли вы использовали HTTP-сервер Apache дл€ обслуживани€ веб-сайта, вы, веро€тно, сохранили бы файлы своего веб-сайта в каталоге внутри каталога /srv.


/tmp - ¬ременные файлы

ѕриложени€ хран€т временные файлы в каталоге /tmp. Ёти файлы обычно удал€ютс€ при перезапуске вашей системы и могут быть удалены в любое врем€ с помощью таких утилит, как tmpwatch.


/usr - ѕользовательские двоичные файлы и данные только дл€ чтени€

 аталог /usr содержит приложени€ и файлы, используемые пользовател€ми, в отличие от приложений и файлов, используемых системой. Ќапример, второстепенные приложени€ расположены в каталоге /usr/bin вместо каталога /bin, а второстепенные двоичные файлы системного администрировани€ расположены в каталоге /usr/sbin вместо каталога /sbin. Ѕиблиотеки дл€ каждого из них наход€тс€ в каталоге /usr/lib.  аталог /usr также содержит другие каталоги - например, файлы, не завис€щие от архитектуры, такие как графика, наход€тс€ в /usr/share.

 аталог /usr/local - это место, куда по умолчанию устанавливаютс€ локально скомпилированные приложени€ - это не позвол€ет им испортить остальную часть системы.

usr

/var - файлы переменных данных

/var это место, где программы хран€т информацию о времени выполнени€, такую как системный журнал, отслеживание пользователей, кэши и другие файлы, которые системные программы создают и управл€ют.

 аталог /var €вл€етс€ записываемым аналогом каталога /usr, который при нормальной работе должен быть доступен только дл€ чтени€. ‘айлы логов и все остальное, что обычно записываетс€ в /usrво врем€ нормальной работы, записываетс€ в каталог /var. Ќапример, вы найдете файлы логов в /var/log. ѕомимо логов тут можно найти пакеты и файлы базы данных /var/lib, электронные письма /var/mail, очереди печати /var/spool, файлы блокировки /var/lock, временные файлы, необходимые при перезагрузке /var/tmp.


>