Linux의 기본적인 file directory structure을 정리한 문서이다.
Linux는 다양한 배포판이 존재하는 만큼 이 문서에서 정리한 정의대로 디렉토리를 사용하지 않을 수도 있다.
시스템을 부팅할 때 메모리에 로드해야 하는 커널 이미지 등 시스템 부팅과 관련된 파일들이 담겨있다.
Binary의 약자
시스템의 기본적인 동작과 관련된 기능을 하는 실행 파일들을 담고있다.
System Binary의 약자
/bin에 존재하는 실행파일들보다 좀 더 기본적이고 시스템 코어에 가까운 기능을 하는 실행 파일들을 담고있다.
그렇기 때문에 root 권한으로 실행할 수 있는 파일들만 존재한다.
Device의 약자
HDD, SSD, USB, 키보드, 마우스 등 Linux에 연결되어있는 다양한 하드웨어에 대한 드라이버 파일을 담고있다.
Et cetera(기타 등등)의 약자
Linux의 설정 파일들을 담고 있다.
리눅스를 사용하는 각 계정의 홈 디렉토리를 담고 있다.
Library의 약자
공유 라이브러리 파일들을 담고 있다.
root 사용자의 홈 디렉토리이다.
예외적으로 root 사용자의 홈 디렉토리는 /home에 존재하지 않고 따로 존재한다.
Temporary의 약자.
Linux를 사용하는 도중 만들어지는 임시파일들을 담고 있다.
Linux directory 중 유일하게 누구나 /tmp를 사용할 수 있다. 그렇기 때문에 해킹 취약점이 된다.
/usr의 약자에 대해서는 여러가지 썰이 존재한다. User, Unix System Resource, User System Resource, Univalsal System Resource 등 /usr가 무엇의 약자인지에 대해서는 다양한 추측이 있다.
Multi User System인 Linux에서 다양한 유저들이 함께 사용하는 유저 어플리케이션이 존재한다.
/에 /bin, /sbin이 존재하는 것처럼 /usr에도 /usr/bin, /usr/sbin이 존재한다. 이 둘의 차이점은 시스템 부팅 과정에서의 활용 유무이다. /boot에 있는 커널 이미지가 메모리에 로드되면 /bin, /sbin을 마운팅한다. 이후 /usr는 다른 볼륨이나 네트워크 디스크에 존재해서 /bin, /sbin을 사용해서 따로 마운팅이 필요할 수도 있다. 따라서 /bin, /sbin이 따로 존재한다.
Variable(변수)의 약자.
/etc에 저장할 설정 파일은 아니지만 /tmp에 저장할 만큼 중요하지 않고 없어져도 되는 임시파일은 아니고 프로그램 사용 중에 지속적으로 저장해놔야 하는 데이터들을 담는 디렉토리이다. 주로 log를 저장하고 있다.
process의 약자.
process나 디바이스의 메타데이터를 저장하고 있다. 실제 저장장치에 존재하지 않고 메모리에만 존재하는 데이터이지만 VFS를 통해 루트 디렉토리 아래의 파일인것처럼 보이는 것이다.