В вычислительной технике каталог — это структура каталогизации файловой системы , которая содержит ссылки на другие компьютерные файлы и, возможно, на другие каталоги . На многих компьютерах каталоги называются папками или ящиками [1] по аналогии с рабочим столом или традиционным офисным шкафом для хранения документов . Название происходит от книг, подобных телефонному справочнику , в котором перечислены номера телефонов всех людей, живущих в определенном районе.
Файлы организованы путем хранения связанных файлов в одном каталоге. В иерархической файловой системе (то есть такой, в которой файлы и каталоги организованы в виде дерева ) каталог, содержащийся внутри другого каталога, называется подкаталогом . Термины родительский и дочерний часто используются для описания отношений между подкаталогом и каталогом, в котором он каталогизирован, причем последний является родительским. Самый верхний каталог в такой файловой системе, не имеющий собственного родительского каталога, называется корневым каталогом .
Тип носителя freedesktop.org для каталогов во многих системах Unix , включая, помимо прочего, системы, использующие GNOME , KDE Plasma 5 или ROX Desktop в качестве среды рабочего стола, — это «inode/directory». [2] Этот тип носителя не зарегистрирован в IANA .
Исторически сложилось так, что даже в некоторых современных встроенных системах файловые системы либо вообще не поддерживали каталоги, либо имели только «плоскую» структуру каталогов , то есть подкаталоги не поддерживались; существовала только группа каталогов верхнего уровня, каждый из которых содержал файлы. В современных системах каталог может содержать как файлы, так и подкаталоги.
Ссылка на местоположение в системе каталогов называется путем .
Во многих операционных системах программы имеют связанный рабочий каталог , в котором они выполняются. Обычно предполагается, что имена файлов, к которым обращается программа, находятся в этом каталоге, если имена файлов не указаны с явным именем каталога.
Некоторые операционные системы ограничивают доступ пользователя только к его домашнему каталогу или каталогу проекта, тем самым изолируя его действия от всех других пользователей. В ранних версиях Unix корневой каталог был домашним каталогом пользователя root , но современный Unix обычно использует для этой цели другой каталог, например /root .
В соответствии с философией Unix , системы Unix рассматривают каталоги как тип файла. [3] Предостережения включают в себя невозможность записи в файл каталога, кроме как косвенно путем создания, переименования и удаления объектов файловой системы в каталоге, и возможность чтения из файла каталога только с использованием библиотечных процедур, специфичных для каталога, и системных вызовов , возвращающих записи. , а не поток байтов. [4]
Папка с именем , представляющая аналогию с папкой с файлами, используемой в офисах и используемой в конструкции иерархической файловой системы для электронной записывающей машины, бухгалтерского учета (ERMA) Mark 1, опубликованной в 1958 году [5] , а также Xerox Star , [6] ] используется практически во всех средах рабочего стола современных операционных систем . Папки часто обозначаются значками , которые визуально напоминают папки с физическими файлами.
Существует разница между каталогом , который представляет собой концепцию файловой системы , и метафорой графического интерфейса пользователя , которая используется для его представления ( папка ). [ оригинальное исследование? ] Например, Microsoft Windows использует концепцию специальных папок , чтобы помочь пользователю представить содержимое компьютера достаточно последовательным образом, что освобождает пользователя от необходимости иметь дело с абсолютными путями к каталогам, которые могут различаться в разных версиях Windows, и между отдельными установками. Во многих операционных системах также существует концепция «умных папок» или виртуальных папок , которые отражают результаты поиска в файловой системе или другой операции. Эти папки не представляют собой каталог в файловой иерархии. Многие почтовые клиенты позволяют создавать папки для организации электронной почты. Эти папки не имеют соответствующего представления в структуре файловой системы.
Если речь идет о контейнере документов , более подходящим будет термин «папка» . [ нужна цитация ] Термин « каталог» относится к способу хранения структурированного списка файлов и папок документов на компьютере. Различие может быть связано со способом доступа к каталогу; в системах Unix /usr/bin/ обычно называют каталогом при просмотре в консоли командной строки , но при доступе через графический файловый менеджер пользователи иногда могут называть его папкой.
Операционные системы, поддерживающие иерархические файловые системы (практически все современные), реализуют форму кэширования в оперативной памяти последних поисков пути . В мире Unix это обычно называется кэшем поиска имени каталога (DNLC), хотя в Linux он называется dcache . [7]
Для локальных файловых систем срок действия записей DNLC обычно истекает только под давлением других, более поздних записей. Для сетевых файловых систем необходим механизм согласованности , гарантирующий, что записи не будут признаны недействительными другими клиентами. [7]
Путь указывает имя диска или местоположение, а также все ящики, ведущие к указанному файлу.