2010. 4. 8. 14:19

리눅스 디렉토리 구조

□ / (root)

- 마운트 되는 리눅스 파일 시스템이 있는 최상위 디렉토리
- 시스템의 근간을 이루는 가장 중요한 디렉토리
- 파티션 설정 시 반드시 존재하여야 함
- 절대경로의 기준이 되는 디렉토리
    ※ 절대경로 - / 디렉토리 기준   예) /usr/local
       상대경로 - 현재 작업 디렉토리 기준 예) ./local

□ /bin
- 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리
- 시스템을 운영하는데 기본적인 명령어들이 들어 있음.

□ /sbin
- 시스템 관리에 관련된 실행 명령어들이 들어있는 디렉토리
- 시스템 점검 및 복구 명령, 시스템 초기 및 종료 명령 등 시스템 관리에 관련된 실행파일들 존재

□ /lib
- 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
- /lib/modules : 커널 모듈 파일들 존재.
- 대부분의 라이브러리들은 링크로 연결되어 있음.

□ /proc (윈도우즈의 `장치 관리자`에 해당)
- 시스템에 대한 정보를 제공하는 가상 파일 시스템.
- 커널의 어떤 기능을 제어할 수 있는 역할을 가지고 있음.
- 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능한 파일이 존재하는데 이러한 파일들에 특정

  값을 지정하면 커널 기능이 변하게 됨.
- 이 디렉토리 내에 있는 파일을 cat 명령을 이용하여 보면 시스템 정보를  확인 할 수 있음.
   예) 인터럽트 정보 확인 ---> #cat /proc/interrupts
 
       #cat cpuinfo, #cat meminfo

□ /etc (제어판 역할)
- 시스템 환경 설정 파일이 있는 디렉토리
- 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보,
   보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리

- 사용자 관리 : passwd, shadow, inittab

  예) #cat passwd
- /etc/CORBA : Common Object Request Broker Architecture (COBRA)에 관한 파일들이 들어있음.
- /etc/X11 : 엑스 윈도우 설정에 관련된 파일들이 있음.
- /etc/cron.d : crontab 명령의 설정파일이 있음.
- /etc/cron.daily : 매일 작동하게 하는 crontab 스크립트 파일이 존재.
- /etc/gnome : GTK+ 정의파일들이 있음.
- /etc/httpd : 아파치 웹 서버의 설정 및 로그파일이 있음.
- /etc/logrotate.d : logrotate 설정 파일들이 있음.
- /etc/mail : 센드메일과 관련된 파일이 있음.
- /etc/ppp : ppp 설정에 관련된 파일들이 있음.
- /etc/profile.d : 쉘 로그인하여 프로파일의 실행되는 스크립트에 대한 정의가 있음.
- /etc/rc.d : 시스템 초기화와 관련된 스크립트가 존재.
- /etc/samba : 삼바에 관련된 파일들이 있음.
- /etc/security : 터미널 보안에 관련된 설정이 있음.
- /etc/skel : 새로운 사용자를 추가할 때 자동적으로 생성되는 디렉토리와 파일이 있음.
- /etc/squid : squid 프록시 서버에 관련된 파일이 있음.
- /etc/ssh : secure shell 설정 파일이 있음
- /etc/sysconfig : 시스템과 네트워크 설정을 담고 있음.
- /etc/sysconfig/network-scripts/ifcfg-eth0 : 네트워크 설정 변경.
- /etc/xinetd.d : 슈퍼데몬 xinetd.d의 서비스 영역을 설정하는 디렉토리.

□ /var
- 가변 자료 저장 디렉토리
- 시스템 운영중에 시스템 자료 데이터가 변경될 때 변경된 자료들이 저장되는 곳.
- 주로 시스템 작동기록(log)들을 저장.
- /var/log : 시스템에 발생된 일들에 대한 기록 파일이 있음
- cat dmesg : 부팅 과정을 기록한 log.
- /var/named : 네임서버 설정 파일들 존재
- /var/spool/mail : 수신 메일을 사용자 명으로 기록하는 디렉토리

□ /usr
- 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
- /usr/bin : 응용 프로그램의 실행 파일이 위치
- /usr/sbin : 주로 네트워크 관련 실행 명령어와 실행 데몬들을 많이 포함하고 있음.
- /usr/X11R6 : X-window 시스템에 관련된 파일 존재.
- /usr/include : 기본 C 라이브러리 헤더 파일과 각종 라이브러리 헤더파일들이 있음.
- /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위한 라이브러리 존재.
- /usr/src : 기본적으로 응용 프로그램 소스 및 커널 소스들이 보관되어 있는 곳.
- /usr/man : 매뉴얼 페이지가 담겨있는곳.
- /usr/local : 새로운 프로그램들을 설치하는 곳 (windows의 Program Files 와 유사)

□ /mnt
- 다른 장치들을 마운트 할때 일반적으로 사용하는 디렉토리
- 다른 디렉토리를 사용하여도 됨.

□ /home
- 일반 사용자의 홈 디렉토리가 만들어 지는 디렉토리
- 사용자 계정을 만들면 게정과 같은 이름으로 새로운 사용자 디렉토리가
   /home 디렉토리의 하위 디렉토리로 생성됨.

□ /boot
- 부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고 있는 디렉토리
- /etc/lilo.conf에서 지정한 커널 부팅 이미지 파일이 들어 있으며 부팅시 매우 중요한 디렉토리

□ /root
- 슈퍼유저(root) 사용자의 홈 디렉토리.
- / 와 /root 디렉토리는 부르는 이름은 같지만 서로 다름.