목록으로
디렉터리와 폴더의 관계
디렉터리와 폴더
많은 사람에겐 디렉터리라는 용어보다는 폴더가 더 친숙하거나 익숙할 거예요. 디렉터리라는 용어를 아시는 분은 두 용어가 같은 개념이며, 디렉터리는 DOS 운영체제나 리눅스, 유닉스에서 사용하는 명칭이고, 폴더는 윈도우나 맥OS같은 GUI(Graphical User Interface)를 채택한 운영체제에서 사용하는 명칭으로 알고 계실지도 모르고요. 실제로 이 두 용어는 종종 혼용되며, 맥락 상 혼용해도 대개는 그다지 틀리지 않습니다.
디렉터리 (Directory)
디렉터리라는 용어는 유닉스와 같은 초기 컴퓨터 운영체제에서 유래되었으며, 유닉스나 리눅스에서 여전히 사용하는 용어입니다. DOS에서도 사용하던 용어이기도 하죠.
디렉터리는 파일 시스템에서 파일과 디렉터리를 담는 용기(container)같은 역할을 하는 물리적, 구조적 요소입니다. 파일이 데이터를 담는 용기라면, 디렉터리는 이러한 파일이나 디렉터리를 담는 용기지요.
폴더 (Folder)
폴더는 GUI가 등장하면서 널리 사용되기 시작한 용어로, 디렉터리를 시각적으로 표현한 요소입니다. 디렉터리가 물리적인 요소라면 폴더는 디렉터리에 대한 추상적인 표현 요소이지요.
대개는 디렉터리와 폴더는 일 대 일로 짝지어져 있어서 두 용어를 동일한 의미로 사용해도 무방합니다. 하지만, 경우에 따라서 폴더는 디렉터리와 짝지어지지 않기도 해요. 예를 들어, 맥OS에는 스마트 폴더(Smart Folder)라는 기능이 있는데, 파일과 디렉터리에 대한 검색 조건을 폴더에 설정하면, 조건에 해당하는 파일과 디렉터리를 동적으로 담는 논리적인 기능이죠. 여기서 논리적이라는 표현은 물리적이라는 표현의 대응하는 개념으로 사용했습니다.
예를 들어, /Users/puddingcamp/Workspace 경로에서 파일명이 .py로 끝나는, 즉 파일 확장자가 .py이며, 파일 용량이 10 KB 를 초과하는 파일만 담아놓는 스마트 폴더를 만들 수 있지요. Workspace 하위 경로 중 이 조건을 만족하는 파일이 새로 생기면, 이 스마트 폴더에도 나타납니다. 실제 파일을 물리적으로 복사한 물리적인 폴더가 아니거든요.
명령 줄 Shell에서 디렉터리 용어 사용하는 이유
Shell에서는 파일과 디렉터리를 담는 용기를 지칭하는 용어로 디렉터리를 사용합니다. 폴더는 디렉터리에 대해 추상화한 개념이자 요소이기도 하고, 폴더가 물리적인 요소로 다뤄지는 경우엔 파일로 폴더에 대한 데이터를 담고 있고, 이를 GUI에서 디렉터리처럼 표현하거든요. 즉 엄밀하게 말해서 명령 줄 Shell, 즉 CUI에서는 디렉터리와 폴더는 서로 다른 요소이며, CUI에서는 폴더가 아니라 디렉터리를 다루는 것입니다.
푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.
목차