
/(루트) 디렉터리/bin, /sbin, /lib(/lib64), /etc, /dev, /proc와 같은 중요 디렉터리가 위치해 있다.bin 디렉터리/usr/bin에는 그 외의 일반 사용자를 위한 명령어가 있다.bin과 /usr/bin은 배포판이 관리하는 다렉터리이므로 패키지 시스템을 사용하지 않는다./usr/local/bin에 보관하는 것이 좋다.sbin 디렉터리/usr/sbin에는 평상시 사용하는 시스템 관리 명령어나 서버 프로그램이 배치된다.lib 디렉터리일반적으로 .../lib 및 .../lib64와 같은 디렉터리에는 라이브러리가 있다.
c언어, 루비, 파이썬 등의 라이브러리를 보관한다.
우분투의 경우 lib64 디렉터리를 사용하지 않고 /lib/x86_64-linux-gnu처럼 lib 디렉터리 밑에 한 단계 디렉터리를 만들어 각종 라이브러리를 배치한다.


centOS에서는 64비트 라이브러리를 lib64 디렉터리 밑에 두고 32비트 라이브러리나 아키텍처 독립적인 파일을 lib 디렉터리에 둔다.
/lib와 /usr/lib를 구분하는 규칙은 bin과 동일하며, 부팅 시에 필요한지 여부에 따라 갈린다.
/lib와 /usr/lib도 배포판이 관리하는 디렉터리이므로 패키지 시스템을 사용하지 않으며 직접 설치하는 라이브러리는 /usr/local/lib 등에 보관하는 것이 좋다.
/usr 디렉터리/usr 디렉터리/usr에 필요한 소프트웨어나 파일을 세팅하고 복수의 시스템이 원격 /usr을 마운트해서 사용하게 한다. 그러면 복수의 컴퓨터에서 동일한 프로그램이나 라이브러리를 사용할 수 있게 된다./usr에 넣는 데이터는 공유할 수 있는 것만 해둬야 한다./var에 보관한다./usr/src 디렉터리/usr/include 디렉터리/usr/include/linux에 보관한다./usr/share 디렉터리/usr/share/man 디렉터리/usr/share/man 밑에는 man1, man2, man3...이 있으며 뒤의 번호가 섹션 번호이다. 즉 섹션 1의 man 페이지는 /usr/share/man/man1에 있다.도큐먼트이름.섹션 형식의 파일로 나열되어 있다./usr/share/man/man1/cp.1이고 printf 함수의 man 페이지는 /usr/share/man/man3/printf.3이다./usr/local 디렉터리/usr처럼 /bin, /sbin, /lib, /share 등의 디렉터리가 있다./usr/local 밑에 파일을 배치해서는 안된다./var 디렉터리/var 디렉터리/var/log 디렉터리/var/spool 디렉터리/var/spool/mail이나 프린트 입력/var/spool/cups이 일시적으로 저장된다./var/run 디렉터리PID실행 중인 서버 프로세스의 프로세스 ID가 저장된다. 이러한 파일을 PID 파일이라고 한다.
서버 기동 시에 이 디렉터리에다가 PID를 기록하고 종료할 때 제거한다.
예를 들어 inetd 서버의 경우 기동 시에 /var/run/inetd.pid에 자신의 PID를 기록한다.

이를 응용해서 kill 명령어로 inetd에 HUP 옵션프로세스를 재시작 시키는 시그널을 사용해 설정 파일을 다시 읽도록 할 수 있다.
# kill -HUP `cat /var/run/intetd.pid`
/etc 디렉터리/dev 디렉터리/proc 디렉터리프로세스 파일 시스템프로세스를 파일 시스템에 표현한 것이 있다.
예를 들어 PID가 1인 프로세스의 정보는 /proc/1을 보면 된다.

cat 명령어 등을 사용하면 프로세스들의 다양한 정보를 실시간으로 얻을 수 있다.

/proc에서 ls 명령어를 실헹하면 숫자 외의 디렉터리도 있다.
이름이 숫자인 디렉터리는 프로세스에 대응되지만 그외의 파일은 프로세스와 관계가 없다.

예를 들어 /proc/scsi에는 시스템에 연결된 SCSI 디바이스의 정보가 있고 /proc/partitions에는 시스템에 존재하는 파티션의 목록이 있다.

반대로 커널에 뭔가를 지정하도록 응용할 수 있다.
예를 들어 /proc/sys/kernel/hostname 파일을 읽으면 현재 호스트의 이름을 수정할 수 있다.
프로세스 파일 시스템의 각 파일이 역할과 형식은 man 5 proc에서 확인할 수 있다.
/sys 디렉터리/sys이다./boot 디렉터리/boot에 보관한다./root 디렉터리/tmp, /var/tmp 디렉터리/tmp를 사용한다./tmp 밑에 저장하고 다음 과정을 수행한다./tmp는 리부팅하면 삭제될 수 있으나 /var/tmp는 리부팅해도 삭제되지 않는다./var/tmp에 저장된다./home/사용자명이지만 큰 조직에서는 /home1, /home2처럼 뒤에 숫자를 붙이기도 한다.디렉터리를 구분하는 기준은 다음과 같다.
| 관점 | O | X |
|---|---|---|
| 복수의 호스트에서 공유하는지 여부 | /usr | /var |
| 읽기 전용인지 여부 | /usr | /var |
| 아키텍처에 의존적인지 여부 | /usr/lib | /usr/share |
| 배포자가 관리하는지 여부 | /usr | /usr/local |
| 리부팅해도 남아 있는지 여부 | /var/tmp | /tmp |
이외의 중요한 관점으론 다음이 있다.
- 백업이 필요한지 여부불변성, 복구 필요성
- 사용자별로 필요한지, 시스템당 하나만 있으면 되는지 여부ex) 설정파일
- 권한을 나눠야 하는지 여부
- 셸에서 glob 패턴와일드카드 문자를 사용하여 다수의 파일 집합을 지정하는 방식으로 저장할 수 있으면 편리한지 여부