디렉터리 구조 표
디렉터리 | 용도 | 이름(어원/줄임말) |
---|---|---|
/ | 파일 시스템 최상위 디렉터리, 모든 경로의 출발점 | – |
/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
. 싱글 유저 모드에서도 실행 가능하도록 필수 명령어를 제공합니다.
/boot
부팅 관련 파일이 저장됩니다. 커널 이미지(vmlinuz
), 초기 램디스크(initrd
/initramfs
), 부트로더 설정(grub.cfg
) 등이 포함되어 있으며, 부트로더는 이 파일들을 사용해 커널을 메모리에 올립니다.
/dev
시스템의 장치 파일을 모아두는 디렉터리입니다. 하드디스크, 터미널, 프린터, 가상 장치 등이 모두 파일로 표현됩니다. 예: /dev/sda
는 첫 번째 디스크, /dev/null
은 데이터를 버리는 장치입니다.
/etc
시스템의 전역 설정 파일이 있는 디렉터리입니다. 초기에는 “et cetera”(잡다한 설정) 의미였으며, 현재는 시스템 설정을 담당합니다. 예: /etc/passwd
(사용자 계정), /etc/fstab
(파일 시스템 마운트 정보).
/home
일반 사용자들의 홈 디렉터리입니다. 각 사용자는 /home/username
디렉터리를 갖습니다. root 계정은 /root
를 사용합니다.
/lib
, /lib64
실행 파일이 필요로 하는 공유 라이브러리를 저장합니다. /bin
과 /sbin
프로그램들이 실행되기 위해 필요한 공통 함수들을 제공합니다.
/media
USB, CD-ROM 등 이동식 미디어를 자동 마운트하는 디렉터리입니다. 사용자가 장치를 연결하면 시스템이 /media
아래에 장치를 자동으로 연결합니다.
/mnt
관리자가 수동으로 장치를 마운트할 때 사용하는 임시 디렉터리입니다. 테스트용 외장 하드나 파티션 마운트 시 사용됩니다.
/opt
선택적 소프트웨어를 설치하는 디렉터리입니다. 상용 프로그램이나 독립 패키지를 /opt
아래에 설치하는 방식이 일반적입니다.
/proc
가상 파일 시스템으로, 커널과 프로세스 상태 정보를 제공합니다. /proc/cpuinfo
(CPU 정보), /proc/meminfo
(메모리 사용 현황)처럼 실제 파일은 없고 커널이 동적으로 생성합니다.
/root
root(관리자) 계정의 홈 디렉터리입니다. 일반 사용자 홈 디렉터리는 /home
에 있습니다.
/run
실행 중 생성되는 상태 파일을 저장합니다. 예: 서비스 PID 파일, 소켓 파일 등.
/sbin
시스템 관리용 실행 파일을 저장합니다. 예: fsck
, reboot
, ifconfig
. 일반 사용자는 주로 접근하지 않습니다.
/srv
시스템에서 제공하는 서비스 데이터를 담습니다. 예: 웹 서버의 웹 페이지 데이터 /srv/www
.
/sys
커널 객체 정보를 제공하는 **가상 파일 시스템(sysfs)**입니다. 하드웨어와 장치 드라이버 관련 정보를 확인하고 설정할 때 사용합니다.
/tmp
임시 파일 저장소입니다. 프로그램 실행 중 생성되는 임시 데이터를 저장하며, 시스템 재부팅 시 대부분 삭제됩니다.
/usr
사용자 프로그램과 라이브러리 저장소입니다. 원래는 “user” 디렉터리였으나, 지금은 응용 프로그램, 라이브러리, 공유 데이터를 담습니다.
/var
가변 데이터를 저장하는 디렉터리입니다. 로그(/var/log
), 메일, 캐시, 스풀, 데이터베이스 파일 등 수시로 변경되는 데이터를 저장합니다.
/lost+found
파일 시스템 손상 복구를 위해 존재합니다. fsck
실행 시 깨진 inode나 위치를 잃은 파일을 이곳에 모아 복구 작업에 사용합니다.
This article is incredibly helpful for understanding Linux directories. The clear explanations make it easy to grasp the purpose of each folder, which is great for beginners like me. I especially liked how it simplified concepts like /proc and /sys.