Qual è la differenza tra una directory e una cartella?


107

La maggior parte delle persone usa i termini "cartella" e "directory" in modo intercambiabile. Dal punto di vista del programmatore, c'è una differenza e, in caso affermativo, qual è? Dipende dal sistema operativo o esiste un ampio consenso generale? Questo almeno suggerisce che c'è una differenza.


Per quanto riguarda il motivo per cui questa domanda appartiene il SO e non è una vittima, vedere meta.stackexchange.com/questions/79773/...
Mafu

Ma c'è anche programmers.stackexchange.com

Risposte:


92

Controlla la sezione "La metafora della cartella" su Wikipedia . Afferma:

Esiste una differenza tra una directory, che è un concetto di file system, e la metafora dell'interfaccia utente grafica utilizzata per rappresentarla (una cartella). Ad esempio, Microsoft Windows utilizza il concetto di cartelle speciali per aiutare a presentare il contenuto del computer all'utente in un modo abbastanza coerente che libera l'utente dal dover gestire percorsi di directory assoluti, che possono variare tra le versioni di Windows e tra installazioni individuali. ...

Se ci si riferisce a un contenitore di documenti, il termine cartella è più appropriato. Il termine directory si riferisce al modo in cui un elenco strutturato di file e cartelle di documenti viene archiviato sul computer. La distinzione può essere dovuta al modo in cui si accede a una directory; sui sistemi Unix, / usr / bin / viene solitamente indicato come una directory quando viene visualizzato in una console a riga di comando, ma se vi si accede tramite un file manager grafico, gli utenti possono talvolta chiamarlo una cartella.


41

Una cartella non è necessariamente una directory fisica su un disco. Può essere, ad esempio, la cartella delle stampanti o la cartella del pannello di controllo in Windows.

Raymond Chen spiega:

Windows 95 ha introdotto Windows Explorer e con esso il termine cartella. Qual è la relazione tra cartelle e directory?

Alcune persone credono che Windows 95 abbia rinominato le directory in cartelle, ma in realtà è più di questo.

Esplora risorse di Windows ti consente di visualizzare le cartelle, che sono contenitori nello spazio dei nomi della shell. Le directory sono un tipo di cartella, ovvero le cartelle che corrispondono alle posizioni del file system. Esistono altri tipi di cartelle, come Pannello di controllo, Risorse di rete o Stampanti. Questi altri tipi di cartelle rappresentano oggetti nello spazio dei nomi della shell che non corrispondono ai file. Nell'uso comune, il termine cartella virtuale è stato applicato per fare riferimento a cartelle che non sono directory. In altre parole, abbiamo questo diagramma di Eulero:

(Cartelle virtuali = Cartelle - Directory)

In generale, il codice che manipola lo spazio dei nomi della shell dovrebbe operare su cartelle ed elementi, non directory e file, in modo da non legarsi a un particolare supporto di memorizzazione. Ad esempio, il codice che si limita ai file non sarà in grado di navigare in un file Zip, poiché il contenuto di un file Zip viene esposto sotto forma di una cartella virtuale.


10
Per il pignolo, generalmente /procnon è nemmeno sul disco .
n611x007

16

Citando Álvaro G. Vicario :

La maggior parte delle volte sono termini intercambiabili. Directory è un termine classico usato sin dai primi tempi dei file system, mentre cartella è una sorta di nome descrittivo che può suonare più familiare agli utenti di Windows.

La differenza principale è che una cartella è un concetto logico che non si associa necessariamente a una directory fisica. Una directory è un oggetto del file system. Una cartella è un oggetto GUI. Wikipedia lo spiega in questo modo :

La cartella del nome, che presenta un'analogia con la cartella dei file utilizzata negli uffici e utilizzata originariamente da Apple Lisa, viene utilizzata in quasi tutti gli ambienti desktop dei sistemi operativi moderni. Le cartelle sono spesso rappresentate con icone che somigliano visivamente alle cartelle di file fisiche.

A rigor di termini, c'è una differenza tra una directory che è un concetto di file system e la metafora dell'interfaccia utente grafica utilizzata per rappresentarla (una cartella). Ad esempio, Microsoft Windows utilizza il concetto di cartelle speciali per aiutare a presentare il contenuto del computer all'utente in un modo abbastanza coerente che libera l'utente dal dover gestire percorsi di directory assoluti, che possono variare tra le versioni di Windows e tra installazioni individuali.

Se ci si riferisce a un contenitore di documenti, il termine cartella è più appropriato. Il termine directory si riferisce al modo in cui un elenco strutturato di file e cartelle di documenti viene archiviato sul computer. È paragonabile a un elenco telefonico che contiene elenchi di nomi, numeri e indirizzi e non contiene i documenti stessi.


13
  • Directory è un concetto di file system. In una GUI la directory è rappresentata come una cartella .
  • Esempio 1: sistemi Unix, di /usr/bin/solito viene indicato come una directory quando visualizzato in una console a riga di comando, ma se si accede tramite un file manager grafico , gli utenti a volte possono chiamarla una cartella.
  • Esempio 2 : Windows utilizza sia Directory (in comandi come mkdir,cd ) che Folder (nella GUI).

Rubrica : la rubrica dei nomi rappresenta un'analogia con la rubrica del telefono:

Immagine di un elenco telefonico


Cartella : la cartella del nome rappresenta un'analogia con la cartella dei file utilizzata negli uffici:

Immagine delle cartelle dell'ufficio


Analogia:

  • Una cartella è come una stanza.
  • Un elenco è come un albergatore che conosce tutte le stanze.

Se vuoi una cartella specifica, usa la directory. Se vuoi una stanza specifica chiedi al gestore dell'hotel. fonte


4

Prima non conoscevo la differenza tra queste due parole in inglese, anche nell'editor del registro di Windows ho potuto trovare due sottochiavi Foldere Directory, sotto HKEY_CLASSES_ROOT.

Non conoscevo la differenza fino a quando non ho creato manualmente alcuni valori nel registro e ho osservato le differenze delle voci del menu contestuale. Se creo un nodo HKEY_CLASSES_ROOT\Folder\shellsolo in, ho scoperto che appare nel menu contestuale di entrambe le cartelle virtuali (aka system directory), come Recycle Bin, e nella directory del file system, come C:\Windows.

Se creo un nodo HKEY_CLASSES_ROOT\Directory\shellsolo sotto , appare solo nel menu contestuale della directory del file system, come C:\Windows, ma non una cartella virtuale. Quindi, come ha detto @AntonyW, in Windows, cartelle = cartelle virtuali + directory del file system.


1

I nomi delle cartelle visualizzati in Esplora file (la GUI precedentemente chiamata Esplora risorse) non sono necessariamente gli stessi delle directory che rappresentano. Si consideri un caso in cui si sta tentando di aprire a livello di programmazione una cartella particolare, una semplice directory sull'archiviazione di massa, non un archivio virtuale. Supponiamo che questo sia stato specificato da un utente in base al nome visualizzato in Esplora file. Questo nome potrebbe essere stato sovrascritto dalle informazioni in un flusso di dati alternativo (ADS) nella directory e il programma non farà riferimento al file con il suo vero percorso.

In due esempi che ho riscontrato, la mia app non è riuscita ad aprire un percorso specificato dall'utente. Uno di questi esempi era relativo a OneDrive; Non ricordo le circostanze complete dell'altro esempio. Ad ogni modo, il nome visualizzato è memorizzato nell'ADS denominato ms-properties: $ DATA .

È possibile utilizzare CMD.EXE per elencare gli annunci utilizzando DIR / R. Rinominare tali cartelle utilizzando la voce di menu Proprietà in Esplora file modifica il contenuto di questo ADS e il nome visualizzato all'utente finale in Esplora file è quello che ha digitato. Ma questa procedura non rinomina la directory.


0

Il tuo collegamento descrive fondamentalmente ciò che è diverso su base tecnica. La maggior parte delle volte le persone li usano in modo intercambiabile e ciò che scelgono si basa principalmente sull'ambiente da cui provengono.

A meno che tu non stia sviluppando multipiattaforma per un'applicazione che modificherà i file, non è necessario conoscere le differenze. Non appena ti stai preparando a lavorare con diversi tipi di file system, dovresti conoscere le loro differenze.

Non aspettarti che le persone sappiano quale termine usare e quando. Penso che questi termini siano intercambiabili, poiché le differenze sono note a troppo poche persone.


1
Non è quello che sto chiedendo però.
mafu
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.