리눅스 주요 디렉토리의 이름과 의미 정리 (계속 업데이트 예정)
이 글은 리눅스를 처음 시작하는 경우 다른 OS의 디렉토리 구성과의 큰 차이로 인한 불편함을 줄이기 위한 큰 지도이다.
1. Home 디렉토리
크게 2가지 Home 디렉토리가 있다. 이는 사용자에 따라 구분되는데,
- 일반 사용자:
/home/{USER_NAME}
- 루트 사용자:
/root
형태로 사용한다.
2. 시스템 디렉토리
시스템 디렉토리란 사용자 디렉토리를 제외한 (거의) 모든 디렉토리를 말한다. 윈도우에서 Program Files
폴더가 시스템 디렉토리에 포함된다고 생각하면 이 정의에 동의할 수 있을 것이고, Windows
, AppData
등의 폴더만 시스템 디렉토리라고 생각한다면 이 정의에 동의하긴 어려울 듯 하다.
일반적인 경로 구성
(ex) /usr/local/share/emacs
/usr/local
: 스코프/share
: 카테고리/emacs
: 응용 프로그램
경로 구성 요소 - 스코프
스코프는 가장 상위 디렉토리로서 하위 디렉토리인 카테고리나 응용 프로그램이 실행되는 범위를 나타낸다. 다만 구분에 사용되는 명확한 기준은 없고 단지 /
가 /usr
보다 좀 더 운영 체제에 가까운 근본적인 수준이라는 느낌이라고 한다(출처: 리눅스 핵심 레퍼런스).
스코프의 종류:
/
: 리눅스 시스템 파일/usr
: 또 다른 리눅스 시스템 파일/usr/local
: 개인 컴퓨터에서 지역적으로 생성되는 시스템 파일(ex)
/usr/local/bin
: 기본 프로그램이 아닌 경우 주로 여기에 설치된다.
경로 구성 요소 - 카테고리
카테고리는 하위 디렉토리인 응용 프로그램의 목적을 나타낸다.
실행 파일:
bin
: 바이너리sbin
: 바이너리 (root 사용자 용이어서 root 권한이 필요하다.)lib
: 바이너리에서 사용되는 라이브러리- Ubuntu 20.04의 경우
/
스코프의bin, sbin, lib
이/usr
스코프로의 심볼릭 링크로 돼 있음 (어떤 배포판들이 또 이렇게 돼있는지는 확인 x)
설정 파일:
etc
: 시스템 설정 파일init.d
,rc.d
: 부팅 설정 파일
문서:
doc
,info
,man
,share
HW 관련:
dev
: Linux에서는 장치를 파일로 표현한다.media
,mnt
: Disk 마운트 지점- 리눅스는 디렉토리 트리가 하나여야 하므로 mount를 통해 트리를 병합해야 함
- [ 리눅스 마스터 ] 리눅스 디스크관리 - 마운트 (+실습, 명령어정리 )
Runtime:
var
: 클라이언트마다 다른 파일을 저장run
: 실행 중인 프로세스의 ID를 담고 있는 PID 파일
운영체제 관련:
boot
(/boot/vmlinuz
): 커널, 부팅 관련 파일lost+found
: 손상된 파일 등 추후 복구를 위한 임시 저장 경로proc
: 현재 실행 중인 프로세스 정보. 저용량이며 실시간으로 반영한다.cat /proc/ioports
: I/O HW 목록 표시cat /proc/cpuinfo
: 프로세서 정보. 코어 단위로 상세 정보를 출력cat /proc/version
: OS 버전 정보 표시 (ex:Linux version 4.19.128-microsoft-standard
)cat /proc/uptime
: ms 단위로 uptime 출력. (uptime
명령어가 더 낫다)ll /proc/{PID}
: PID에 대응되는 프로세스의 정보. (많은데 잘 모르겠다)ll /proc/self
: 현재 실행중인 프로세스로의 심볼릭 링크 (ex) 1261
이 글은 꾸준히 계속 업데이트될 예정입니다!
리눅스 주요 디렉토리의 이름과 의미 정리 (계속 업데이트 예정)