티스토리 뷰

리눅스 디렉터리 구조 (FHS 기준)

리눅스의 디렉터리 구조는 FHS(Filesystem Hierarchy Standard)라는 표준을 따릅니다. 주요 디렉터리의 이름, 풀네임, 역할을 정리했습니다.

1. 기본 디렉터리

디렉터리 풀네임 역할
/ Root 최상위 루트 디렉터리. 모든 디렉터리의 시작점
/bin Binaries 일반 사용자·관리자가 공통으로 쓰는 필수 명령어 실행 파일 (ls, cp, cat 등). 부팅·복구에 꼭 필요한 핵심 명령어
/sbin System Binaries /bin과 비슷하나 관리자(root) 전용 명령어. shutdown, reboot, fdisk, iptables 등 시스템 관리용
/dev Devices 디바이스(하드웨어) 파일. 디스크·키보드 같은 장치를 파일처럼 다루는 특수 파일 (/dev/sda, /dev/null 등)
/etc Et cetera (설정 모음) 시스템 전역 설정 파일. OS 자체 설정과 설치된 애플리케이션 설정이 모두 텍스트 파일로 위치
/root Root user home root 관리자 계정의 홈 디렉터리. /(루트)와 헷갈리지 말 것
/home Home 일반 사용자별 홈 디렉터리. 사용자 이름이 폴더명이 됨. 개인 파일·설정 저장
/tmp Temporary 임시 파일. 재부팅 시 또는 주기적으로 자동 삭제될 수 있으므로 영구 보관 금지
/usr Unix System Resources 설치된 프로그램의 실행 파일·문서·라이브러리. 내부에 bin, sbin, lib 등이 또 있어 구조가 재귀적으로 반복됨
/var Variable 실행 중 계속 변하는 데이터(로그, 메일, DB, 캐시 등). 용량이 빠르게 늘어 디스크가 차기 쉬우므로 관리 주의
/boot Boot 부팅에 필요한 파일. 커널(vmlinuz), initramfs, 부트로더(GRUB) 설정
/lib, /lib64 Libraries /bin·/sbin 명령어가 쓰는 공유 라이브러리(.so). 윈도우의 DLL과 비슷
/opt Optional 패키지 매니저를 안 거치고 설치하는 서드파티/상용 소프트웨어
/proc Process 가상 파일시스템. 실행 중인 프로세스·커널 정보를 파일로 보여줌 (실제 디스크엔 없음)
/sys System (sysfs) 가상 파일시스템. 커널이 인식한 하드웨어·드라이버 정보를 노출
/run Runtime 부팅 이후 생기는 런타임 데이터(PID·소켓 등). 메모리 기반, 재부팅 시 사라짐
/mnt Mount 임시로 파일시스템을 마운트하는 자리 (수동 마운트용)
/media Media USB·CD 같은 이동식 저장장치가 자동 마운트되는 곳
/srv Service 서버가 외부에 제공하는 데이터 (웹·FTP 서비스 데이터 등)

2. 헷갈리기 쉬운 포인트

  • bin vs sbin : 둘 다 실행 파일이지만, s(system/super)가 붙으면 관리자 전용
  • /usr 안에 또 bin·sbin·lib가 있는 이유 : 루트(/) 아래엔 부팅·복구용 최소한만 두고, 일반 프로그램은 /usr에 두는 분리 설계
  • / ≠ /root : /는 루트 디렉터리, /root는 root 계정의 홈 디렉터리
  • /proc, /sys : 디스크에 실재하지 않는 가상 파일시스템 (커널 상태를 파일처럼 들여다보는 창구)
최근 배포판들은 /bin → /usr/bin, /sbin → /usr/sbin, /lib → /usr/lib
심볼릭 링크 통합("usr merge")되어 있는 경우가 많습니다.
즉 /bin을 열면 실제로는 /usr/bin을 가리킵니다.

반응형