/ : 시스템의 시작이다.
/boot : 커널과 부트러더 파일이 있다. 커널파일은 vmlinuz라고 불린다.
/etc : 시스템을 위한 환경설정 파일이 들어있다. 무조건 텍스트 파일이 있어야 한다.
→ /etc/passwd : 각 유저의 필수적인 정보를 포함하고 있다. 이곳에서 사용자의 계정들이 정의되어 있다.
→ /etc/fstab : 시스템이 부팅될때 마운팅되는 디바이스들의 테이블이 들어 있다.
→ /etc/hosts : 호스트 이름들과 시스템에가 알려진 IP주소들이 있다.
→ /etc/init.d : 부팅될때 다양한 시스템서비스들을 시작시키는 스크립트가 들어 있다.
/bin, /usr/bin : 시스템을 위한 대부분의 프로그램이 들어 있다.
→ /bin : 시스템이 작동하기 위해 꼭 필요한 프로그램들이 있다.
→ /usr/bin : 시스템 유저를 위한 어플리케이션이 포함되어있다.
/sbin, /usr/sbin : 시스템 관리자와 대부분 슈퍼유저를 위한 프로그램이 들어있다.
/usr : 사용자의 어플리케이션을 지원하기위해 다양한 것들이 들어있다.
→ /usr/share/X11 : X window 시스템을 위한 지원파일
→ /usr/share/dict : 맞춤법 검사를 위한 사전. 리눅스는 맞춤법검사기와 함께 설치된다.
→ /usr/share/doc : 다양한 포맷의 다양한 문서 파일
→ /usr/share/man : 메뉴얼 페이지가 있다.
/usr/local : 소프트웨어 설치나 로컬장치 사용을 위한 다른 파일들을 위해 이용된다. 이말이 의미하는 것은 리눅스 설치시 제공되는 소프트웨어는 /usr/local에 있지 않다는 것이다. 리눅스 설치시 제공되는 소프트웨어들은 /usr/bin에 설치된다.
만약 시스템에 흥미있는 프로그램을 설치한다면, 해당 프로그램들은 /usr/local 디렉토리에 설치되어야한다. 대부분 디렉토리는 /usr/local/bin으로 선택된다.
/var : 시스템이 동작할때 변하는 파일들이 저장되어 있다.
→/var/log : 로그파일이 저장되어 있다. 로그파일은 시스템이 동작할 때 갱신된다. 로그파일을 보는 것은 시스템을 모니터링할때 좋은 방법이다.
→/var/spool : 프린터나 메일같이 몇몇 프로세스들을 위해 큐형식으로 쌓여야하는 파일이 저장되어 있는 곳이다.
/lib : 공유되는 라이브러리가 저장되는 곳이다.
/home : 일반 사용자가 사적으로 쓰고 지우고를 할 수 있는 개인 공간이다.
/root : 슈퍼유저의 홈 디렉토리이다.
/tmp : 프로그램들이 임시파일을 저장하는 곳으로 사용한다.
/proc : 커널이 메모리상으로 만들어 놓았기 때문에 실제로 존재하지않는다. /proc은 여러가지 정보를 제공한다.
원래는 프로세스에 대한 정보를 주로 제공하였기때문에 proc = process에 대한 이름을 가지게 되었다.
https://www.joinc.co.kr/w/Site/system_programing/proc/ProcFsPrograming
/media : 마운트 포인트들로 사용된다. 다양한 물리장치들은 다양한 장소에 attached된다. 장치들이 attaching되는 것을 mounting이라고 부른다. 장치가 사용가능하다면 가장 먼저해야할 것은 마운팅되게 하는거다.
먼저 알아야할 것은 시스템이 부팅될때 /etc/fstab 파일에서 마운팅 명령을 읽는다, 해당 행위는 디렉토리 트리에 있는 어떤 마운트 포인트에 어떤 장치가 마운트되는지 알려준다. 이러한 행위는 항상 연결되어 있는 하드디스크를 책임져주지만, 우리는 일시적으로 연결되는 장치(CD,USB)도 고려해 봐야한다.
일시적으로 연결되는 장치들은 제거가 되기때문에 항상 연결되어 있지 않다. /media 디렉토리는 현대적인 리눅스 시스템에서 자동 장치 마운팅 메카니즘으로 사용된다. 즉 usb,cd와 같이 제거 가능한 장치들을 위해 사용되는 디렉토리이다.