- Структура файловой системы Linux
- Структура каталогов
- Подключение внешних носителей
- Понятие файла
- Принцип установки программ
- Регистр имен
- Linux директории или каталоги
- Общая структура файловой системы ОС Linux
- / — корневой каталог
- /bin — основные бинарные файлы (программы)
- /boot — файлы для загрузки ОС
- /cdrom – точка монтирования для CD-дисков
- /dev — файлы устройств
- /etc — конфигурационные файлы
- /home — домашние каталоги пользователей
- /lib — основные библиотеки
- /lib64 — 64-битные основные библиотеки
- /lost+found — восстановленные файлы
- /media — точка для автоматического монтирования
- /mnt — точка для ручного монтирования
- /opt — вспомогательные пакеты программ
- /proc – файлы ядра и процессов
- /root — Домашний каталог пользователя root
- /run – файлы состояния приложений
- /sbin — бинарные файлы (программы) для администрирования системы
- /selinux – виртуальная файловая система SELinux
- /srv – данные сервисных служб
- /sys — виртуальная файловая система sysfs
- /tmp — временные файлы
- /usr — пользовательские бинарные файлы, используемые только для чтения
- /var — каталог для часто меняющихся данных
Структура файловой системы Linux
Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий.
Структура каталогов
В ОС Windows жесткие диски называются латинскими буквами (С:, D:, . ), и каждый из дисков представляет собой корневой каталог с собственным деревом папок. Подключение же нового устройства приведет к появлению нового корневого каталога со своей буквой (например, F:). В ОС Linux файловая система представлена единым корневым каталогом, обозначаемым как слэш (/). Соответственно, при данной файловой структуре не диски содержат каталоги, а каталог — диски.
Подключение внешних носителей
В ОС Linux имеется процедура монтирования: когда подключается съемный носитель или диск, файл устройства будет виден в каталоге /dev (devices). Чтобы увидеть содержимое этого устройства, его нужно смонтировать в отдельную директорию /mnt. Также файловая система позволяет примонтировать его и в любое другое место, например /home.
Понятие файла
Понятие «файл» в Linux имеет несколько другое значение, нежели в Windows. «Файлом» можно назвать обычный файл, содержащий данные, и интерпретируемый программой. Директория также является «файлом», содержащим в себе ссылки на другие директории или файлы с данными. Файлы устройства указывает на драйвер, благодаря которому система взаимодействует с физическими устройствами. Имеются и многие другие типы файлов.
Принцип установки программ
Если в Windows программы, зачастую, хранят все данные в одной папке, например в «C:Program FilesProgramName», то в Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var.
Регистр имен
Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.
Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:
Стандарт иерархии файловой системы
- / — root каталог. Содержит в себе всю иерархию системы;
- /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
- /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
- /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
- /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
- /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
- /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
- /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
- /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
- /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
- /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
- /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
- /root — директория, которая содержит файлы и личные настройки суперпользователя;
- /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
- /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
- /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
- /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
- /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
- /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
- /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Источник
Linux директории или каталоги
Файловая система Linux представляет собой четкую структуру каталогов и файлов. В этой статье рассмотрим краткое назначение каждого из каталогов.
Файловые системы Linux содержат множество каталогов, большинство из которых определяются стандартом FHS(Filesystem Hierarchy Standard).
Назваие статьи состоит из терминов «каталог», «директория» и «папка». Рассмотрим их.
Каталог или директория (англ. directory — директория) — объект в файловой системе, упрощающий организацию файлов.
Папка (англ. folder) — этот термин используется для представления каталогов в графическом пользовательском интерфейсе.
Следовательно, все эти термины обозначают одно и тоже. Для удобства будем использовать в данной статье термин каталог, т.к. я считаю его наиболее подходящим (лично мое мнение).
Общая структура файловой системы ОС Linux
В зависимости от используемого дистрибутива Linux, некоторых из представленных каталогов может и не быть, или наоборот, могут присуствовать другие непредставленные тут каталоги. Я попытался собрать и дать описание лишь наиболее часто встречающихся каталогов в ОС Linux.
/ — корневой каталог
Главный каталог, в нем хранится все, что есть на вашей ОС Linux. Все разделы Linux хранятся в виде другого подкаталога в корневом каталоге /.
/bin — основные бинарные файлы (программы)
Содержит основные двоичные (бинарные) системные программы (модули), утилиты (ls, cp и т.п.) и командные оболочки (bash и т.п.), которые должны обеспечить минимальный уровень работоспособности системы в однопользовательском режиме. Размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.
/boot — файлы для загрузки ОС
Хранятся образы ядер Linux и файлы менеджеров загрузки (grub, lilo и т.д.).
/cdrom – точка монтирования для CD-дисков
Данный каталог не является частью стандарта FHS, содержится в Ubuntu и вышедших из него дистрибутивах. Используется как место для монтируования CD-ROM дисков.
/dev — файлы устройств
В Linux все устройства предоставлены в виде специфических файлов, расположеных в этом каталоге. Например, файл /dev/sda представляет диск SATA. Также в этом каталоге хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.
/etc — конфигурационные файлы
Содержит основные конфигурационные файлы операционной системы и различных программ.
/home — домашние каталоги пользователей
Содержит домашние каталоги пользователей. По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя mara, то у вас есть домашний каталог, который находится в /home/mara и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге.
/lib — основные библиотеки
Эта директория предназначена для хранения системных библиотек и компонентов компилятора языка С, необходимых для работы программ из директорий /bin и /sbin и операционной системы в целом.
/lib64 — 64-битные основные библиотеки
Этот каталог присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.
/lost+found — восстановленные файлы
Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в каталоге lost+found, их можно попытаться восстановить.
/media — точка для автоматического монтирования
Используемая для автоматического монтирования различных устройств CD-ROM, USB-накопителей и т.д.
/mnt — точка для ручного монтирования
Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.
/opt — вспомогательные пакеты программ
Находятся подкаталоги для дополнительных пакетов программного обеспечения. Каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем.
/proc – файлы ядра и процессов
В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.
/root — Домашний каталог пользователя root
Домашний каталог пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root для большей надёжности системы.
/run – файлы состояния приложений
Является достаточно новым каталогом, в котором приложениям предоставляется возможность стандартным образом хранить вспомогательные файлы, которые им требуются, например, сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp, поскольку эти файлы могут быть там удалены.
/sbin — бинарные файлы (программы) для администрирования системы
Каталог /sbin похож на каталог /bin. В нем находятся важные двоичные файлы, которые, как правило, предназначены для их запуска пользователем при администрировании системы.
/selinux – виртуальная файловая система SELinux
В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается каталог с файлами /selinux.
/srv – данные сервисных служб
Этот каталог присуствует не во всех дистрибутивах, содержит «данные для сервисов, предоставляемых системой» (например сервер Apache может хранить файлы вашего сайта в этом каталоге). В большинстве случаев директория пуста.
/sys — виртуальная файловая система sysfs
Этот каталог появился с выходом ядра версии 2.6 и в него примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.
Описание вложеных каталогов:
/sys/block — содержит директории всех блочных устройств, присутствующих на данный момент в системе.
/sys/bus — содержит список шин, определенных в ядре Linux (eisa, pci и т.д.).
/sys/class — содержит список сгруппированных устройств по классам (printer, scsi-devices и т.д.).
/tmp — временные файлы
Временные файлы, обычно удаляются при перезагрузке системы. Является аналогом C:/Windows/Temp в ОС Windows. Все пользователи имеют права чтения и записи в этом каталоге.
/usr — пользовательские бинарные файлы, используемые только для чтения
В этом каталоге находятся приложения и файлы, используемые только пользователями, а не самой системой.
Описание вложеных каталогов:
/usr/bin — исполняемые файлы для всех учетных записей.
/usr/games — каталог для компьютерных игр в системе.
/usr/include — файлы заголовков, предназначенные для компиляции С-программ.
/usr/lib — системные библиотеки и вспомогательные файлы, расположенные в директории /usr.
/usr/local — в этот каталог устанавливаются приложения, откомпилированные локально, что позволяет им не смешиваться с остальной частью системы.
/usr/local/bin — локальные исполняемые файлы.
/usr/local/etc — локальные системные команды и файлы конфигурации.
/usr/local/lib — локальные вспомогательные файлы.
/usr/local/sbin — локальные служебные системные команды.
/usr/local/src — исходные коды программ каталогов /usr/local/*
/usr/man — страницы интерактивной документации.
/usr/sbin — менее важные команды системного администрирования.
/usr/share — общие данные установленных программ (доступен только для чтения).
/usr/share/man — страницы интерактивной документации.
/usr/share/icons — иконки системы.
/usr/share/doc — справочная документация.
/usr/src — исходные коды нелокальных программных пакетов (например, здесь располагаются исходные кода ядра).
/var — каталог для часто меняющихся данных
В этом каталоге находятся журналы операционной системы, системные log-файлы, cache-файлы и т.д.
/var/adm — журнальные файлы, записи об инсталляции системы, административные компоненты.
/var/cache — все кэши для различных программ.
/var/games — файлы с игровыми достижениями.
/var/log — cистемные журнальные файлы (log-файлы).
/var/lock — лежат lock-файлы, указывающие на занятость некоторого ресурса.
/var/lib — изменяемые программами в процессе работы (например, базы данных, метаданные и др.).
/var/spool — буферные каталоги (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т.д.).
/var/tmp — каталог для временного хранения файлов.
/var/www — размещаются Web-страницы для сервера Apache.
Посмотреть структуру файловой системы можно используя команду ls -la. Ниже приведен пример вывода команды для дистрибутива OpenSUSE.
Вот и все. Рассмотрение предназначения основных встречающихся каталогов в файловой системы Линукс завершено.
1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>
Источник