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.
107
Respuestas:
Consulte la sección "La metáfora de la carpeta" en Wikipedia . Afirma:
fuente
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:
fuente
/proc
tampoco está en el disco .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 :
fuente
/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.mkdir
,cd
) como la carpeta (en la GUI).Directorio : El directorio de nombres representa una analogía con el directorio telefónico:
Carpeta : El nombre de la carpeta representa una analogía con la carpeta de archivos utilizada en las oficinas:
Analogía:
Si desea una carpeta específica, use el directorio. Si desea una habitación específica, consulte al encargado del hotel. Fuente
fuente
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
Folder
yDirectory
, debajoHKEY_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\shell
solo debajo , descubrí que aparece en el menú contextual de las carpetas virtuales (también conocidas comosystem directory
), comoRecycle Bin
, y el directorio del sistema de archivos, comoC:\Windows
.Si creo un nodo
HKEY_CLASSES_ROOT\Directory\shell
solo debajo , solo aparece en el menú contextual del directorio del sistema de archivos, comoC:\Windows
, pero no en una carpeta virtual. Entonces, como dijo @AntonyW, en Windows, carpetas = carpetas virtuales + directorios del sistema de archivos.fuente
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.
fuente
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.
fuente