리눅스 디렉터리(Linux Directory) 구조와 이론에 대하여 – 1편 (/, /bin, /sbin /boot)

Linux Directory의 구조와 이론 1편 /, /bin, /boot

Linuix Directory?

파일 및 기타 Directory를 계층 구조로 구성하는 데 사용되는 컨테이너 또는 폴더입니다.

Linux 시스템에서 파일과 데이터를 구성하고 관리하는 방법으로 사용됩니다. Directory는 다른 directory 내에 중첩되어 트리와 같은 구조를 생성할 수 있습니다.

Linux directory 구조

해당되는 그림을 보면 /(root) Directory 아래로 여러가지 Directory가 하위에 있는 것을 보실 수 있습니다.

여기서 Directory의 상위, 하위에 대한 이론이 나오게 됩니다.

parent_directory && sub_directory

- parent_directory   => 상위 directory /라고 가정하겠습니다.                                 
    - sub_directory  => / Directory 하위에 속한 서브 directory가 하위 directory가 됩니다. 
        - file1.txt  => / Directory 하위 sub Directory에 파일 1,2 가 포함되어 있습니다.
        - file2.txt
                   ++ "parent_directory"는 상위 directory이고 "sub_directory"는 하위 directory입니다. 하위 directory "sub_directory"에는 "file1.txt" 및 "file2.txt"의 두 파일이 포함
    - file3.txt
    - file4.txt
                   ++ 상위 directory "parent_directory"에는 "file3.txt" 및 "file4.txt"의 두 파일이 포함되어 있습니다. 하위 directory "sub_directory"는 "parent_directory" 내에 위치하기 때문에 하위 directory로 간주

부모 directory는 항상 계층 구조에서 한 수준 높은 directory이며, 하위 directory는 부모 directory 내에서 하위 수준에 있습니다.

이 계층 구조를 통해 시스템의 파일 및 directory를 구성하고 분류할 수 있습니다.


Directory?

DirectoryDescription
/루트 directory, 파일 시스템의 최상위 directory.
/bin필수 시스템 바이너리.
/boot시스템 부팅에 필요한 파일.
/dev하드웨어 장치를 나타내는 장치 파일.
/etc시스템 전체 구성 파일.
/home일반 사용자를 위한 홈 directory.
/lib시스템 바이너리 및 커널에 필요한 라이브러리.
/media이동식 미디어(예: USB 드라이브)의 마운트 지점
/mnt임시로 마운트된 파일 시스템의 마운트 지점
/opt선택적 소프트웨어 패키지. (예:tomcat ~~)
/proc프로세스에 대한 정보를 포함하는 가상 파일 시스템.
/root루트 사용자의 홈 directory입니다.
/sbin시스템 관리를 위한 시스템 바이너리.
/srv시스템에서 제공하는 서비스에 대한 데이터입니다.
/tmp임시 파일(재부팅 시 지워짐).
/usr사용자 관련 프로그램, 라이브러리 및 데이터.
/var로그, 데이터베이스 및 스풀 파일과 같은 가변 데이터.

/ 루트 directory, 파일 시스템의 최상위 directory

루트 directory는 파일 시스템 계층 구조의 최상위 directory입니다. 전체 파일 시스템 구조의 시작점이자 기초 역할을 합니다.

Linux 및 기타 Unix 계열 운영 체제에서 루트 directory는 슬래시(“/”)로 표시됩니다.

  • 루트 directory는 파일 시스템의 다른 모든 directory와 파일을 구성하고 관리하기 위한 기반을 제공합니다. 다른 모든 directory와 파일은 직간접적으로 루트 directory 내에 있습니다.
  • 시스템의 다른 모든 directory와 파일을 구성, 액세스 및 관리하기 위한 기반을 제공합니다.

/bin, 필수 시스템 바이너리

시스템 바이너리는 컴퓨터 시스템이 제대로 작동하는 데 필요한 필수 실행 파일입니다.

바이너리는 운영 체제 및 기타 소프트웨어에 필요한 핵심 기능과 서비스를 제공

기본 시스템 작동에 필수적인 기본 시스템 바이너리가 포함되어 있습니다.

  • ls: directory내용을 나열합니다.
  • cp: 파일과 directory를 복사합니다.
  • mv: 파일 및 directory를 이동하거나 이름을 바꿉니다.
  • rm: 파일과 directory를 제거합니다.
  • mkdir: directory를 생성합니다.
  • cat: 파일의 내용을 표시합니다.
  • chmod: 파일 권한을 변경합니다.
  • grep: 파일에서 패턴을 검색합니다.

/sbin directory

/sbin directory에는 시스템 관리 및 유지 관리를 위해 시스템 관리자가 주로 사용하는 시스템 바이너리가 들어 있습니다.

  • init: 다른 모든 프로세스의 상위 프로세스.
  • shutdown: 시스템을 종료하거나 재부팅합니다.
  • ifconfig: 네트워크 인터페이스를 구성합니다. -> 패키지 없을 시 net-tools 설치
  • fdisk: 디스크 파티션을 관리합니다.
  • fsck: 파일 시스템을 검사하고 복구합니다.
  • iptables: 방화벽 규칙을 설정합니다.

/usr/bin directory

/usr/bin directory에는 사용자 관련 시스템 바이너리 및 응용 프로그램이 포함

  • gcc: 코드 컴파일을 위한 GNU 컴파일러 모음입니다.
  • python: 파이썬 인터프리터.
  • git: 소스 코드 관리를 위한 버전 관리 시스템.
  • curl: 다양한 네트워크 프로토콜을 사용하여 데이터를 전송합니다.
  • ssh: 원격 액세스를 위한 보안 셸 클라이언트.
  • rsync: 효율적인 파일 동기화 및 전송.
  • docker: 컨테이너화된 애플리케이션을 관리합니다.

/usr/sbin directory

/usr/sbin directory에는 사용자가 설치한 소프트웨어 패키지에 특정한 시스템 관리 바이너리가 포함

  • httpd: 아파치 HTTP 서버.
  • sshd: 원격 액세스를 위한 보안 셸 서버.
  • cron: 자동화된 작업을 예약합니다.
  • nginx: 웹 서버 소프트웨어.
  • mysqld: MySQL 데이터베이스 서버.
  • named: DNS 서버(BIND).

/boot, 시스템 부팅에 필요한 파일

/boot directory는 운영 체제의 부팅 프로세스와 관련된 파일을 저장하는 데 사용되는 특정 directory

  1. Kernel Image
    • 시스템 리소스를 관리하고 장치 드라이버를 제공하며 사용자 프로그램을 실행하는 운영 체제의 핵심 구성 요소
  2. Initial RAM Disk
    • 시스템 부팅 및 초기화에 필요한 필수 드라이버, 모듈 및 스크립트가 포함
  3. Bootloader Configuration Files
    • GRUB(Grand Unified Bootloader) 또는 LILO(Linux Loader)와 같은 부트로더는 구성 파일을 /boot directory에 저장
  4. Other Boot-related Files
    • 부팅 및 시스템 초기화와 관련된 추가 파일
      • 암호화 키, 부트 스플래시 이미지, 특정 부트로더 또는 부트 옵션에 대한 구성 파일이 포함

2편 = /dev, /etc, /home, /lib

By Low ahn

리눅스를 처음 접하시는 분들은 위한 다양한 리눅스 정보를 공유합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다