Опишите иерархическую структуру организации каталогов кратко

Обновлено: 05.07.2024

Иерархия каталогов и файловых систем в Linux

В статье рассказывается о разработанном в рамках проекта Open Source стандарте на структуру каталогов UNIX-подобных операционных систем (подразумеваются Linux и BSD-системы).

Одно из первых понятий, с которыми сталкивается любой пользователь компьютера - это, безусловно, понятие файловой системы. При этом пользователь видит только одну сторону файловой системы, а именно, иерархическую структуру (или дерево) каталогов и файлов. Фактически все каталоги тоже являются файлами, и с точки зрения механизма хранения файлов на диске все файлы, включая каталоги, организованы одинаково [1]. Но для человека работать с “линейным” списком, содержащим тысячи файлов, было бы крайне неудобно, поэтому и было изобретено понятие “каталога”, чисто логического образования, позволяющего дать каждому файлу понятное для человека “полное имя”, определяющее некий “путь” к файлу в единой структуре каталогов.

Поскольку структура каталогов – понятие чисто логическое и к реальным механизмам работы с файлами не имеет отношения, изначально никаких особых требований на вид логического дерева каталогов со стороны операционной системы не предъявляется. И в силу этого каждый конкретный вариант операционной системы, в частности, каждый из дистрибутивов Linux, мог бы строить это дерево по-своему. Легко понять, что это могло бы привести к возникновению больших проблем в работе программного обеспечения от различных разработчиков, к несовместимости и непереносимости программ, установка новых программ в систему и работа большинства приложений были бы очень затруднены, поскольку масса времени уходила бы на поиск нужных файлов. Подчинение же структуры каталогов определенным стандартам позволяет обеспечить совместимость программного обеспечения, разрабатываемого разными группами авторов и в рамках различных дистрибутивов. Поэтому группой энтузиастов (как все, что создается в рамках движения Open Source) был разработан стандарт на структуру каталогов для UNIX-подобных ОС, так называемый стандарт иерархии файловых систем (Filesystem Hierarchy Standart или кратко FHS) .

Работа по созданию этого стандарта была начата в августе 1993 года с попытки упорядочить структуру файлов и каталогов операционной системы Linux. Вначале стандарт назывался проектом стандартов файловой системы - Filesystem Standarts project (FSSTND), и был ориентирован только на систему Linux. Его первая версия была выпущена 14 февраля 1994 года. Последующие редакции были выпущены 9 октября 1994 и 28 марта 1995 года. В разработке стандарта принимало участие большое количество добровольцев, но главным организатором был Дэниел Квинлан (Daniel Quinlan).

При разработке стандарта FHS его авторы стремились создать в первую очередь справочник, а не учебник по построению структуры каталогов. Стандарт создавался для использования системными интеграторами, разработчиками пакетов программного обеспечения и системными администраторами в процессе создания и поддержки UNIX-совместимых файловых систем.

В основу разработки стандарта были положены следующие соображения.

Во-вторых, любая UNIX-система (в том числе и Linux) - система сетевая, и эти файловые системы и соответствующие носители могут физически располагаться даже на разных компьютерах. Поэтому при размещении отдельных файлов в различных частях файловой структуры надо учитывать, что некоторые файлы должны быть доступны с других компьютеров в сети (быть разделяемыми), а к другим файлам доступ по сети необходимо ограничить. Выделение группы разделяемых файлов позволяет экономить общее дисковое пространство. Группа неразделяемых файлов вычленяется как по соображениям безопасности, так и просто потому, что эти файлы определяют локальную конфигурацию системы и поэтому нужны только на данном компьютере. Например, пользовательские каталоги могут (а часто и должны) быть разделяемыми, а файлы настройки процедур загрузки системы должны быть неразделяемыми.

В третьих, файлы делятся на статические (неизменяемые) и изменяемые. К числу статических файлов относятся исполняемые файлы, библиотеки, документация и другие файлы, изменять которые может только администратор системы. Для остальных пользователей эти файлы должны быть доступны только по чтению. Изменяемые файлы – это те, которые любой пользователь может менять без привлечения администратора.

В таблице 1 приведены несколько примеров того, какие каталоги (точнее, файлы каких каталогов) относятся к каждому из 4 классов, образующихся при разбиении всего множества файлов по этим двум критериям.

Большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня.

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть — если файл может входить сразу в несколько каталогов. Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX — сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом, или корнем (root).

При такой организации пользователь освобожден от запоминания имен всех файлов, ему достаточно примерно представлять, к какой группе может быть отнесен тот или иной файл, чтобы путем последовательного просмотра каталогов найти его. Иерархическая структура удобна для многопользовательской работы: каждый пользователь со своими файлами локализуется в своем каталоге или поддереве каталогов, и вместе с тем все файлы в системе логически связаны.

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог.

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

Структура каталогов файловой системы описана ниже; информацию о службе каталогов в сети компании см. Там.

Оглавление

характеристики

И файлы, и каталоги могут быть расположены на каждом уровне дерева ; последние образуют следующий уровень дерева. Структура каталогов является результатом того факта, что каталоги, в свою очередь, могут содержать (подкаталоги), начиная с корневого каталога . Имя и положение каждой записи (файла или (подкаталога)) можно указать, указав соответствующий путь , который начинается с корня и содержит список всех каталогов, через которые нужно пройти.

Пример: На рисунке напротив находится файл в дереве Unix /home/anwendername/Foto.jpg , т.е. начиная с корневого каталога / в его подкаталоге home , anwendername файл находится под ним в подкаталоге Foto.jpg .

Строго говоря, возможность создавать перекрестные соединения - то есть ссылки на папки или файлы , даже на разных уровнях - превращает древовидную структуру структуры каталогов в сеть , потому что строгая иерархия теряется. Соответственно, один и тот же файл может быть указан разными путями.

Ограничения на одном уровне (тривиальное дерево) известны из встраиваемых систем . Старые файловые системы, некоторые из которых все еще используются на мэйнфреймах , имеют относительно жесткую структуру каталогов с точно определенным количеством уровней без возможности быстрого создания подкаталогов.

Разрешения

Первые концепции авторизации просто давали каждому пользователю свой собственный каталог выше корневого уровня. Вы все еще можете найти отголоски этого времени в специальной учетной записи пользователя root в Unix, которая изначально имеет все системные разрешения. Хотя концепция авторизации Unix, которая все еще широко используется сегодня, по-прежнему тесно связана со структурой каталогов, каждый каталог (и каждый файл) для одного пользователя (владельца), для определенной группы пользователей и для всех остальным из них назначается авторизация. Таким образом, реальное назначение n: m (то есть назначение прав / запретов для каждого пользователя отдельно) между каталогами или файлами и авторизованными учетными записями пользователей пока невозможно, если вы не хотите создавать отдельную группу для каждого каталога. Новые решения, такие как ACL, предлагают более удобные варианты.

задний план

Многие операционные системы предлагают возможность разбиения дисков и дисковых систем на разделы . Такие разделы, а также целые диски могут быть отформатированы в файловой системе, то есть создается пустая структура каталогов, а выделенное дисковое пространство передается под управление файловой системы.

Недавние разработки в файловых системах могут раскрыть некоторые методы реляционной базы данных или объектно-ориентированного структурирования. Тогда обычные структуры каталогов с иерархической системой являются одним из нескольких вариантов создания, изменения, извлечения и чтения данных.

стандартизация

В основном в области Unix-подобных систем предпринимаются усилия по стандартизации структуры каталогов независимо от используемой операционной системы. Благодаря единообразной структуре каталогов определенные исполняемые файлы или файлы конфигурации , например, всегда можно найти в одном и том же месте, что значительно упрощает разработку программного обеспечения, переход с одной операционной системы на другую и знакомство с пользователями. В дополнение к стандартам POSIX , SUS и LSB , которые также описывают структуру каталогов, стандарт иерархии файловой системы (FHS) является важной стандартизацией структуры каталогов.

Индивидуальные доказательства

    Эта страница последний раз была отредактирована 29 июня 2021 в 15:19.

Для всех читателей, желающих объединить файлы и каталоги в стройную логически организованную структуру, мы подготовили всеобъемлющее руководство, рассказывающее о том, как стать, быть и оставаться организованным.



Если у вас на компьютере бардак, вы, скорее всего, и сами об этом знаете. Но, если нет, вот вам список самых вопиющих признаков:

Прежде, чем продолжать, давайте проясним еще несколько моментов:

  • Предполагается, что вы имеете представление о том, что такое файлы и каталоги, а также умеете их создавать, переименовывать, копировать и удалять.
  • Принципы, описанные в данной статье, можно применять, работая с любой компьютерной операционной системой. Однако, примеры будут чаще всего основываться на Windows. Также мы упомянем несколько специфичных для Windows функций, полезных в процессе организации.
  • У каждого есть свой любимый способ упорядочивания файлов, но, на самом деле, ни один из них не идеален. Хотя при написании статьи я старался придерживаться наиболее общей и объективной точки зрения, описанные в ней приемы — всего лишь один из возможных вариантов. Возможно, что?то сработает и для вас тоже, но не стоит воспринимать мои слова как истину в последней инстанции.

Зачем вообще заниматься организацией информации?

В конце концов, может быть вам просто нравится организованность, чистота, упорядоченность, и тогда никакие дополнительные причины не нужны ;)

Советы по организации файлов и каталогов

















Та, что слева — документ Word, а справа вы видите ярлык, указывающий на этот же самый документ. Двойной щелчок по любому из значков приведет к открытию одного и того же файла. Между иконками два визуальных отличия:

  • У ярлыка в левом нижнем углу можно заметить маленькую стрелочку (в Windows)
  • Ярлык может иметь имя без расширения (на самом деле оно есть, но чаще всего не показывается)











Данный совет поможет вам обойти одну из потенциальных неприятностей, с которой вы можете столкнуться, создавая свою схему организации — проблему нескольких разделов (C:, D:, итд.) на разных компьютерах. Возможно, вы захотите хранить файлы на диске D:, так как там больше всего свободного места, а упорядоченную структуру папок расположить на C:, или наоборот.
Ваша схема организации может предусматривать доступ к файлам только с C: (например, если ее корневой каталог представляет собой что?то вроде C:\\Файлы). В то же время, и сотни свободных гигабайт на D: неплохо бы чем?нибудь занять. К счастью, существует возможность хранить файлы на D: и обращаться к ним через C:, и не при помощи ярлыков (хотя принцип довольно похож).
Используя команду mklink, вы можете взять папку, расположенную на одном диске, и создать для нее псевдоним, называемый символической ссылкой или точкой соединения, на другом (на самом деле, mklink умеет гораздо больше, но это тема для отдельной статьи). Воспринимайте символические ссылки как виртуальные каталоги — они функционируют подобно обычным папкам, за исключением того, что физически расположены где?то в другом месте.
К примеру, вы решили расположить организованную структуру папок на D:, но также на нее нужно создать ссылку с диска C:, из каталога C:\\Файлы. В таком случае, вы могли бы создать C:\\Файлы как символическую ссылку на D: следующей командой:

Или, может быть, вы хотите хранить на D: только коллекцию кино. Тогда перенесите все фильмы в корень D: и создайте на него ссылку вида C:\\Файлы\\Медиа\\Кино командой:









Скриншот идеального десктопа практически первозданной чистоты:









Полезные папки, которые стоит создать

В следующем разделе предлагается несколько полезных каталогов — возможно, вы захотите встроить их в свою схему организации. Лично я нахожу их абсолютно незаменимыми.
Первые три нужны для удобства — хорошо бы разместить их там, где они всегда будут под рукой. Реальное, физическое расположение для этих каталогов не особенно важно, но огромное значение имеет их постоянная доступность. Вы могли бы расположить ярлыки для них:









А так выглядит типичный каталог отдельной программы:





Возможности Windows, помогающие в упорядочении файлов и папок



К примеру, вы могли бы туда добавить:





Читайте также: