[리눅스] 기본 디렉토리 구조
주요 디렉토리
리눅스의 디렉토리 혹은 파일 시스템 구조는 윈도우와는 조금 다른 구조를 가지고 있습니다.
기본적으로 디렉토리를 구분하는 ‘/’(슬래시)는 리눅스에서 사용하고 윈도우는 반대인 ‘'(역슬래시)를 사용합니다.
디렉토리 또한 그 명칭을 리눅스에서는 디렉토리(directory), 윈도우에서는 폴더(folder)라고 지칭합니다.
리눅스 시스템의 디렉토리 구조는 전체적으로 역 트리(tree) 구조를 하고 있습니다.
그리고 명령어의 종류와 성격, 사용권한등에 따라 각각의 디렉토리들로 구분됩니다.
리눅스 배포판들은 ‘리눅스 파일시스템 표준’ 인 FSSTND(LINUX FILE System Standard) 라는 표준을 준수하므로 대부분의 리눅스 배포판들은 그 기본 골격이 같습니다.

/(루트)
최상의 디렉토리인 루트 디렉토리를 의미하며, 리눅스의 모든 디렉토리들의 시작점이다.
모든 디렉토리들을 절대경로로 표기할 때에 이 디렉토리로부터 시작해야 한다.
/bin
Binary의 약자로 기본적인 명령어가 저장된 디렉토리.
리눅스 시스템사용에 있어 가장 기본적이라고 할 수 있는 mv, cp, rm… 등과 같은 명령어들이 이 디렉토리에 존재하며
root 사용자와 일반사용자가 함께 사용할 수 있는 명령어 디렉토리이다.
/sbin
bin과 유사하나 ifconfig, e2fsck, ethtool, halt 등과 같이 주로 시스템 관리자 또는 루트 유저들이 사용하는 시스템관리자용 명령어(시스템 점검, 복구, 초기, 종료 명령 등)를 저장하고 있는 디렉토리.
/boot
리눅스 부트로더(Boot Loader)가 존재하는 디렉토리.
GRUB 과 같은 부트로더에 관한 파일들(grub.conf 등)이 이 디렉토리에 존재한다.
/dev
시스템 디바이스(Device)파일을 저장하고 있는 디렉토리.
하드디스크 장치파일 /dev/sda, CD-ROM 장치파일 /dev/cdrom 등과 같은 장치파일들이 존재하는 디렉토리이다.
/etc
대부분의 환경설정 파일이 존재하는 디렉토리.
네트워크 관련 설정 파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일 등 중요 설정 파일들이 위치.
/etc/sysconfig(시스템 제어판용 설정파일),
/etc/passwd(사용자관리 설정파일),
/etc/named.conf(DNS 설정파일) 등과 같은 파일들이 존재한다.
/etc/mai/
sendmail.cf 나 access 파일등의 sendmail 의 설정파일들이 존재하는 디렉토리.
/etc/ssh/
SSH 서비스, 즉 sshd 데몬에서 사용하는 각종 설정파일들이 존재하는 디렉토리.
/etc/squid/
squid 프록시서버의 설정파일들이 저장된 디렉토리.
/etc/samba/
삼바관련 설정파일들이 저장된 디렉토리
/etc/gnome/
GTK+ 정의파일들이 있음
/etc/skel/
계정사용자 생성시의 초기화파일들이 저장된 디렉토리(useradd 에서 사용함)
/etc/rc.d/
부팅레벨별 부팅스크립트파일들이 존재하는 디렉토리.
/etc/rc.d/init.d/
시스템 초기화 파일들의 실제파일들이 존재함.
/etc/pam.d/
PAM 설정 정보파일들이 저장된 디렉토리.
/etc/security
터미널 보안에 관련된 설정이 있음
/etc/httpd/
RPM 으로 설치된 아파치 설정파일(httpd.conf 등)들이 저장된 디렉토리.
/etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/, /etc/cron.weekly/
모두 크론설정파일이 존재하는 디렉토리임.
/etc/xinetd.d/
xinetd 수퍼데몬에 의해 서비스되는 서비스설정파일이 존재함.
/home
사용자의 홈디렉토리, useradd 명령어로 새로운 사용자를 생성하면 대부분 사용자의 ID와 동일한 이름의 디렉토리가 자동으로 생성됨.
/lib
커널모듈파일과 라이브러리파일.
커널이 필요로하는 커널모듈파일들과 프로그램(C, C++ 등)에 필요한 각종 라이브러리 파일들이 존재하는 디렉토리.
/media
DVD, CD-ROM, USB 등과 같은 탈부착이 가능한 장치들의 마운트포인트로 사용되는 디렉토리.
/mnt
/media 디렉토리와 비슷한 용도로 사용되나, 다른점은 사용자가 직접 마운트를 경로로 사용
/srv
서버를 위한 폴더. FTP/SFTP/RSync와 같은 프로토콜을 이용하여 외부 사용자와의 공유를 위해 사용
/sys
실제 디스크의 물리적 영역이 아닌 RAM을 기반으로 한 파일시스템.
커널 데이터에 대한 구조 속성 등 시스템 전반에 대한 내용을 제공
/proc
일명 가상파일시스템 이라고 하는 곳으로 현재 메모리에 존재하는 모든 작업들이 파일형태로 존재하는 곳이다.
디스크상에 실제 존재하는 것이 아니라 메모리상에 존재하기 때문에 가상파일시스템이라고 부른다.
현재 시스템 정보을 제공하며 존재하는 파일들 가운데 실행중인 커널(kernel)의 옵션 값을 즉시 변경할 수 있는 파라미터파일들이 있기 때문에 시스템 운용에 있어 매우 중요한 의미를 가진다.
/root
시스템 최고관리자인 root 사용자의 개인 홈 디렉토리.
/tmp
공용디렉토리. 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리.
/opt
응용프로그램 패키지 설치 장소.
패키지 매니저가 자체적으로 설치 및 삭제를 수행
/usr
User System Resource의 약자로 일반사용자들이 주로 사용하는 디렉토리.
각 유저 이름에 맞는 폴더이름이 생성되어 있으며 각 폴더마다 bin/sbin/shared/lib와 같이 각 유저들이 사용할 수 있는 폴더들이 위치
/usr/bin/
일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리.
/usr/sbin/
/bin 에 제외된 명령어와 네트워크관련 명령어가 들어있는 디렉토리.
/usr/X11R6/
X 윈도우 시스템의 루트 디렉토리.
/usr/include/
C 프로그램에 필요한 헤드파일(*.h) 디렉토리.
/usr/lib/
/usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위한 라이브러리 디렉토리
/usr/src/
프로그램 소스 및 주로 커널 소스가 저장되는 디렉토리.
/usr/local/
새로운 프로그램들이 설치되는 곳 (windows의 Program Files 와 유사)
/usr/share/man/
명령어들의 도움말을 주는 메뉴얼(manual)페이지 디렉토리.
이 디렉토리에는 시스템에서 사용하는 모든 맨페이지파일(man page)이 존재함.
/var
시스템 운용중에 생성되었다가 삭제되는 동적인 데이터를 일시적으로 저장하기 위한 디렉토리.
거의 모든 시스템 로그파일은 /var/log 에 저장되고,
DNS 의 zone 설정파일은 /var/named 에 저장되고,
메일파일은 /var/spool/mail 에 저장되며,
크론설정파일은 /var/spool/cron 디렉토리에 각각 저장됨.
/var/tmp/
/tmp 디렉토리와 같은 공용디렉토리.
/tmp 디렉토리와 /var/tmp 디렉토리의 퍼미션은 1777 로서 sticky bit 가 설정되어 있는 공용디렉토리이다.
리눅스 시스템에서 공용디렉토리는 /tmp 와 /var/tmp 둘뿐이다.
/var/log/
시스템로그파일(messages, secure, xferlog 파일등)이 저장되는 디렉토리.
/var/ftp/
vsftp 등과 같은 FTP 서비스를 위한 다운로드될 파일들
/var/named/
BIND 즉, DNS 에서 사용하는 zone 파일들이 저장되는 디렉토리.
/var/spool/mail/
각 계정사용자들의 메일파일이 저장되는 디렉토리.
/var/spool/lpd/
프린트를 하기 위한 임시 디렉토리(스풀링 디렉토리).
/var/spool/mqueue/
발송을 위한 메일 일시저장 디렉토리.
/var/spool/cron/
각 사용자들의 cron 설정파일들이 저장된 디렉토리.
/var/spool/at/
예약작업에 관한 파일들이 저장되는 디렉토리.
/lost+found
부팅시 파일시스템 손상이 되었을 때 사용되는 디렉토리.
평소에는 파일에 이상이 없으면 비어있음
댓글남기기