본문 바로가기
IT 인프라/리눅스, 가상화

[리눅스] 디렉토리 구조 및 각 디렉토리의 역할

by 전재혁 2024. 10. 11.

* Linux의 디렉토리 구조


1. 최상위 계층인 루트 디렉토리( / )

*** rm 명령어를 통해 디렉토리를 지울 때 rm -rf / 는 사용하지 않도록 주의 (하위 디렉토리가 모두 날아감)***


2. /bin 디렉토리

- /bin 디렉토리는 ls, cp, mv 등 기본적으로 OS에 내장된 명령어들의 실행 파일을 가지고 있는 디렉토리

- /bin 디렉토리는 ls, cp, mv 등 기본적으로 OS에 내장된 명령어들의 실행 파일을 가지고 있는 디렉토리

3. /sbin 디렉토리

 

- 관리자용 명령어가 저장되는 디렉토리로 접근시 root권한이 필요


4. /dev 디렉토리

 


- /dev 디렉토리는 하드웨어 장치와 관련된 파일이 저장됨. 마치 장치들이 하나의 파일처럼 보이게 만들어 프로그램에서 파일을 다루듯 장치를 조작할 수 있게 해줌.

/dev 디렉토리의 종류

  • 블록 디바이스: 하드 디스크, USB 메모리 등 데이터를 블록 단위로 읽고 쓰는 장치
  • 캐릭터 디바이스: 키보드, 마우스, 시리얼 포트 등 데이터를 바이트 단위로 읽고 쓰는 장치

/dev 디렉토리의 중요성

  • 시스템 부팅: 시스템 부팅 시 커널이 /dev 디렉토리의 정보를 이용하여 하드웨어를 인식하고 초기화
  • 파일 시스템 마운트: 파일 시스템을 마운트할 때, 마운트할 대상을 지정하기 위해 /dev 디렉토리의 디바이스 파일을 사용
  • 장치 드라이버: 장치 드라이버는 /dev 디렉토리의 디바이스 파일을 통해 하드웨어와 통신

5. /etc 디렉토리

- /etc 디렉토리는 모든 종류의 설정 파일들이 모여 있는 디렉토리. 컴퓨터의 바탕 화면에 있는 설정 파일 폴더처럼 생각하면 됨.

/etc 디렉토리에 있는 주요 파일들

  • /etc/passwd: 사용자 계정 정보 (사용자 이름, 암호, UID, GID 등)
  • /etc/shadow: 사용자 암호 정보 (보안상의 이유로 일반 사용자는 읽을 수 없음)
  • /etc/group: 그룹 정보
  • /etc/hosts: 호스트 이름과 IP 주소 매핑
  • /etc/fstab: 파일 시스템 마운트 정보
  • /etc/network/interfaces: 네트워크 설정
  • /etc/crontab: 시스템 크론 작업 설정
  • /etc/ssh/sshd_config: SSH 서버 설정
  • /etc/apache2/apache2.conf: Apache 웹 서버 설정 (배포판에 따라 파일명이 다를 수 있음)

**관리자에게 매우 중요한 디렉토리**

 

6. /usr 디렉토리

- 사용자 프로그램과 데이터를 저장하는 주요 디렉토리

 

 

/usr 디렉토리의 주요 하위 디렉토리

  • /usr/bin: 일반 사용자가 사용하는 명령어들이 위치합니다.
  • /usr/sbin: 시스템 관리자용 명령어들이 위치합니다.
  • /usr/lib: 시스템 공유 라이브러리들이 위치합니다.
  • /usr/local: 사용자가 직접 설치한 프로그램이나 데이터를 저장하는 디렉토리입니다.
    • /usr/local/bin: 사용자가 설치한 프로그램의 명령어들이 위치합니다.
    • /usr/local/lib: 사용자가 설치한 프로그램의 라이브러리들이 위치합니다.
    • /usr/local/share: 사용자가 설치한 프로그램의 데이터 파일들이 위치합니다.
  • /usr/include: C 프로그램에서 포함되는 헤더 파일들이 위치합니다.
  • /usr/share: 아키텍처에 독립적인 파일들이 위치합니다 (예: 문서, 그림, 사운드 파일)

 

7. /home 디렉토리

 

- /home 디렉토리는 사용자 개인 공간. 각 사용자의 개인적인 파일과 설정을 저장하는 공간


/home 디렉토리의 구조

  • 사용자별 디렉토리: /home 디렉토리 내에는 각 사용자의 이름으로 된 디렉토리가 생성됩니다. 예를 들어, 사용자 이름이 'user1'이라면 /home/user1 디렉토리가 생성될 수 있음
  • 개인 디렉토리: 각 사용자 디렉토리 내에는 문서, 다운로드, 데스크탑 등 다양한 개인 디렉토리가 생성될 수 있음

8. /opt 디렉토리

 

- /opt 디렉토리는 선택적으로 설치하는 소프트웨어를 위한 공간

- 기본적인 동작에 필요한 파일들은 주로 /bin, /sbin, /etc 등에 위치하지만 사용자가 필요에 의해 추가로 설치하는 소프트웨어들은 일반적으로 /opt 디렉토리에 설치됨.

 

/opt 디렉토리의 구조는 일반적으로

/opt/[소프트웨어 이름]
 
로 저장됨
 

 

9. /var 디렉토리

 

- 시스템 로그, 메일, 임시 파일, 캐시 파일 등이 저장되는 디렉토리

 

주요 하위 디렉토리:

  • /var/log: 시스템 로그 파일이 저장되는 곳
  • /var/spool: 인쇄 작업 대기 목록, 메일, 뉴스 등의 스풀 파일이 저장되는 곳
  • /var/lib: 라이브러리 파일, 데이터베이스, 패키지 관리 정보 등이 저장되는 곳
  • /var/tmp: 시스템이 실행되는 동안 사용되는 임시 파일이 저장되는 곳. /tmp와 비슷하지만, /tmp는 시스템 재부팅 시 삭제되는 반면, /var/tmp는 시스템 재부팅 후에도 남아 있을 수 있음.

 

10. /tmp 디렉토리

 

- 프로그램이 실행되는 동안 생성되는 임시 파일을 저장하는 곳
** 시스템 재부팅 시 자동으로 삭제되므로 중요한 정보는 다른 디렉토리에 저장할 것

11. /lib 디렉토리

 

- /usr/lib 디렉토리와 비슷하지만, /lib 디렉토리에는 시스템이 기본적으로 사용하는 라이브러리 파일들이 주로 저장