Большинство людей используют термины «папка» и «каталог» как синонимы. С точки зрения программиста, есть ли разница, и если да, то в чем она? Зависит ли это от ОС или существует широкий общий консенсус? Это как минимум говорит о том, что разница есть.
108
Ответы:
Проверьте раздел «Метафора папки» в Википедии . Здесь утверждается:
источник
Папка не обязательно является физическим каталогом на диске. Это может быть, например, папка принтеров или папка панели управления Windows.
Раймонд Чен объясняет:
источник
/proc
на диске тоже нет.Цитата Альваро Г. Викарио :
В большинстве случаев это взаимозаменяемые термины. Каталог - это классический термин, используемый с ранних времен файловых систем, а папка - это своего рода понятное имя, которое может показаться более знакомым пользователям Windows.
Основное отличие состоит в том, что папка - это логическая концепция, которая не обязательно сопоставляется с физическим каталогом. Каталог - это объект файловой системы. Папка - это объект графического интерфейса. Википедия объясняет это так :
источник
/usr/bin/
обычно называют каталогом при просмотре в консоли командной строки, но при доступе через графический файловый менеджер пользователи могут иногда называть его папкой.mkdir
,cd
), так и папку (в графическом интерфейсе).Каталог : Имя каталога представляет собой аналогию с телефонным справочником:
Папка : имя папки представляет собой аналогию с папкой с файлами, используемой в офисах:
Аналогия:
Если вам нужна конкретная папка, вы используете каталог. Если вам нужен конкретный номер, спросите у владельца отеля. Источник
источник
Раньше я не знал разницы между этими двумя словами на английском языке, даже в редакторе реестра Windows я смог найти два подключа,
Folder
иDirectory
, подHKEY_CLASSES_ROOT
.Я не знал разницы, пока не создал некоторые значения вручную в реестре и не заметил различия пунктов контекстного меню. Если я создаю узел
HKEY_CLASSES_ROOT\Folder\shell
только под , я обнаружил, что он появляется в контекстном меню как виртуальных папок (акаsystem directory
), напримерRecycle Bin
, так и каталога файловой системы, напримерC:\Windows
.Если я создаю узел
HKEY_CLASSES_ROOT\Directory\shell
только под , он появляется только в контекстном меню каталога файловой системы, напримерC:\Windows
, но не в виртуальной папке. Итак, как сказал @AntonyW, в Windows папки = виртуальные папки + каталоги файловой системы.источник
Имена папок, отображаемые в проводнике (GUI, ранее называвшемся проводником Windows), не обязательно совпадают с каталогами, которые они представляют. Рассмотрим случай, когда вы пытаетесь программным образом открыть конкретную папку, простой каталог на запоминающем устройстве, а не виртуальное хранилище. Скажем, это было указано пользователем на основе имени, отображаемого в проводнике. Это имя могло быть переопределено информацией в альтернативном потоке данных (ADS) в каталоге, и ваша программа не будет ссылаться на файл по его истинному имени пути.
В двух примерах, с которыми я столкнулся, мое приложение не могло открыть путь, указанный пользователем. Один из этих примеров был связан с OneDrive; Я не помню всех обстоятельств другого примера. В любом случае отображаемое имя сохраняется в ADS с именем ms-properties: $ DATA .
Вы можете использовать CMD.EXE для вывода списка ADS с помощью DIR / R. Переименование таких папок с помощью пункта меню «Свойства» в проводнике файлов изменяет содержимое этого ADS, и имя, отображаемое для конечного пользователя в проводнике, является тем, что он ввел. Но эта процедура не переименовывает каталог.
источник
Ваша ссылка в основном описывает, что отличает техническую основу. В большинстве случаев люди используют их как взаимозаменяемые, и то, что они выбирают, в основном зависит от среды, из которой они происходят.
Если вы не занимаетесь разработкой кроссплатформенного приложения, которое будет изменять файлы, вам не нужно знать различия. Как только вы готовитесь к работе с несколькими разными типами файловых систем, вы должны знать их различия.
Не ждите, что люди знают, какой термин использовать и когда. Я считаю эти термины взаимозаменяемыми, так как различия известны слишком немногим людям.
источник