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