리눅스

#4 리눅스 디렉터리

sundori 2024. 12. 15. 13:02

디렉터리(Directory)

디렉터리란 파일을 보관하는 곳을 말한다. 리눅스의 디렉터리는 최상위의 해당하는 루트(/)를 중심으로 하위 디렉터리에 여러 개의 디렉터리가 존재하는 트리 구조 계층을 가진다.

리눅스 디렉터리 종류와 특징


1. / (루트 디렉터리)

  • 파일 시스템의 최상위 디렉터리로, 모든 파일과 디렉터리의 시작점.
  • 시스템에서 가장 중요한 디렉터리로, 다른 모든 디렉터리가 여기에 포함된다.

2. /bin (Binaries)

  • 시스템의 기본 명령어가 저장된 디렉터리.
  • 모든 사용자가 접근 가능한 필수 실행 파일(예: ls, cp, mv)이 있다.

일반적으로 bin은 binary의 약자로 실행 파일들이 있으며 흔히 실행 파일이 들어있는 PATH가 설정되어 있다.

대표적으로 cp, mkdir, rmdir, mv, rm, cat 등의 명령어가 있다.


3. /boot (Boot Loader Files)

  • 부팅에 필요한 파일들이 저장된 디렉터리.
  • 커널 이미지(vmlinuz)와 GRUB 설정 파일 등이 포함된다.

4. /dev (Device Files)

  • 시스템의 장치 파일(가상 파일)이 저장되는 디렉터리.
  • 하드웨어 디바이스(예: /dev/sda, /dev/tty)를 파일 형태로 관리한다.

하드 디스크, CD-ROM, 터미널과 같이 실제로 존재하는 물리적인 장치를 파일화하여 저장하는 곳이다.


5. /etc (Configuration Files)

  • 시스템 및 프로그램의 설정 파일이 저장된 디렉터리.
  • 예: /etc/fstab, /etc/passwd.

6. /home (Home Directories)

  • 일반 사용자 계정의 개인 디렉터리.
  • 사용자별 데이터(예: 문서, 설정 파일 등)가 저장된다. 예: /home/username.

개인 사용자들이 파일 및 디렉터리를 생성할 수 있는 공간으로 예를들어, gildong이라는 계정을 만들면 /home/gildong이라는 디렉터리가 생기게 된다.


7. /lib (Libraries)

  • 시스템의 필수 라이브러리가 저장된 디렉터리.
  • /bin과 /sbin에서 사용하는 공유 라이브러리가 포함된다.

8. /lib64 (64-bit Libraries)

  • 64비트 시스템용 라이브러리가 저장된 디렉터리.
  • 64비트 시스템에서 /lib의 역할을 보조한다.

9. /mnt (Temporary Mount Points)

  • 외부 장치(예: USB, CD-ROM)를 임시로 마운트하는 데 사용된다.
  • 관리자가 수동으로 마운트 시 사용.

10. /opt (Optional Software)

  • 추가적인 소프트웨어를 설치하는 데 사용하는 디렉터리.
  • 대규모의 독립적인 응용 프로그램이 설치된다.

응용 프로그램들의 설치를  위해 사용되는 디렉터리이다.


11. /proc (Process Information)

  • 가상 파일 시스템으로, 커널과 프로세스 정보를 제공.
  • 동적으로 생성되며, CPU 정보(/proc/cpuinfo)나 메모리 정보(/proc/meminfo)를 포함.

12. /root (Root Home Directory)

  • 루트 사용자의 홈 디렉터리.
  • 일반 사용자의 /home과 구분되며, 시스템 관리용으로 사용된다.

13. /sbin (System Binaries)

  • 시스템 관리자용 명령어가 저장된 디렉터리.
  • 부팅, 복구, 네트워크 설정 명령(예: ifconfig, fsck)이 포함된다.

'System Binary'의 약자로 주로 시스템 관리에 대한 명령어들이 들어있는 디렉터리로 슈퍼유저인 root가 주로 사용한다.


14. /tmp (Temporary Files)

  • 임시 파일을 저장하는 디렉터리.
  • 시스템 재부팅 시 모든 데이터가 삭제된다.

15. /usr (User System Resources)

  • 사용자 애플리케이션과 라이브러리, 문서 등이 저장된 디렉터리.
  • /usr/bin, /usr/lib, /usr/share 등의 하위 디렉터리를 포함한다.

시스템 운영에 필요한 명려으 응용 프로그램들이 위치하는 디렉터리로 커널 소스, C 언어 헤더 파일 등 리눅스에서 서버 관리를 위해 사용하는 아파치나 mysql, php 등 모두 /usr 하위 디렉터리에 존재하게 된다.


16. /var (Variable Data)

  • 로그 파일, 캐시, 이메일 등과 같이 자주 변경되는 데이터가 저장된 디렉터리.
  • 예: /var/log, /var/tmp.

시스템 운영 로그(Log) 파일과 스풀링(Spooling)처럼 가변적인 데이터들이 저장되는 곳인데 필자의 경우 메일 서버를 운영 했던 경우가 있어 도착한 메일이 /var 하위 디렉터리에 존재하게 된다.


17. /media (Removable Media)

  • 자동 마운트되는 장치(USB, CD-ROM)용 디렉터리.
  • 장치가 연결될 때 시스템이 자동으로 마운트한다.

18. /srv (Service Data)

  • 서버에서 제공하는 데이터가 저장되는 디렉터리.
  • 예: 웹 서버 파일, FTP 파일.

19. /sys (System Information)

  • /proc와 비슷한 가상 파일 시스템.
  • 커널과 하드웨어 장치의 정보를 제공한다.

20. /run (Runtime Data)

  • 부팅 후 동적으로 생성되는 데이터(예: PID 파일, 소켓 파일 등)가 저장되는 디렉터리.
  • 시스템의 런타임 상태를 기록한다.
728x90

'리눅스' 카테고리의 다른 글

#5-1 리눅스 부팅과 셧다운  (1) 2024.12.15
#3 리눅스의 구조  (0) 2024.12.15
#2 리눅스 시스템  (1) 2024.12.13
#1 리눅스  (2) 2024.12.13