IT / / 2024. 8. 2. 01:35

리눅스 폴더 구조

728x90
반응형

리눅스는 계층적 파일 시스템 구조를 가지고 있으며, 이는 시스템 운영과 관리를 효율적으로 하는 데 필수적입니다. 이번 글에서는 리눅스의 주요 폴더와 그 역할에 대해 자세히 살펴보겠습니다.

리눅스 폴더 구조 개요

리눅스의 폴더 구조는 트리 구조로 구성되어 있으며, 최상위 디렉토리는 / (루트 디렉토리)입니다. 모든 디렉토리와 파일은 이 루트 디렉토리 아래에 존재합니다. 주요 디렉토리와 그 역할은 다음과 같습니다.

루트 디렉토리 /

루트 디렉토리는 모든 파일과 디렉토리의 시작점입니다. 시스템의 모든 자원이 이 디렉토리 아래에 조직됩니다.

/bin (Binary)

/bin 디렉토리에는 시스템 부팅과 운영에 필요한 기본 명령어가 포함되어 있습니다. 일반 사용자와 관리자가 모두 사용할 수 있는 명령어들이 있습니다.

  • 주요 명령어: ls, cp, mv, rm, cat 등.
  • 옵션:
    • ls -l: 파일의 상세 정보를 표시합니다.
    • cp -r: 디렉토리의 내용을 복사합니다.
    • rm -f: 강제로 파일을 삭제합니다.

/sbin (System Binaries)

/sbin 디렉토리에는 시스템 관리와 유지보수에 필요한 명령어가 포함되어 있습니다. 주로 시스템 관리자(root)가 사용하는 명령어들이 있습니다.

  • 주요 명령어: ifconfig, reboot, shutdown, fdisk 등.
  • 옵션:
    • ifconfig -a: 모든 네트워크 인터페이스 정보를 표시합니다.
    • shutdown -h now: 시스템을 즉시 종료합니다.
    • fdisk -l: 모든 디스크 파티션 정보를 표시합니다.

/etc (Et Cetera)

/etc 디렉토리에는 시스템 설정 파일이 저장됩니다. 이 디렉토리에는 네트워크 설정, 사용자 계정 정보, 서비스 설정 파일 등이 포함됩니다.

  • 주요 파일: passwd, hosts, fstab, network 등.
  • 옵션:
    • cat /etc/passwd: 사용자 계정 정보를 표시합니다.
    • vi /etc/hosts: 호스트 파일을 편집합니다.
    • cat /etc/fstab: 파일 시스템 테이블을 표시합니다.

/home (Home)

/home 디렉토리는 사용자별 개인 디렉토리가 위치하는 곳입니다. 새로운 사용자가 생성될 때마다 /home 아래에 해당 사용자의 디렉토리가 생성됩니다.

  • 예시: /home/john (사용자 john의 홈 디렉토리).
  • 옵션:
    • cd /home/john: 사용자의 홈 디렉토리로 이동합니다.
    • ls /home: 모든 사용자 홈 디렉토리를 나열합니다.

/lib (Libraries)

/lib 디렉토리에는 시스템과 응용 프로그램이 사용하는 필수 라이브러리 파일들이 저장됩니다. 여기에는 커널 모듈과 라이브러리 파일이 포함됩니다.

  • 주요 디렉토리: /lib/modules (커널 모듈), /lib/systemd (systemd 서비스).
  • 옵션:
    • ls /lib/modules: 커널 모듈을 나열합니다.
    • ls /lib/systemd: systemd 관련 파일을 나열합니다.

/media 와 /mnt (Mount)

/media와 /mnt 디렉토리는 이동식 미디어 장치를 마운트하는 데 사용됩니다. CD-ROM, USB 드라이브 등을 일시적으로 연결할 때 사용합니다.

  • 옵션:
    • mount /dev/sdb1 /mnt: 특정 장치를 /mnt에 마운트합니다.
    • umount /mnt: /mnt에서 장치를 마운트 해제합니다.

/proc (Process)

/proc 디렉토리는 가상 파일 시스템으로, 시스템과 프로세스 정보를 실시간으로 제공하는 파일이 포함됩니다. 이는 메모리 상에 존재하며 디스크 상에 물리적인 공간을 차지하지 않습니다.

  • 주요 파일: /proc/cpuinfo (CPU 정보), /proc/meminfo (메모리 정보), /proc/uptime (시스템 가동 시간).
  • 옵션:
    • cat /proc/cpuinfo: CPU 정보를 표시합니다.
    • cat /proc/meminfo: 메모리 정보를 표시합니다.
    • cat /proc/uptime: 시스템 가동 시간을 표시합니다.

/root (Root Home)

/root 디렉토리는 시스템 관리자(root)의 홈 디렉토리입니다. 일반 사용자들의 홈 디렉토리와는 다르게 루트 디렉토리 바로 아래에 위치합니다.

  • 옵션:
    • cd /root: 루트 사용자의 홈 디렉토리로 이동합니다.
    • ls /root: 루트 사용자의 파일을 나열합니다.

/tmp (Temporary)

/tmp 디렉토리는 임시 파일을 저장하는 디렉토리입니다. 시스템 재부팅 시 이 디렉토리의 내용은 자동으로 삭제됩니다.

  • 옵션:
    • cd /tmp: 임시 디렉토리로 이동합니다.
    • rm -rf /tmp/*: 임시 파일을 모두 삭제합니다.

/usr (User System Resources)

/usr 디렉토리는 시스템 운영에 필요한 사용자 명령어, 라이브러리, 헤더 파일 등이 포함됩니다. 대규모 소프트웨어 패키지가 설치되는 디렉토리이기도 합니다.

  • 주요 하위 디렉토리:
    • /usr/bin: 일반 사용자 명령어.
    • /usr/sbin: 시스템 관리 명령어.
    • /usr/lib: 라이브러리 파일.
    • /usr/local: 로컬에 설치된 소프트웨어.
  • 옵션:
    • ls /usr/bin: 일반 사용자 명령어를 나열합니다.
    • ls /usr/sbin: 시스템 관리 명령어를 나열합니다.
    • ls /usr/lib: 라이브러리 파일을 나열합니다.
    • ls /usr/local: 로컬에 설치된 소프트웨어를 나열합니다.

/var (Variable)

/var 디렉토리는 시스템 운영 중 생성되었다가 삭제되는 데이터를 저장하는 디렉토리입니다. 주로 로그 파일, 스풀 파일, 임시 파일 등이 저장됩니다.

  • 주요 하위 디렉토리:
    • /var/log: 시스템 로그 파일.
    • /var/spool: 스풀 파일(예: 프린터 대기열).
    • /var/tmp: 임시 파일.
  • 옵션:
    • ls /var/log: 로그 파일을 나열합니다.
    • cat /var/log/syslog: 시스템 로그를 확인합니다.
    • ls /var/spool: 스풀 파일을 나열합니다.
    • ls /var/tmp: 임시 파일을 나열합니다.

/opt (Optional)

/opt 디렉토리는 추가적으로 설치한 소프트웨어 패키지를 저장하는 곳입니다. 주로 독립적인 응용 프로그램들이 이 디렉토리에 설치됩니다.

  • 옵션:
    • ls /opt: 설치된 소프트웨어 패키지를 나열합니다.

/srv (Service)

/srv 디렉토리는 서버에서 제공하는 데이터를 저장하는 디렉토리입니다. 웹 서버, FTP 서버 등의 데이터가 저장됩니다.

  • 옵션:
    • ls /srv: 서비스 데이터를 나열합니다.

결론

리눅스의 폴더 구조는 시스템의 효율적인 운영과 관리를 위한 중요한 요소입니다. 각 디렉토리의 역할과 기능을 이해하면 시스템 관리와 유지보수가 훨씬 수월해집니다. /bin, /sbin, /etc, /home, /lib, /media, /mnt, /proc, /root, /tmp, /usr, /var, /opt, /srv 등의 디렉토리는 각각의 고유한 역할을 가지고 있으며, 이를 통해 리눅스 시스템의 복잡한 구조를 체계적으로 관리할 수 있습니다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유