
01. 파일시스템의 이해
1. 파일 시스템
- 스토리지 장치에 파일을 명명하고, 저장하고, 읽어내는 방법을 제공하는 시스템
- 파일 시스템 설계 목적, 스토리지, 워크로드에 맞게 다양한 파일 시스템이 존재
2. 역할
- 공간 관리 : 파편화 관리, HDD 회전 시간 등을 고려해서 공간 배치
- 파일 이름 관리 : 이름 길이, 특수 문자, 대소문자 구분 여부 등
- 디렉토리 관리 : 디렉토리 정보 관리
예) HDD의 경우 부모 디렉토리 정보를 참고해서 동일 디렉토리는 인접 물리적 위치에 기록(flash는 해당 없음)
- 메타 데이터 관리 : 파일 길이, 권한, 디바이스 타입, 수정 시간, 기타 속성 등
- 장애 관리 : 시스템 장애시 파일 유실 방지(저널링 등)
3. 디스크 기반 파일 시스템
- 시스템에 연결된 로컬 디스크나 SSD 등을 관리 파일시스템
- Linux : EXT3, EXT4, ZFS, BTRFS
- Windows : FAT, NTFS, REFS
- MacOS : HFS, APFS
4. 네트워크 파일 시스템
- 네트워크로 연결된 다른 컴퓨터의 파일 시스템에 있는 파일을 쉽게 접근하도록 지원
- 로컬 디렉토리에 마운트 하여 사용할 수 있고 여러 서버가 동시에 파일 시스템을 접근 가능
- NFS, SMB, CIFS
5. 특수 파일 시스템(가상 파일 시스템)
- 실제 디스크 공간을 관리하지 않음
- proc, sysfs, tmpfs, cgroup 등
02. 파일시스템의 마운트
1. 디렉토리 구조
- 윈도우는 드라이브, 파티션별로 구성된 네임스페이스 개념을 사용하고
리눅스는 / (루트) 디렉토리를 시작으로 하위 디렉토리로 내려가는 계층구조로 표현

이미지 출처 : https://www.linuxyogi.com/linux-directory-structure-file-system-hierarchy/
- 절대 경로 : / 부터 순서대로 경로를 작성해 사용
예) cat /var/log/messages
- 상대 경로 : / 없이 현재 위치에서 부터 경로를 작성해 사용
에) cd /var
cat log/messages
- 시스템 콜로 넘겨 줄 수 있는 전체 경로 길이에 제한이 존재해 이런 경우 cd로 경로를 변경한 후 상대 경로를 사용해야함
2. 마운트
- 리눅스는 여러 장치의 파일 시스템을 마운트해서 구성됨
- 시스템에 기본으로 마운트되야 하는 파일 시스템 정보는 /etc/fstab 파일에 저장해야 재부팅 후에도 마운트됨
*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Linux' 카테고리의 다른 글
| 사용자 관리 : 사용자 관리의 이해 (0) | 2023.02.28 |
|---|---|
| 파일시스템 : 파일 타입 및 속성 이해 (0) | 2023.02.27 |
| 프로세스 관리 : 주기적 실행 작업 관리 (0) | 2023.02.25 |
| 프로세스 관리 : 프로세스 관리 명령어, proc 파일 시스템 (0) | 2023.02.24 |
| 프로세스 관리 : 프로세스 구성 요소 (0) | 2023.02.23 |