Linux Default Directory Structure (기본 디렉터리 구조)

디렉터리 구조 표

디렉터리용도이름(어원/줄임말)
/파일 시스템 최상위 디렉터리, 모든 경로의 출발점
/bin기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일binary
/boot부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함boot
/dev장치 파일 저장 (디스크, 터미널, 가상 장치 등)device
/etc시스템 설정 파일(전역 설정)et cetera (원래 의미) / Editable Text Configuration (재해석)
/home일반 사용자 홈 디렉터리home directory
/lib, /lib64실행 파일이 필요로 하는 공유 라이브러리library
/mediaUSB, CD-ROM 등 이동식 미디어 자동 마운트 지점media (removable media)
/mnt관리자가 수동으로 마운트할 때 사용하는 임시 디렉터리mount
/opt선택적 소프트웨어 설치 경로optional
/proc가상 파일 시스템. 커널과 프로세스 상태 정보 제공process
/rootroot(관리자) 계정의 홈 디렉터리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나 위치를 잃은 파일을 이곳에 모아 복구 작업에 사용합니다.

“Linux Default Directory Structure (기본 디렉터리 구조)”에 대한 1개의 생각

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤