[ComputerScience] 디렉터리와 경로
디렉터리
파일은 개별적으로 존재하기 보다는, 수많은 파일을 체계적으로 관리하기 위해 디렉터리(Directory)라는 논리적 구조에 포함됩니다.
디렉터리는 단순한 저장소가 아니라, 운영체제가 파일을 찾고 접근할 수 있도록 돕는 핵심적인 조직 체계입니다.
트리 구조
운영체제는 일반적으로 트리 구조 디렉터리(Tree-Structured Directory)를 사용하여 계층적으로 파일을 관리합니다.
최상위 디렉터리(Root Directory)를 루트로 두고, 그 아래에 서브 디렉터리(Sub Directory)와 파일이 분기되는 형태입니다.
이런 계층 구조를 통해 사용자는 수많은 파일을 체계적으로 구분할 수 있고, 운영체제도 특정 파일을 효율적으로 탐색할 수 있습니다.
슬래시
유닉스와 리눅스 계열의 운영체제에서는 루트 디렉터리를 슬래시(/) 기호로 표현합니다.
또한, 디렉터리 구분자로도 사용되어 각 디렉터리와 파일 이름을 연결하는 역할을 수행합니다.
윈도우의 경우 경로 구분자로 백슬래시(\)와 슬래시(/)를 모두 사용합니다.
디렉터리 엔트리
디렉터리 엔트리(Directory Entry)는 디렉터리 내부에서 개별 파일이나 하위 디렉터리를 나타내기 위해 테이블 형태로 표현된 정보의 행을 의미합니다.
운영체제는 디렉터리 엔트리를 참조해 해당 파일이 실제 보조기억장치의 어느 위치에 있는지 파악하고 접근합니다.
따라서 디렉터리는 단순히 파일 목록의 나열이 아닌 파일 접근을 위한 색인(Index) 역할을 수행합니다.
디렉터리 엔트리는 다음과 같은 정보를 담고 있습니다.
- 파일 이름
- 파일이 저장된 위치(아이노드 번호 또는 파일 레코드 등)
- 생성 시간, 수정 시간, 크기 등의 부가 정보
- 일부 파일 시스템에서 정보를 담습니다.
경로
파일의 위치를 특정하기 위해서는 경로(Path) 개념이 사용됩니다.
- 절대 경로(Absolute Path)
- 루트 디렉터리(
/
)를 기준으로 파일의 위치를 나타냅니다. - 항상 고유한 위치를 가리킵니다.
- 예:
C:\Program Files\Git
- 루트 디렉터리(
- 상대 경로(Relative Path)
- 현재 작업 중인 디렉터리(CWD, Current Working Directory)를 기준으로 표현합니다.
./
: 현재 디렉터리../
: 상위 디렉터리- 예: 현재 디렉터리가
C:\Program Files
일 경우.\Git
절대 경로는 일반적으로 시스템 자원, 전역 설정 파일, OS 디렉터리 접근 시 사용됩니다.
상대 경로는 일반적으로 프로젝트 내부 리소스 접근, 테스트/개발 환경에서 임시 파일 접근에 주로 사용됩니다.
댓글남기기