본문 바로가기
아이티 공부/리눅스

Linux 디렉토리 구조

by Klero 2015. 5. 16.

Linux 디렉토리 구조



1. / (root) 디렉토리 : 가장 중요한 디렉토리

2. / 디렉토리의 하위 디렉토리
* 각 디렉토리의 역할
bin : 일반 사용자들을 위한 명령어들이 있다.
boot : 부트로더와 부팅을 위한 파일들이 있다.
dev : 장치 파일들이 있다.
etc : 시스템 혹은 프로그램들의 환경 설정 파일들이 있다.
home : 사용자들의 홈 디렉토리
lib : 공유 라이브러리와 커널 모듈이 있다.
media : 이동식 디스크가 마운트 되는 곳이다.
mnt : 파일 시스템이 임시로 마운트 되는 곳이다.
opt : 응용 프로그램이 설치되는 곳이다.
proc : 실행중인 프로세스의 정보와 CPU, 메모리 등의 시스템 정보가 가상의 파일로 저장되어 있다.
sbin : 시스템 관리 명령어들이 있다.
srv : 시스템이 제공하는 서비스를 위한 파일들이 있다.
tmp : 임시 파일들이 저장되는 곳이다.
usr : 응용 프로그램이 설치되는 곳이다.
var : 시스템 운영중 자주 변경되는 파일들이 있다.
lost+found : 부팅시 파일 시스템에 문제가 생길 경우 fsck 명령어로 복구할 때 사용된다.

- bin : /bin 디렉토리는 시스템 관리자가 혹은 일반 사용자가 실행할 수 있는 수많은 명령어들이 들어 있다.
 cat : 파일의 내용을 출력
 chmod : 파일의 퍼미션(권한) 변경
 date : 현재 시간을 출력
 env : 현재 환경설정내역 출력
 ls : 파일 목록 출력
 mkdir : 디렉토리 생성
 rm : 파일 삭제
 touch : 빈 파일을 생성
 vi : 텍스트 편집기

- boot : 이 디렉토리는 파일들이 손상되거나 삭제되면 부팅이 되지 않으므로 특별한 목적이 없다면 건드리지 않는 것이 좋다.


- dev : /dev 디렉토리에는 시스템 디바이스 파일들이 있다. 이곳에는 시스템에 있는 모든 장치가 파일로 표현되어 있다. 

udev라는 데몬이 이곳의 디바이스들을 관리한다. 실제 /dev에는 많은 장치들이 파일로 표현되어 있다.


 /dev/had : Master IDE 하드디스크
 /dev/hdb : Slave IDE 하드디스크
 /dev/sda : 첫 번째 SCSI 혹은 S-SATA 하드디스크
 /dev/cdrom : cdrom 드라이브
 /dev/tty0 : 첫번째 가상 콘솔


- etc : /etc 디렉토리는 시스템 혹은 각종 프로그램들의 환경설정 파일들이 들어있다.
시스템을 관리하다 보면 이곳에 위치한 파일들을 수정하는 일이 많이 발생한다. 

간혹 백업을 해두지 않은 상태에서 환경설정 파일을 수정한 후 시스템이 망가져 버리는 경우가 발생하므로 

이곳에 위치한 파일을 수정하기 전에 반드시 백업을 해두는 것이 좋다.


 /etc/fstab : 파일 시스템 관리
 /etc/group : 유저 그룹 관리
 /etc/inittab : init 관리
 /etc/passwd : 유저 관리
 /etc/services : 포트 정보 관리
 /etc/issue : 로그인 메시지 관리
 /etc/sysconfig/i18n : 시스템 언어 설정
 /etc/sysconfig/iptables : 방화벽 설정
 /etc/sysconfig/network-scripts/ifcfg-eth0 : 네트워크 카드 설정

- home : /home 디렉토리에는 유저들의 홈 디렉토리가 하위 디렉토리 형식으로 위치한다. 아이디가 testid라는 사용자를 

생성하면 홈 디렉토리는 /home/testid가 된다.


- lib : /lib 디렉토리에는 시스템이 있는 프로그램들이 실행할 때 필요한 공유 라이브러리들이 들어있다.
 특별한 목적이 없다면 파일들을 변경하거나 삭제하지 않는 것이 좋다.

- media : /media 디렉토리에는 플로피 디스크, CDROM, DVD 등과 같은 이동식 디스크들이 마운트되는 곳이다.  

이동식 디스크 삽입시 자동으로 마운트 해주는 Automount가 실행되어 있으면 이동식 디스크가 삽인되면 자동으로 검색하여 

/media/미디어이름 형식으로 마운트 된다.

- mnt : /mnt 디렉토리에는 NFS와 같은 파일 시스템이 임시로 마운트 되는 곳이다. CD나 USB 같은 이동식 디스크등은

 /media 디렉토리를 이용하는 것이 좋다.


- opt : 애드온 소프트웨어를 설치할 수 있도록 만들어진 디렉토리이다.

- proc : /proc 디렉토리에는 실행중인 프로세스의 정보와 CPU, 메모리등의 시스템 정보가 가상의 파일로 저장되어 있다.

대부분 읽기 전용이나, 일부 파일 중에는 쓰기가 가능한 파일이 있는데 이런 파일을 이용하여 커널의 기능을 변경할 수 있다.
  /proc/cpuinfo : cpu의 정보
  /proc/devices : 현재 커널에 설정되어 있는 장치의 목록
  /proc/dma : 현재 사용중인 DMA 채널
  /proc/filesystems : 현재 커널에 설정되어 있는 파일 시스템 목록
  /proc/interrupts : 현재 사용중인 인터럽트에 대한 정보
  /proc/ioports : 현재 사용중인 I/O 포트 정보
  /proc/kmesg : 커널이 출력하는 메시지
  /proc/kallsyms : 커널이 사용하는 심벌표
  /proc/loadavg : 시스템의 평균 부하량
  /proc/meminfo : 메모리 정보
  /proc/modules : 현재 사용되고 있는 커널 모듈 목록
  /proc/stat : 시스템 상태
  /proc/uptime : 시스템이 켜져있는 시간
  /proc/version : 현재 커널의 버전
  /proc/net/ : 네트워크 관련 정보를 볼 수 있는 파일들이 있는 디렉토리

- root : /root는 root 계정의 홈 디렉토리이다.

- sbin : /sbin 디렉토리에는 시스템 관리자용 명령어들이 있다. 이 곳의 명령어들을 이용하여 시스템의 수정, 복구등  

많은 작업을 할 수 있다. 그러므로 일반 사용자가 이곳의 명령어를 쓰지 못하게 보안에 각별히 신경써야 한다. 

간혹 악의적인 목적으로 비정상적인 방법으로 root의 권한을 획득하여 이곳의 명령어들을 이용해 시스템을 손상시키는 

경우도 있다.


  ifconfig : 네트워크 설정/확인
  reboot : 시스템 재부팅
  shutdown : 시스템 종료
  mount : 장치 마운트
  fsck : 디스크 점검
  mkfs : 디스크 포멧
  iptables : 방화벽 설정

- srv : /srv 디렉토리는 서비스 디렉토리로 주로 ftp,http,cvs 등의 데이터가 있다.


- sys : /sys 디렉토리에는 시스템이 필요로 하는 파일들이 있다. 특별한 경우가 아니면 수정/삭제 하지 않는 것이 좋다.

- tmp : /tmp 디렉토리에는 임시로 파일을 만들고 삭제하는 공간이다.

- usr : /usr 디렉토리에는 일반 사용자들을 위한 대부분의 프로그램들이 위치한다.
 /usr/bin : 응용 프로그램의 실행 파일들이 있다.
 /usr/include : C 언어의 헤더파일이 있다.
 /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 파일들을 위한 라이브러리들이 있다.
 /usr/local : 대부분의 일반적으로 프로그램은 이곳에 설치한다.(APM)
 /usr/share/man : 매뉴얼 페이지를 저장하고 있는 곳이다.
 /usr/sbin : 시스템 관리를 위한 명령어들이 있다.
 /usr/src : 대부분의 RPM, 소스 파일들을 이곳에 저장하여 사용한다.
 /usr/X11R6 : X-window 시스템에 관련된 파일이 있다.


- var : /var 디렉토리에는 log 파일 등 수시로 업데이트되는 파일들이 위치한다. 또한 시스템 운영에 중요한 파일들도 

위치 하기 때문에 수정 또는 삭제시 주의해야 한다. 
 /var/log 에는 각종 log파일이 저장된다. log 파일의 경우 시간이 지날수록 파일의 용량이 증가하므로 주기적인 관리가 필요하다. 

만약 로그 파일의 크기가 커진다면 시스템이 느려질 수 있고, 디스크 용량이 남아있지 않다면 시스템 부팅이 되지 않는 경우도 

발생한다.

- lost+found : /lost+found 디렉토리에는 부팅시 파일 시스템에 문제가 생길 경우 fsck 명령어로 복구할 때 사용되는 디렉토리이다. 이 디렉토리는 파티션 마다 하나씩 존재하며, 삭제하지 않는 것이 좋다.



댓글