2025. 3. 4. 14:50ㆍLinux File System
🚀 Linux 파일시스템 개요 및 주요 개념 정리
🎯 1. 파일시스템 개념 및 필요성
파일시스템은 컴퓨터의 데이터를 저장 및 관리하는 구조를 의미하며, 운영체제(OS)가 디스크 저장 공간을 효율적으로 사용하고, 파일을 쉽게 찾을 수 있도록 도와줍니다.
✅ 파일시스템이 필요한 이유
- RAM은 휘발성(Volatile) 메모리이므로, 전원이 꺼지면 데이터가 손실됨 → 비휘발성(Non-Volatile) 저장 장치 필요
- RAM은 저장 공간 비용이 비싸기 때문에 대량의 데이터를 저장하기에 적합하지 않음
- 디스크 저장소는 RAM보다 저렴하고 용량이 크며, 영구적으로 데이터 저장 가능
🎯 2. Linux에서 "파일시스템"의 다양한 의미
"파일시스템"이라는 단어는 여러 의미로 사용됩니다.
다음과 같은 3가지 주요 의미로 구분할 수 있습니다.
✅ 1) 전체 디렉터리 구조
- Linux는 단일 계층 디렉터리 구조(단일 루트 /) 를 가짐
- 모든 파일과 디렉터리는
/
(루트) 디렉터리를 중심으로 구성됨
✅ 2) 파일 저장 형식(파일시스템 종류)
- EXT3, EXT4, XFS, BTRFS, NTFS 등 다양한 형식이 존재
- Linux는 100개 이상의 파일시스템을 지원하며, 각 파일시스템은 데이터를 저장하는 고유한 메타데이터 구조를 가짐
✅ 3) 특정 파티션 또는 볼륨에 포맷된 파일시스템
- 디스크의 특정 영역(파티션 또는 논리 볼륨)에 특정 파일시스템 형식으로 포맷하여 저장 공간 활용
mount
명령어를 사용하여 특정 디렉터리에 마운트하여 사용
🎯 3. 파일시스템의 주요 기능
파일시스템은 단순한 데이터 저장뿐만 아니라 다양한 기능을 제공합니다.
✅ 1) 네임스페이스 (Namespace)
- 파일 및 디렉터리의 이름을 정하고, 조직화하는 방법
- 허용 가능한 문자, 파일명 길이 등의 규칙 정의
- 디렉터리(폴더) 구조를 사용하여 논리적으로 파일을 분류
✅ 2) 메타데이터 구조 (Metadata Structure)
- 파일의 속성(파일 크기, 생성 날짜, 변경 날짜, 저장 위치 등) 저장
- 디스크 블록의 사용 여부를 관리
- 논리적 디렉터리 구조 유지
✅ 3) API 제공 (Application Programming Interface)
- 시스템이 파일을 생성, 수정, 삭제, 이동하는 기능 제공
- 파일 배치 및 조각화 최소화를 위한 알고리즘 포함
✅ 4) 보안 모델(Security Model)
- 파일 및 디렉터리에 대한 접근 권한 설정 가능
- 사용자 및 그룹별로 파일 접근 권한을 세분화하여 관리 가능
chmod
,chown
,chgrp
명령어를 통해 파일 권한 제어
✅ 5) 가상 파일시스템 (Virtual File System, VFS)
- 커널이 다양한 파일시스템을 단일 인터페이스로 관리하는 계층
- EXT3, EXT4, NTFS 등의 서로 다른 파일시스템을 통일된 방식으로 접근 가능하도록 설계
📌 VFS 구조
🎯 4. Linux의 주요 디렉터리 구조
Linux의 파일 및 디렉터리는 계층적 트리 구조로 구성되어 있으며, Filesystem Hierarchy Standard(FHS)
를 준수합니다.
디렉터리 | 설명 |
---|---|
/ (root) |
최상위 디렉터리 |
/bin |
실행 가능한 필수 명령어 (ls , cat , cp 등) |
/boot |
부팅 관련 파일 (커널, GRUB 등) |
/dev |
장치 파일 (하드디스크, USB 등) |
/etc |
시스템 설정 파일 (passwd , fstab 등) |
/home |
일반 사용자 계정의 홈 디렉터리 |
/lib |
필수 공유 라이브러리 (glibc 등) |
/media |
USB, CD-ROM 등 이동식 미디어 마운트 위치 |
/mnt |
임시 마운트 디렉터리 |
/opt |
추가 소프트웨어 패키지 설치 경로 |
/root |
root 사용자의 홈 디렉터리 |
/sbin |
시스템 관리 명령어 (fdisk , iptables 등) |
/tmp |
임시 파일 저장소 |
/usr |
공유 가능한 응용 프로그램 및 라이브러리 |
/var |
로그, 이메일, 웹 서버 데이터 등 가변 파일 저장소 |
📌 Windows와 달리, Linux는 모든 저장 장치를 /
아래에 통합하여 관리
(예: /mnt/usb
에 USB 드라이브를 마운트)
🎯 5. Linux 파일시스템 유형
Linux는 다양한 파일시스템을 지원하며, 각 파일시스템은 특정 용도에 최적화되어 있습니다.
파일시스템 유형 | 설명 |
---|---|
EXT3 | 저널링 기능을 지원하는 Linux 파일시스템 |
EXT4 | EXT3의 개선 버전, 현재 가장 많이 사용됨 |
XFS | 대용량 파일에 최적화, 높은 성능 제공 |
BTRFS | 스냅샷 및 압축 기능을 지원하는 최신 파일시스템 |
VFAT | Windows와 호환되는 FAT 기반 파일시스템 |
NTFS | Windows에서 주로 사용되는 파일시스템 |
ReiserFS | 빠른 파일 검색이 가능한 파일시스템 |
📌 EXT4가 현재 Linux에서 가장 많이 사용되는 표준 파일시스템
🎯 6. 파일시스템 마운트 (Mounting)
Linux에서는 파일시스템을 특정 디렉터리에 "마운트(mount)"하여 접근합니다.
✅ 마운트 명령어 사용법
1️⃣ USB 드라이브 마운트 예제
sudo mount /dev/sdb1 /mnt/usb
✅ /dev/sdb1
(USB 드라이브)을 /mnt/usb
디렉터리에 마운트
2️⃣ 자동 마운트 설정 (/etc/fstab
활용)
/dev/sdb1 /mnt/usb ext4 defaults 0 0
✅ 부팅 시 자동으로 /mnt/usb
에 마운트
3️⃣ 마운트 해제 (Unmount)
sudo umount /mnt/usb
✅ /mnt/usb
의 마운트 해제
🎯 7. 결론
✅ Linux 파일시스템은 데이터를 효율적으로 저장하고 관리하는 핵심 요소
✅ VFS(Virtual File System)를 통해 다양한 파일시스템을 통합적으로 관리
✅ 파일시스템에는 EXT4, XFS, BTRFS, NTFS 등 다양한 종류가 존재
✅ 마운트(Mount)를 통해 저장 장치를 디렉터리로 연결하여 사용
✅ 디렉터리 구조는 FHS(Filesystem Hierarchy Standard)를 준수
💡 Linux 파일시스템을 이해하면 데이터 저장 및 관리가 더욱 효과적으로 이루어집니다! 🚀
'Linux File System' 카테고리의 다른 글
inode (0) | 2025.03.04 |
---|---|
EXT4 (0) | 2025.03.04 |