리눅스 디렉토리 구조 설명

리눅스 CentOS, Ubuntu 등 운영체제를 사용하면서
접하게 될 시스템 디렉토리들의 구조에 대해서 알아보겠습니다

 

리눅스 디렉토리 구조 개념 정리

디렉토리 구조

리눅스의 디렉토리 구조는 전체적으로 트리(Tree) 구조를 하고 있으며

명령어의 성격과 내용 및 사용 권한 등에 따라 디렉토리로 구분되고 있어요.

리눅스 파일 시스템 구조는 기본적인 구조를 제외하고는 사용자의 설정에 따라 달라질 수는 있지만 특수한 경우라 보통은 아래에 설명한 디렉토리 구조를 사용하고 있을 거예요.

 

리눅스 디렉토리 전체 구조
리눅스 Directory

 

위치 이름 설명

 

위치 이름 설명
/ 루트 - 최상위(루트) 디렉토리
- 디렉토리들의 절대 경로를 표기할 때 이 디렉토리로 부터 시작함
/bin 바이너리 - 이진파일(실행파일)

- 기본적인 명령어가 저장된 디렉토리

- 리눅스에서 자주 사용하는 mv, cp, rm등과 같은 명령어들이 이 디렉토리에 존재함
/boot 부트 - 리눅스의 부트로더(Boot loader)가 있는 디렉토리임
/dev 디브(디바이스) - 시스템 디바이스(device)파일을 저장하고 있는 디렉토리

- /dev/sda (하드디스크 장치파일), /dev/cdrom(CD-ROM)장치파일 등과 같은 장치 파일들이 여기에 위치함

- 물리적 장치가 파일화되어 저장
/etc   - 설정파일을 두는 디렉토리
/home - 사용자들의 홈디렉토리가 있는 곳

- 사용자를 추가하면 사용자의 id와 동일한 디렉토리가 이곳에 자동으로 생성
/lib 립(라이브러리) - 커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉토리
/media 미디어 - DVD, CD-ROM, USB 등의 탈부착 가능한 장치들의 마운트 포인트로 사용하는 디렉토리
/mnt 마운트 - 탈부착 가능한 장치들에 대한 마운트 포인트로 사용하는 디렉토리
/opt 옵트 - 응용프로그램 패키지 설치 장소

- 패키지 매니저가 자체적으로 설치/삭제를 수행함
/proc 프록(프로세스) - '가상파일시스템' 이라고 하는 곳으로 현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 곳임
/root 루트 - 관리자계정 root 사용자의 홈디렉토리
/sbin 시스템 바이너리 - 시스템 이진파일(실행파일)
- ifconfig, ethtool, halt, e2fsck와 같은 시스템 명령어들을 저장하고 있는 디렉토리
/usr 유저 - 일반 사용자들이 사용하는 디렉토리
/var - 시스템 운용중 생성되었다가 삭제되는 데이터를 임시 저장하기 위한 공간으로 사용되는 디렉토리

 

디렉토리별 상세 설명

/

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

절대경로 : / 디렉토리 기준

예) /usr/local

상대경로 : 현재 작업 디렉토리 기준

예) ./local

 

ㅇㅇㅇ

 

/bin

  • binarise의 약어
  • 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리
  • 시스템을 운영하는데 기본적인 명령어들이 모여있는 디렉토리
  • 부팅에 필요한 명령어들이 들이 위치하며 부팅 후 시스템의 사용자들이 사용할 수 있는 일반적인 명령어들도 위치하고 있음

 

/sbin

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

 

/dev

  • device의 약자로 물리적인 장치들이 파일화 되어 있다.
  • 하드디스크 장치파일 /dev/sda, CD-ROM 장치파일 /dev/cdrom 등과 같은 장치파일들이 존재하는 디렉토리

/lib

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

 

/proc

  • 시스템의 각종 프로세서, 프로그램 정보, 하드웨어적인 정보들이 저장됨
  • 가상 파일시스템으로 /dev 디렉토리와 마찬가지로 하드디스크 상에 물리적인 용량을 갖지 않음(실제로 존재하지 않음)
  • 실제 하드 디스크에 저장되지 않고 커널에 의해서 메모리에 저장됨
  • 현재 시스템의 설정을 보여줌
  • 커널의 어떤 기능을 제어할 수 있는 역할을 가지고 있음
  • 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능한 파일이 존재 하는데 이러한 파일들에 특정 값을 지정하면 커널 기능이 변하게 됨
  • 이 디렉토리 내에 있는 파일을 cat 명령을 이용하여 보면 시스템 정보를 확인 할 수 있음

예) 인터럽트 정보 확인 --> cat /proc/interrupts

 

/etc

  • 시스템 환경 설정 파일이 있는 디렉토리
  • 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
  • /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/xinetd.d : 슈퍼데몬 xinetd.d의 서비스 영역을 설정하는 디렉토리

 

 

/var

  • 시스템에서 사용되는 동적인 파일들이 저장됨(가변 자료 저장 디렉토리)
  • 시스템 운영중에 시스템 자료 데이터가 변경될 때 변경된 자료들이 저장되는 곳
  • 주로 시스템 작동기록(log)들을 저장
  • 각종 시스템 로그파일, 사용자 로그인에 대한 보안기록, 그리고 메일서버를 운영한다면 전송되는 메일들을 임시로 저장
  • 레드헷 7.0에서부터는 /home 디렉토리에 저장되던 /home/httpd 디렉토리가 /var/www로 변경되어 저장됨, /home/ftp는 /var/ftp로 변경
  • /var/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 디렉토리는 부르는 이름은 같지만 서로 다름

 

[IT/리눅스(Linux)] - 리눅스 시스템 로그 설정 방법

 

리눅스 시스템 로그 설정 방법

CentOS, Ubuntu 같은 리눅스 시스템에서 /var/log 디렉토리는 로그 파일을 저장하는 디렉토리입니다. 시스템의 다양한 활동에 대한 로그가 저장되어 있습니다. 이런 로그들은 오류 처리나 다양한 이벤

coconuts.tistory.com

[IT/리눅스(Linux)] - 스왑 파일을 쓸 수 없습니다 Write error in swap file

 

스왑 파일을 쓸 수 없습니다 Write error in swap file

Write error in swap file vi로 파일을 열거나 디스크를 사용하는 동작을 할 때 발생할 수 있습니다. 원인 하드디스크 내에 여분 공간이 없기 때문에 swap파일을 쓸 수 없을 때 발생 디스크 사용 100%인 곳

coconuts.tistory.com

 

댓글

Designed by JB FACTORY