Qual é a diferença entre um diretório e uma pasta?

106

A maioria das pessoas usa os termos "pasta" e "diretório" alternadamente. Do ponto de vista do programador, existe uma diferença e, em caso afirmativo, qual é? Depende do sistema operacional ou existe um amplo consenso geral? Isso pelo menos sugere que há uma diferença.

mafu
fonte
Quanto ao motivo dessa pergunta pertencer ao SO e não ser enganosa
mafu
Mas também há programmers.stackexchange.com

Respostas:

91

Verifique a seção "A metáfora da pasta" na Wikipedia . Afirma:

Há uma diferença entre um diretório, que é um conceito de sistema de arquivos, e a metáfora da interface gráfica com o usuário que é usada para representá-lo (uma pasta). Por exemplo, o Microsoft Windows usa o conceito de pastas especiais para ajudar a apresentar o conteúdo do computador ao usuário de uma forma bastante consistente, que o livra de ter que lidar com caminhos de diretório absolutos, que podem variar entre as versões do Windows e entre instalações individuais. ...

Se alguém estiver se referindo a um contêiner de documentos, o termo pasta é mais apropriado. O termo diretório se refere à maneira como uma lista estruturada de arquivos e pastas de documentos é armazenada no computador. A distinção pode ser devida à maneira como um diretório é acessado; em sistemas Unix, / usr / bin / é geralmente referido como um diretório quando visualizado em um console de linha de comando, mas se acessado por meio de um gerenciador de arquivos gráfico, os usuários às vezes podem chamá-lo de pasta.

Anand Shah
fonte
41

Uma pasta não é necessariamente um diretório físico em um disco. Pode ser, por exemplo, a pasta de impressoras ou a pasta do painel de controle no Windows.

Raymond Chen explica:

O Windows 95 introduziu o Windows Explorer e junto com ele o termo pasta. Qual é a relação entre pastas e diretórios?

Algumas pessoas acreditam que o Windows 95 renomeou diretórios para pastas, mas na verdade é mais do que isso.

O Windows Explorer permite que você visualize pastas, que são contêineres no namespace do shell. Os diretórios são um tipo de pasta, ou seja, pastas que correspondem aos locais do sistema de arquivos. Existem outros tipos de pastas, como Painel de controle ou Ambiente de rede ou Impressoras. Esses outros tipos de pastas representam objetos no namespace do shell que não correspondem a arquivos. De uso comum, o termo pasta virtual foi aplicado para se referir a pastas que não são diretórios. Em outras palavras, temos este diagrama de Euler:

(Pastas virtuais = Pastas - Diretórios)

Em geral, o código que manipula o namespace do shell deve operar em pastas e itens, não em diretórios e arquivos, para não se amarrarem a um meio de armazenamento específico. Por exemplo, o código que se limita a arquivos não será capaz de navegar em um arquivo Zip, uma vez que o conteúdo de um arquivo Zip é exposto na forma de uma pasta virtual.

AntonyW
fonte
10
Para picuinhas, geralmente /proctambém não está no disco .
n611x007
16

Citando Álvaro G. Vicario :

Na maioria das vezes, são termos intercambiáveis. Diretório é um termo clássico usado desde os primeiros tempos dos sistemas de arquivos, enquanto pasta é uma espécie de nome amigável que pode soar mais familiar para os usuários do Windows.

A principal diferença é que uma pasta é um conceito lógico que não necessariamente mapeia para um diretório físico. Um diretório é um objeto do sistema de arquivos. Uma pasta é um objeto GUI. A Wikipedia explica isso desta maneira :

O nome pasta, apresentando uma analogia com a pasta de arquivo usada em escritórios e originalmente usada pelo Apple Lisa, é usada em quase todos os ambientes de desktop de sistemas operacionais modernos. As pastas geralmente são representadas com ícones que se parecem visualmente com pastas de arquivos físicos.

A rigor, há uma diferença entre um diretório, que é um conceito de sistema de arquivos, e a metáfora da interface gráfica do usuário que é usada para representá-lo (uma pasta). Por exemplo, o Microsoft Windows usa o conceito de pastas especiais para ajudar a apresentar o conteúdo do computador ao usuário de uma forma bastante consistente, que o livra de ter que lidar com caminhos de diretório absolutos, que podem variar entre as versões do Windows e entre instalações individuais.

Se alguém estiver se referindo a um contêiner de documentos, o termo pasta é mais apropriado. O termo diretório se refere à maneira como uma lista estruturada de arquivos e pastas de documentos é armazenada no computador. É comparável a uma lista telefônica que contém listas de nomes, números e endereços e não contém os próprios documentos.

mafu
fonte
13
  • O diretório é um conceito de sistema de arquivos. Em uma GUI, o diretório é representado como uma pasta .
  • Exemplo 1: sistemas Unix, /usr/bin/geralmente é referido como um diretório quando visualizado em um console de linha de comando, mas se acessado por meio de um gerenciador de arquivos gráfico , os usuários às vezes podem chamá-lo de pasta.
  • Exemplo 2 : o Windows usa Diretório (em comandos como mkdir, cd) e Pasta (na GUI).

Diretório : o diretório de nomes representa uma analogia com a lista telefônica:

Imagem de uma lista telefônica


Pasta : O nome da pasta representa uma analogia com a pasta de arquivos usada nos escritórios:

Imagem de pastas de escritório


Analogia:

  • Uma pasta é como uma sala.
  • Um Directory é como um hoteleiro que conhece todos os quartos.

Se você quiser uma pasta específica, use o diretório. Se você quiser um quarto específico, pergunte ao hoteleiro. Fonte

Premraj
fonte
4

Eu não sabia a diferença entre essas duas palavras em inglês antes, mesmo no editor de registro do Windows consegui encontrar duas subchaves, Foldere Directory, em HKEY_CLASSES_ROOT.

Eu não sabia a diferença até que criei alguns valores manualmente no registro e observei as diferenças dos itens do menu de contexto. Se eu criar um nó em HKEY_CLASSES_ROOT\Folder\shellapenas, descobri que ele aparece no menu de contexto das pastas virtuais (também conhecidas como system directory), como Recycle Bin, e do diretório do sistema de arquivos, como C:\Windows.

Se eu criar um nó em HKEY_CLASSES_ROOT\Directory\shellapenas, ele aparecerá apenas no menu de contexto do diretório do sistema de arquivos, como C:\Windows, mas não em uma pasta virtual. Então, como @AntonyW disse, no Windows, pastas = pastas virtuais + diretórios do sistema de arquivos.

賈 可 Jacky
fonte
1

Os nomes das pastas exibidas no File Explorer (a GUI anteriormente chamada de Windows Explorer) não são necessariamente os mesmos dos diretórios que representam. Considere um caso em que você está tentando abrir programaticamente uma pasta específica, um diretório simples no armazenamento em massa, não um armazenamento virtual. Digamos que isso foi especificado por um usuário com base no nome exibido no File Explorer. Este nome pode ter sido substituído por informações em um fluxo de dados alternativo (ADS) no diretório, e seu programa não fará referência ao arquivo por seu verdadeiro nome de caminho.

Em dois exemplos que encontrei, meu aplicativo não conseguiu abrir um nome de caminho especificado pelo usuário. Um desses exemplos estava relacionado ao OneDrive; Não me lembro de todas as circunstâncias do outro exemplo. De qualquer forma, o nome de exibição é armazenado no ADS denominado ms-properties: $ DATA .

Você pode usar o CMD.EXE para listar os ADS usando DIR / R. Renomear essas pastas usando o item de menu Propriedades no Explorador de Arquivos altera o conteúdo deste ADS, e o nome exibido para o usuário final no Explorador de Arquivos é o que ele digitou. Mas este procedimento não renomeia o diretório.

DudleyM
fonte
0

Seu link descreve basicamente o que é diferente em uma base técnica. Na maioria das vezes, as pessoas os usam de forma intercambiável e a escolha que fazem se baseia principalmente no ambiente de onde vêm.

A menos que você esteja desenvolvendo plataforma cruzada para um aplicativo que modificará arquivos, não é necessário conhecer as diferenças. Assim que estiver se preparando para trabalhar com vários tipos de sistemas de arquivos diferentes, você deve conhecer suas diferenças.

Não espere que as pessoas saibam que termo usar quando. Acho esses termos intercambiáveis, uma vez que as diferenças são conhecidas por poucas pessoas.

Flyhard
fonte
1
Não é isso que estou perguntando.
mafu