3. 리눅스 기본 디렉토리 구조
파일 시스템 계층 구조 설명
- 리눅스 파일 시스템은 루트(
/
)를 기준으로 한 계층적 트리 구조이다. - 디렉터리는 하위 디렉터리로 나뉘며, 각 디렉터리에 파일이 저장된다.
- 자신을 포함하는 디렉터리를 부모 디렉터리라고 하며,
/
디렉터리는 유일하게 부모가 없다.
작업 디렉터리
- 사용자가 로그인 후 셸에서 작업할 때 위치한 디렉터리를 작업 디렉터리(현재 디렉터리)라고 한다.
- 작업 디렉터리는 명령 실행의 기준 위치가 된다.
홈 디렉터리
- 사용자에게 기본적으로 할당된 디렉터리이며, 주로
~
로 표시된다. - 사용자의 개인 파일과 설정 파일이 저장된다.
절대 경로와 상대 경로
절대 경로 (Absolute Path)
- 루트 디렉터리(
/
)부터 시작하여 파일이나 디렉터리까지의 전체 경로를 지정 - 항상
/
로 시작하며, 어느 위치에서나 동일한 대상에 접근 가능 - 예:
/home/localhost/test.txt
상대 경로 (Relative Path)
- 현재 작업 디렉터리를 기준으로 상대적인 위치를 지정하는 방식
/
로 시작하지 않음- 위치에 따라 달라지며,
.
(현재),..
(상위) 등을 활용할 수 있음 - 예:
../localhost/test.txt
주요 디렉터리와 그 역할
디렉터리 | 설명 |
---|---|
/ | 모든 파일과 디렉터리의 최상위 루트 |
/bin | 필수 명령어 저장 (ls , cp , mv , rm ) |
/boot | 부팅 관련 파일 및 커널 |
/dev | 장치 파일 (예: /dev/sda ) |
/etc | 시스템 설정 파일 |
/home | 사용자별 홈 디렉터리 |
/lib | 기본 명령어 실행에 필요한 라이브러리 |
/media | CD-ROM, USB 등 외부 장치 마운트 |
/mnt | 임시 마운트 디렉터리 |
/opt | 추가 응용 프로그램 설치 디렉터리 |
/proc | 가상 파일 시스템 (커널/프로세스 정보) |
/root | 루트 사용자 전용 홈 디렉터리 |
/run | 시스템 부팅 후 런타임 정보 |
/sbin | 시스템 관리 명령어 (ifconfig , reboot ) |
/srv | 서비스 데이터 디렉터리 (/srv/www ) |
/sys | 시스템 및 커널 장치 정보 |
/tmp | 임시 파일 저장소 (재부팅 시 초기화) |
/usr | 사용자 명령어/유틸리티 및 라이브러리 |
/var | 로그, 메일, 큐 데이터 등 가변 데이터 |
디렉터리 구조 예시 (텍스트 트리)
/
├── bin/
├── boot/
├── dev/
├── etc/
├── home/
│ └── username/
├── lib/
├── media/
├── proc/
├── root/
├── sbin/
├── tmp/
├── usr/
│ ├── bin/
│ ├── sbin/
│ └── lib/
└── var/
요약
- 리눅스 파일 시스템은 계층적 구조를 가지고 있으며 루트를 기준으로 디렉터리가 분기된다.
- 경로는 절대 경로와 상대 경로 두 가지 방식으로 지정할 수 있다.
- 각 디렉터리는 고유의 역할과 용도를 가지고 있으며, 파일과 설정을 체계적으로 분류한다.