디렉토리와 폴더의 차이점은 무엇입니까?


107

대부분의 사람들은 "폴더"와 "디렉토리"라는 용어를 같은 의미로 사용합니다. 프로그래머의 관점에서 볼 때 차이점이 있습니까? 그렇다면 무엇이 다를까요? OS에 의존합니까, 아니면 광범위하고 일반적인 합의가 있습니까? 이것은 적어도 차이가 있음을 시사합니다.


이 질문은 SO에 속한 속는 사람이 아닌 이유에 관해서는, 참조하시기 바랍니다 meta.stackexchange.com/questions/79773/...을
mafu

하지만 programmers.stackexchange.com도 있습니다

답변:


92

Wikipedia 에서 "폴더 메타포"섹션을 확인하십시오 . 다음과 같이 설명합니다.

파일 시스템 개념 인 디렉토리와이를 나타내는 데 사용되는 그래픽 사용자 인터페이스 메타포 (폴더) 사이에는 차이가 있습니다. 예를 들어, Microsoft Windows는 특수 폴더의 개념을 사용하여 사용자가 Windows 버전마다 다를 수있는 절대 디렉토리 경로를 처리 할 필요가 없도록 상당히 일관된 방식으로 사용자에게 컴퓨터의 내용을 제공하는 데 도움을줍니다. 개별 설치. ...

문서 컨테이너를 언급하는 경우 폴더라는 용어가 더 적합합니다. 디렉토리라는 용어는 문서 파일 및 폴더의 구조화 된 목록이 컴퓨터에 저장되는 방식을 나타냅니다. 구별은 디렉토리에 액세스하는 방법 때문일 수 있습니다. Unix 시스템에서 / usr / bin /은 일반적으로 명령 줄 콘솔에서 볼 때 디렉토리라고하지만 그래픽 파일 관리자를 통해 액세스하는 경우 사용자가 폴더라고 부르기도합니다.


41

폴더가 반드시 디스크의 실제 디렉터리는 아닙니다. 예를 들어 Windows의 프린터 폴더 또는 제어판 폴더 일 수 있습니다.

Raymond Chen은 다음과 같이 설명합니다.

Windows 95는 Windows 탐색기와 폴더라는 용어를 도입했습니다. 폴더와 디렉토리의 관계는 무엇입니까?

어떤 사람들은 Windows 95가 디렉터리 이름을 폴더로 변경했다고 생각하지만 실제로는 그 이상입니다.

Windows 탐색기를 사용하면 셸 네임 스페이스의 컨테이너 인 폴더를 볼 수 있습니다. 디렉토리는 파일 시스템 위치에 해당하는 폴더의 한 유형입니다. 제어판, 네트워크 환경 또는 프린터와 같은 다른 유형의 폴더가 있습니다. 이러한 다른 유형의 폴더는 파일에 해당하지 않는 셸 네임 스페이스의 개체를 나타냅니다. 일반적으로 가상 폴더라는 용어는 디렉터리가 아닌 폴더를 지칭하기 위해 적용되었습니다. 즉, 다음 오일러 다이어그램이 있습니다.

(가상 폴더 = 폴더-디렉토리)

일반적으로 쉘 네임 스페이스를 조작하는 코드는 특정 저장 매체에 연결되지 않도록 디렉토리와 파일이 아닌 폴더와 항목에서 작동해야합니다. 예를 들어, 자신을 파일로 제한하는 코드는 Zip 파일의 내용이 가상 폴더의 형태로 노출되기 때문에 Zip 파일로 이동할 수 없습니다.


10
nitpicking의 경우 일반적으로 디스크 에도 /proc없습니다 .
n611x007 2013

16

Álvaro G. Vicario 인용 :

대부분의 경우 상호 교환 가능한 용어입니다. 디렉토리는 파일 시스템의 초기부터 사용되는 고전적인 용어이며 폴더는 Windows 사용자에게 더 친숙하게 들릴 수있는 일종의 친숙한 이름입니다.

주요 차이점은 폴더가 반드시 물리적 디렉터리에 매핑되지 않는 논리적 개념이라는 것입니다. 디렉토리는 파일 시스템 객체입니다. 폴더는 GUI 개체입니다. Wikipedia는 다음과 같이 설명합니다 .

사무실에서 사용되는 파일 폴더와 유사하며 원래 Apple Lisa가 사용했던 이름 폴더는 거의 모든 최신 운영 체제의 데스크탑 환경에서 사용됩니다. 폴더는 종종 물리적 파일 폴더와 시각적으로 유사한 아이콘으로 표시됩니다.

엄밀히 말하면 파일 시스템 개념 인 디렉토리와이를 나타내는 데 사용되는 그래픽 사용자 인터페이스 메타포 (폴더)간에 차이가 있습니다. 예를 들어, Microsoft Windows는 특수 폴더의 개념을 사용하여 사용자가 Windows 버전마다 다를 수있는 절대 디렉토리 경로를 처리 할 필요가 없도록 상당히 일관된 방식으로 사용자에게 컴퓨터의 내용을 제공하는 데 도움을줍니다. 개별 설치.

문서 컨테이너를 언급하는 경우 폴더라는 용어가 더 적합합니다. 디렉토리라는 용어는 문서 파일 및 폴더의 구조화 된 목록이 컴퓨터에 저장되는 방식을 나타냅니다. 이름, 번호 및 주소 목록을 포함하고 실제 문서 자체는 포함하지 않는 전화 번호부와 비슷합니다.


13
  • 디렉토리 는 파일 시스템 개념입니다. GUI에서 디렉토리는 Folder 로 표시됩니다 .
  • 예 1 : Unix 시스템 /usr/bin/은 일반적으로 명령 줄 콘솔에서 볼 때 디렉토리라고하지만 그래픽 파일 관리자를 통해 액세스하는 경우 사용자가 폴더라고 부르기도합니다.
  • 예제 2 : Windows는 Directory ( mkdir, cd와 같은 명령 에서 )와 폴더 (GUI에서)를 모두 사용합니다.

디렉토리 : 이름 디렉토리는 전화 번호부와 유사합니다.

전화 번호부 이미지


폴더 : 이름 폴더는 사무실에서 사용되는 파일 폴더와 유사합니다.

사무실 폴더 이미지


유추:

  • 폴더는 방과 같습니다.
  • 디렉토리는 모든 방을 아는 호텔 키퍼와 같습니다.

특정 폴더를 원하면 디렉토리를 사용합니다. 특정 객실을 원하시면 호텔 키퍼에게 문의하십시오. 출처


4

나는 두 개의 하위 키를 발견 할 수도 Windows 레지스트리 편집기에서, 이전에 영어로이 두 단어의 차이를 몰랐 FolderDirectory아래 HKEY_CLASSES_ROOT.

레지스트리에서 수동으로 일부 값을 만들고 상황에 맞는 메뉴 항목의 차이점을 관찰하기 전까지는 차이점을 알지 못했습니다. 아래 HKEY_CLASSES_ROOT\Folder\shell에만 노드를 만들면 같은 가상 폴더 (일명 system directory)와 같은 Recycle Bin파일 시스템 디렉터리 의 컨텍스트 메뉴에 나타납니다 C:\Windows.

아래 HKEY_CLASSES_ROOT\Directory\shell에만 노드를 만들면 C:\Windows가상 폴더가 아닌 파일 시스템 디렉터리의 컨텍스트 메뉴에만 나타납니다 . 그래서 @AntonyW가 말했듯이 Windows에서는 폴더 = 가상 폴더 + 파일 시스템 디렉토리입니다.


1

파일 탐색기 (이전에는 Windows 탐색기라고했던 GUI)에 표시되는 폴더의 이름이 해당 폴더가 나타내는 디렉토리와 반드시 동일하지는 않습니다. 가상 저장소가 아닌 대용량 저장소의 일반 디렉터리 인 특정 폴더를 프로그래밍 방식으로 열려고하는 경우를 생각해보십시오. 파일 탐색기에 표시된 이름을 기반으로 사용자가 지정했다고 가정합니다. 이 이름은 디렉토리의 대체 데이터 스트림 (ADS)에있는 정보로 대체 될 수 있으며 프로그램은 실제 경로 이름으로 파일을 참조하지 않습니다.

두 가지 예에서 내 앱은 사용자가 지정한 경로 이름을 열 수 없습니다. 이러한 예 중 하나는 OneDrive와 관련이 있습니다. 다른 예의 전체 상황을 기억하지 못합니다. 어쨌든 표시 이름은 ms-properties : $ DATA 라는 ADS에 저장됩니다 .

CMD.EXE를 사용하여 DIR / R을 사용하여 ADS를 나열 할 수 있습니다. 파일 탐색기의 속성 메뉴 항목을 사용하여 이러한 폴더의 이름을 바꾸면이 ADS의 내용이 변경되고 파일 탐색기에서 최종 사용자에게 표시되는 이름은 사용자가 입력 한 이름입니다. 그러나이 절차는 디렉토리 이름을 바꾸지 않습니다.


0

귀하의 링크는 기본적으로 기술적으로 다른 점을 설명합니다. 대부분의 경우 사람들은 서로 바꿔 사용할 수 있으며 선택하는 것은 주로 어떤 환경에서 왔는지에 따라 다릅니다.

파일을 수정하는 애플리케이션에 대해 플랫폼 간 개발을 수행하지 않는 한 차이점을 알 필요가 없습니다. 여러 다른 파일 시스템 유형에 대한 작업을 준비하는 즉시 차이점을 알아야합니다.

사람들이 언제 어떤 용어를 사용할지 알기를 기대하지 마십시오. 나는 그 차이가 너무 적은 사람들에게 알려져 있기 때문에 이러한 용어를 상호 교환 할 수 있다고 생각합니다.


1
그것은 내가 요구하는 것이 아닙니다.
mafu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.