1. 파일 시스템(File System)
파일에 대한 정보를 관리하는 소프트웨어이다.
운영체제의 요청을 받아 파일을 저장 장치에 저장하고,
운영체제가 저장된 파일을 읽을 수 있도록 한다.
🖥️ 디스크 기반 파일 시스템 (Disk-based File System)
HDD, SSD와 같은 저장 장치를 위한 파일 시스템이다.
- 운영체제가 직접 관리
- 특정 저장 장치에 의존
포맷(Format)
저장 장치에 파일 시스템을 설치하는 것을 의미한다.
→ 파일을 저장할 수 있는 상태로 만드는 과정
대표적인 파일 시스템 종류
파일 시스템설명사용 예시
| NTFS | Windows 기본 파일 시스템 | Windows |
| FAT32 | 범용성 높지만 파일 크기 제한 존재 | USB, SD 카드 |
| exFAT | FAT32 개선 버전, 파일 크기 제한 없음 | 외장하드, USB |
| ext4 | Linux 기본 파일 시스템 | Ubuntu, Debian |
| XFS | 고성능 저널링 파일 시스템 | 서버, 데이터베이스 |
🛠️ 특징
✔ 빠른 접근 속도
✔ 파일 및 폴더를 저장 장치에 직접 저장
✔ 특정 운영체제와만 호환되는 경우 존재
🌐 네트워크 기반 파일 시스템 (Network File System)
원격 컴퓨터에 연결된 저장 장치를 네트워크를 통해
로컬 컴퓨터에서 사용하는 방식
대표적인 네트워크 파일 시스템
파일 시스템설명사용 예시
| NFS | Linux/Unix 환경에서 많이 사용 | 서버 간 파일 공유 |
| SMB | Windows 네트워크 공유 프로토콜 | Windows 파일 공유 |
| CIFS | SMB 확장판 | Windows ↔ Linux 공유 |
| AFS | 대규모 네트워크 파일 시스템 | 연구 기관, 기업 |
🛠️ 특징
✔ 여러 사용자가 동시에 파일 공유 가능
✔ 로컬 디스크 공간 절약
✔ 네트워크 필요
🗃️ 가상 파일 시스템 (Virtual File System, VFS)
실제 물리적인 파일이 존재하지 않는다.
운영체제가 내부 정보를 디렉터리/파일 형태로 구조화하여 노출하는 인터페이스이다.
VFS의 역할
- ext4, NTFS, NFS 등 다양한 파일 시스템을 하나의 인터페이스로 통합
- 애플리케이션이 특정 파일 시스템을 몰라도 되게 함
대표적인 VFS 종류
파일 시스템설명사용 예시
| procfs | /proc 디렉터리에 시스템 정보 제공 | 프로세스 정보 |
| sysfs | /sys 디렉터리에 커널 정보 제공 | 장치 정보 |
| tmpfs | RAM 기반 파일 저장 | 임시 파일 |
| devfs | /dev 디렉터리에 장치 파일 저장 | USB, 디스크 |
🛠️ 특징
✔ 파일 시스템을 추상화
✔ 물리 저장소 없이 RAM 기반으로 동작 가능
✔ 운영체제 내부에서 사용하는 특수 파일 시스템 포함
2. 리눅스의 파일 계층 구조
리눅스는 모든 파일을 하나의 계층 구조로 관리한다.
→ 최상위에 루트 디렉터리(/) 하나만 존재한다.
3. 파일의 종류
- 일반 파일 (텍스트, 동영상, 이미지 등)
- 디렉터리
- 심볼릭 링크 파일 (바로가기 개념)
- 블록 디바이스 파일
- 문자 디바이스 파일
- 파이프 파일
- 소켓 파일
4. 디렉터리 구조
1️⃣ 루트 디렉터리 (/)
파일 시스템의 최상단
/
├── bin/ # 기본 명령어 실행 파일
├── boot/ # 부팅 관련 파일
├── dev/ # 장치 파일
├── etc/ # 설정 파일
├── home/ # 사용자 홈 디렉터리
├── root/ # root 계정 홈 디렉터리
├── var/ # 로그, 캐시
└── ...
주요 디렉터리 설명
- /bin → 기본 실행 명령어
- /dev → 장치 파일
- /etc → 시스템 설정 파일
- /home → 사용자 홈 디렉터리
- /lib → 시스템 라이브러리
- /mnt → 임시 마운트
- /proc → procfs 마운트
- /root → root 사용자 홈
- /sbin → 시스템 관리 명령어
- /sys → sysfs 마운트
- /tmp → 임시 파일
- /usr → 시스템 소프트웨어
2️⃣ 현재 작업 디렉터리
Bash가 현재 실행 중인 디렉터리
3️⃣ 홈 디렉터리
사용자별로 할당되는 디렉터리
- 일반 사용자 → /home/사용자명
- root 사용자 → /root
cd / vs cd ~
- cd / → 최상위 루트 디렉터리 이동
- cd ~ → 현재 사용자 홈 디렉터리 이동
루트 디렉터리가 최상위인 이유
- 모든 파일과 디렉터리는 / 아래에 존재하도록 설계됨
- /home 역시 /의 하위 디렉터리
✅ 결론: 루트 디렉터리가 최상위, 홈 디렉터리는 그 아래 위치
4️⃣ 상대 경로와 절대 경로
경로(Path)
: 파일의 위치 정보를 표현하는 방식
📌 상대 경로
현재 작업 디렉터리 기준으로 표현
📌 절대 경로
루트 디렉터리(/) 기준으로 표현
'개발 공부 > Linux' 카테고리의 다른 글
| [Linux] 소유권과 권한 (0) | 2026.03.01 |
|---|---|
| [Linux] 사용자와 사용자 그룹 (0) | 2026.03.01 |
| [Linux] 셸(2) (0) | 2026.03.01 |
| [Linux] 셸(1) (0) | 2026.03.01 |
| [Linux] 리눅스 소개 (0) | 2026.03.01 |
