Linux Directory의 구조와 이론 1편 /, /bin, /boot
포스팅 목차
Linuix Directory?
파일 및 기타 Directory를 계층 구조로 구성하는 데 사용되는 컨테이너 또는 폴더입니다.
Linux 시스템에서 파일과 데이터를 구성하고 관리하는 방법으로 사용됩니다. Directory는 다른 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?
Directory | Description |
---|---|
/ | 루트 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
- Kernel Image
- 시스템 리소스를 관리하고 장치 드라이버를 제공하며 사용자 프로그램을 실행하는 운영 체제의 핵심 구성 요소
- Initial RAM Disk
- 시스템 부팅 및 초기화에 필요한 필수 드라이버, 모듈 및 스크립트가 포함
- Bootloader Configuration Files
- GRUB(Grand Unified Bootloader) 또는 LILO(Linux Loader)와 같은 부트로더는 구성 파일을 /boot directory에 저장
- Other Boot-related Files
- 부팅 및 시스템 초기화와 관련된 추가 파일
- 암호화 키, 부트 스플래시 이미지, 특정 부트로더 또는 부트 옵션에 대한 구성 파일이 포함
- 부팅 및 시스템 초기화와 관련된 추가 파일
2편 = /dev, /etc, /home, /lib