¿Cuál es la diferencia entre un directorio y una carpeta?

107

La mayoría de la gente usa los términos "carpeta" y "directorio" indistintamente. Desde el punto de vista de un programador, ¿hay alguna diferencia y, de ser así, cuál es? ¿Depende del sistema operativo o existe un amplio consenso general? Esto al menos sugiere que hay una diferencia.

mafu
fuente
En cuanto a por qué esta pregunta pertenece a SO y no es un engaño, consulte meta.stackexchange.com/questions/79773/…
mafu
Pero también está programmers.stackexchange.com

Respuestas:

92

Consulte la sección "La metáfora de la carpeta" en Wikipedia . Afirma:

Existe una diferencia entre un directorio, que es un concepto de sistema de archivos, y la metáfora de la interfaz gráfica de usuario que se utiliza para representarlo (una carpeta). Por ejemplo, Microsoft Windows usa el concepto de carpetas especiales para ayudar a presentar el contenido de la computadora al usuario de una manera bastante consistente que libera al usuario de tener que lidiar con rutas de directorio absolutas, que pueden variar entre las versiones de Windows y entre instalaciones individuales. ...

Si uno se refiere a un contenedor de documentos, el término carpeta es más apropiado. El término directorio se refiere a la forma en que se almacena en la computadora una lista estructurada de archivos y carpetas de documentos. La distinción puede deberse a la forma en que se accede a un directorio; en los sistemas Unix, / usr / bin / generalmente se conoce como un directorio cuando se ve en una consola de línea de comandos, pero si se accede a través de un administrador de archivos gráfico, los usuarios a veces pueden llamarlo una carpeta.

Anand Shah
fuente
41

Una carpeta no es necesariamente un directorio físico en un disco. Puede ser, por ejemplo, la carpeta de impresoras o la carpeta del panel de control en Windows.

Raymond Chen explica:

Windows 95 introdujo el Explorador de Windows y junto con él el término carpeta. ¿Cuál es la relación entre carpetas y directorios?

Algunas personas creen que Windows 95 cambió el nombre de los directorios a carpetas, pero en realidad es más que eso.

El Explorador de Windows le permite ver carpetas, que son contenedores en el espacio de nombres de shell. Los directorios son un tipo de carpeta, es decir, carpetas que corresponden a ubicaciones del sistema de archivos. Existen otros tipos de carpetas, como Panel de control o Entorno de red o Impresoras. Estos otros tipos de carpetas representan objetos en el espacio de nombres de shell que no corresponden a archivos. En el uso común, el término carpeta virtual se ha aplicado para referirse a carpetas que no son directorios. En otras palabras, tenemos este diagrama de Euler:

(Carpetas virtuales = Carpetas - Directorios)

En general, el código que manipula el espacio de nombres de shell debe operar en carpetas y elementos, no directorios y archivos, para no vincularse a un medio de almacenamiento en particular. Por ejemplo, el código que se limita a archivos no podrá navegar a un archivo Zip, ya que el contenido de un archivo Zip se expone en forma de carpeta virtual.

AntonyW
fuente
10
Para los quisquillosos, generalmente /proctampoco está en el disco .
n611x007
16

Citando a Álvaro G. Vicario :

La mayoría de las veces son términos intercambiables. Directorio es un término clásico utilizado desde los primeros tiempos de los sistemas de archivos, mientras que carpeta es una especie de nombre descriptivo que puede sonar más familiar para los usuarios de Windows.

La principal diferencia es que una carpeta es un concepto lógico que no necesariamente se asigna a un directorio físico. Un directorio es un objeto del sistema de archivos. Una carpeta es un objeto GUI. Wikipedia lo explica de esta manera :

La carpeta de nombres, que presenta una analogía con la carpeta de archivos utilizada en las oficinas y utilizada originalmente por Apple Lisa, se utiliza en casi todos los entornos de escritorio de los sistemas operativos modernos. Las carpetas a menudo se representan con iconos que se parecen visualmente a carpetas de archivos físicas.

Estrictamente hablando, existe una diferencia entre un directorio que es un concepto de sistema de archivos y la metáfora de la interfaz gráfica de usuario que se utiliza para representarlo (una carpeta). Por ejemplo, Microsoft Windows usa el concepto de carpetas especiales para ayudar a presentar el contenido de la computadora al usuario de una manera bastante consistente que libera al usuario de tener que lidiar con rutas de directorio absolutas, que pueden variar entre las versiones de Windows y entre instalaciones individuales.

Si uno se refiere a un contenedor de documentos, el término carpeta es más apropiado. El término directorio se refiere a la forma en que se almacena en la computadora una lista estructurada de archivos y carpetas de documentos. Es comparable a una guía telefónica que contiene listas de nombres, números y direcciones y no contiene los documentos reales en sí.

mafu
fuente
13
  • El directorio es un concepto de sistema de archivos. En una GUI, el directorio se representa como una carpeta .
  • Ejemplo 1: Los sistemas Unix, /usr/bin/generalmente se denominan directorio cuando se ven en una consola de línea de comandos, pero si se accede a ellos a través de un administrador de archivos gráfico , los usuarios a veces pueden llamarlo carpeta.
  • Ejemplo 2 : Windows usa tanto el directorio (en comandos como mkdir, cd) como la carpeta (en la GUI).

Directorio : El directorio de nombres representa una analogía con el directorio telefónico:

Imagen de un directorio telefónico


Carpeta : El nombre de la carpeta representa una analogía con la carpeta de archivos utilizada en las oficinas:

Imagen de carpetas de oficina


Analogía:

  • Una carpeta es como una habitación.
  • Un directorio es como un hotelero que conoce todas las habitaciones.

Si desea una carpeta específica, use el directorio. Si desea una habitación específica, consulte al encargado del hotel. Fuente

Premraj
fuente
4

No conocía la diferencia entre estas dos palabras en inglés antes, incluso en el editor de registro de Windows pude encontrar dos subclaves Foldery Directory, debajo HKEY_CLASSES_ROOT.

No sabía la diferencia hasta que creé algunos valores manualmente en el registro y observé las diferencias de los elementos del menú contextual. Si creo un nodo HKEY_CLASSES_ROOT\Folder\shellsolo debajo , descubrí que aparece en el menú contextual de las carpetas virtuales (también conocidas como system directory), como Recycle Bin, y el directorio del sistema de archivos, como C:\Windows.

Si creo un nodo HKEY_CLASSES_ROOT\Directory\shellsolo debajo , solo aparece en el menú contextual del directorio del sistema de archivos, como C:\Windows, pero no en una carpeta virtual. Entonces, como dijo @AntonyW, en Windows, carpetas = carpetas virtuales + directorios del sistema de archivos.

賈 可 Jacky
fuente
1

Los nombres de las carpetas que se muestran en el Explorador de archivos (la GUI antes llamada Explorador de Windows) no son necesariamente los mismos que los directorios que representan. Considere un caso en el que intenta abrir mediante programación una carpeta en particular, un directorio simple en almacenamiento masivo, no una tienda virtual. Digamos que esto lo especificó un usuario según el nombre que se muestra en el Explorador de archivos. Este nombre podría haber sido anulado por información en un flujo de datos alternativo (ADS) en el directorio y su programa no se referirá al archivo por su verdadero nombre de ruta.

En dos ejemplos que encontré, mi aplicación no pudo abrir un nombre de ruta especificado por el usuario. Uno de estos ejemplos estaba relacionado con OneDrive; No recuerdo todas las circunstancias del otro ejemplo. De todos modos, el nombre para mostrar se almacena en los ADS denominados ms-properties: $ DATA .

Puede usar CMD.EXE para listar los ADS usando DIR / R. Cambiar el nombre de dichas carpetas usando el elemento del menú Propiedades en el Explorador de archivos cambia el contenido de este ADS, y el nombre que se muestra al usuario final en el Explorador de archivos es lo que él o ella escribió. Pero este procedimiento no cambia el nombre del directorio.

DudleyM
fuente
0

Su enlace básicamente describe lo que es diferente desde el punto de vista técnico. La mayoría de las veces las personas los usan indistintamente y lo que eligen se basa principalmente en el entorno del que provienen.

A menos que esté realizando un desarrollo multiplataforma para una aplicación que modificará archivos, no necesita conocer las diferencias. Tan pronto como se esté preparando para trabajar con varios tipos de sistemas de archivos diferentes, debe conocer sus diferencias.

No espere que la gente sepa qué término usar y cuándo. Creo que esos términos son intercambiables, ya que pocas personas conocen las diferencias.

Flyhard
fuente
1
Sin embargo, eso no es lo que estoy preguntando.
mafu