Linux Default Directory Structure (기본 디렉터리 구조)
디렉터리 구조 표
| 디렉터리 | 용도 | 이름(어원/줄임말) |
|---|---|---|
/ |
파일 시스템 최상위 디렉터리, 모든 경로의 출발점 | - |
/bin |
기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일 | binary |
/boot |
부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함 | boot |
/dev |
장치 파일 저장 (디스크, 터미널, 가상 장치 등) | device |
/etc |
시스템 설정 파일(전역 설정) | et cetera (원래 의미) / Editable Text Configuration (재해석) |
/home |
일반 사용자 홈 디렉터리 | home directory |
/lib, /lib64 |
실행 파일이 필요로 하는 공유 라이브러리 | library |
/media |
USB, CD-ROM 등 이동식 미디어 자동 마운트 지점 | media (removable media) |
/mnt |
관리자가 수동으로 마운트할 때 사용하는 임시 디렉터리 | mount |
/opt |
선택적 소프트웨어 설치 경로 | optional |
/proc |
가상 파일 시스템. 커널과 프로세스 상태 정보 제공 | process |
/root |
root(관리자) 계정의 홈 디렉터리 | root / superuser |
/run |
실행 중 생성되는 상태 파일 저장 (PID, 소켓 등) | runtime |
/sbin |
시스템 관리용 실행 파일 | system binary |
/srv |
시스템 서비스 데이터 저장 | service |
/sys |
커널 객체 정보 제공 가상 파일 시스템 | system |
/tmp |
임시 파일 저장소 | temporary |
/usr |
사용자 프로그램과 라이브러리 저장소 | user / Unix System Resources |
/var |
가변 데이터 저장 (로그, 메일, 캐시 등) | variable |
/lost+found |
파일 시스템 손상 복구 시 fsck가 잃어버린 파일 조각을 모아두는 디렉터리 | lost + found |
각 디렉터리 상세 설명
/
리눅스에서 모든 파일과 디렉터리는 루트 디렉터리 /를 기준으로 계층 구조를 갖습니다. 모든 경로는 /에서 시작하며, Windows의 C:\와 비슷한 역할을 하지만, 드라이브 개념이 없고 모든 장치가 여기 아래로 마운트됩니다.
/bin
시스템 부팅과 사용자 작업에 필수적인 기본 명령어가 저장됩니다.
예: ls, cp, mv, cat. 싱글 유저 모드에서도 실행 가능하도록 필수 명령어를 제공합니다.
ls,cp,mv- 파일 작업cat,grep- 텍스트 도구bash- 쉘(Shell)
/boot
부팅 관련 파일이 저장됩니다.
커널 파일(이미)(vmlinuz), 초기 램디스크(initrd/initramfs), 부트로더 설정(grub.cfg) 등이 포함되어 있으며,
부트로더(GRUB)는 이 파일들을 사용해 커널을 메모리에 올립니다.
GNU GRUB(Grand Unified Bootloader), 커널 파일 - 운영체제의 심장
/dev
시스템의 장치 파일을 모아두는 디렉터리입니다.
하드디스크, 터미널, 프린터, 가상 장치 등이 모두 파일로 표현됩니다.
예: /dev/sda는 첫 번째 디스크, /dev/null은 데이터를 버리는 장치입니다.
/dev/sda1- 하드 드라이브 파티션/dev/null- 데이터를 삼켜버리는 유명한 "블랙홀"/dev/random- 난수 생성기
/etc
시스템의 전역 설정 파일이 있는 디렉터리입니다.
리눅스 시스템의 설정 본부입니다. 모든 설정, 규칙, 시스템 기본 설정이 이곳에 저장됩니다.
초기에는 "et cetera"(잡다한 설정) 의미였으며, 현재는 시스템 설정을 담당합니다.
예: /etc/passwd(사용자 계정), /etc/fstab(파일 시스템 마운트 정보).
- 사용자 계정 (
passwd,shadow) - 네트워크 설정 (
hosts,resolv.conf) - 서비스 설정 (SSH, Apache 등)
- 시작 스크립트 및 시스템 규칙
/home
일반 사용자들의 홈 디렉터리입니다.
각 사용자는 /home/username 디렉터리를 갖습니다.
root 계정은 /root를 사용합니다. 보안과 안정성을 위해 일반 사용자 폴더(/home)와 분리되어 있습니다.
/lib, /lib64
실행 파일이 필요로 하는 공유 라이브러리를 저장합니다.
/bin과 /sbin 프로그램들이 실행되기 위해 필요한 공통 함수들을 제공합니다.
/media
USB, CD-ROM 등 이동식 미디어를 자동 마운트하는 디렉터리입니다.
사용자가 장치를 연결하면 시스템이 /media 아래에 장치를 자동으로 연결합니다.
/mnt
관리자가 수동으로 장치를 마운트할 때 사용하는 임시 디렉터리입니다. 테스트용 외장 하드나 파티션 마운트 시 사용됩니다.
/opt
선택적 소프트웨어를 설치하는 디렉터리입니다.
표준 레이아웃을 따르지 않는 상용 프로그램이나 독립 패키지를 /opt 아래에 설치하는 방식이 일반적입니다.
/proc
가상 파일 시스템으로, 커널과 프로세스 상태 정보를 제공합니다.
/proc/cpuinfo(CPU 정보), /proc/meminfo(메모리 사용 현황)처럼 실제 파일은 없고 커널이 동적으로 생성합니다.
/proc/cpuinfo- CPU 상세 정보/proc/meminfo- 메모리 사용량/proc/[PID]/- 실행 중인 프로세스 정보
/root
root(관리자) 계정의 홈 디렉터리입니다. 일반 사용자 홈 디렉터리는 /home에 있습니다.
/run
실행 중 생성되는 상태 파일을 저장합니다.
예: 서비스 PID 파일, 소켓 파일, 현재 세션 정보 등...
/sbin
시스템 관리용 실행 파일을 저장합니다.
예: fsck, reboot, ifconfig. 일반 사용자는 주로 접근하지 않습니다.
mount- 파일시스템 마운트iptables- 방화벽 관리
/srv
시스템에서 제공하는 서비스 데이터를 담습니다. 예: 웹 서버의 웹 페이지 데이터 /srv/www.
/sys
커널 객체 정보를 제공하는 가상 파일 시스템(sysfs)입니다.
하드웨어와 장치 드라이버 관련 정보를 확인하고 설정할 때 사용합니다.
커널 및 하드웨어 정보와 상호작용하는 더 새롭고 깔끔한 방식의 디렉토리입니다.
/tmp
임시 파일 저장소입니다.
프로그램 실행 중 생성되는 임시 데이터를 저장하며, 시스템 재부팅 시 대부분 삭제됩니다.
/usr
사용자 프로그램과 라이브러리 저장소입니다.
원래는 "user" 디렉터리였으나, 지금은 응용 프로그램, 라이브러리, 공유 데이터를 담습니다.
User System Resources의 약자로, 대부분의 프로그램이 설치되는 곳입니다.
/usr/bin- 사용자 프로그램 (Firefox, LibreOffice 등)/usr/lib- 프로그램 라이브러리/usr/local- 사용자가 직접 설치한 커스텀 소프트웨어
/var
끊임없이 변하는 가변 데이터를 저장하는 디렉터리입니다.
로그(/var/log), 메일, 캐시, 스풀, 데이터베이스 파일 등 수시로 변경되는 데이터를 저장합니다.
/var/log- 시스템 로그 (문제 해결의 보물창고!)/var/cache- 애플리케이션 캐시
/lost+found
파일 시스템 손상 복구를 위해 존재합니다. fsck 실행 시 깨진 inode나 위치를 잃은 파일을 이곳에 모아 복구 작업에 사용합니다.