2026. 6. 13. 22:26ㆍ리눅스
Ⅰ. 파일 시스템 생성
Ⅰ-Ⅰ. 파일 시스템
| 파일 시스템 (File System) |
구분 | 설명 | ||
| 정의 | 데이터 (파일)을 저장하고 관리하는 구조 체계로 하드디스크와 SSD, USB 등의 저장장치 위에서 동작 |
|||
| 역할 | 데이터를 파일 단위로 구성 및 관리 | |||
| 파일 이름, 위치, 크기, 권한 등의 메타 데이터 관리 | ||||
| 저장 공간을 효율적으로 관리하고 데이터 접근 속도 향상 | ||||
| 구성 요소 | 구성 요소 | 설명 | ||
| 슈퍼블록 (Superblock) |
파일 시스템 전체 정보 저장 | |||
| inode 테이블 | 파일의 속성 정보 관리 | |||
| 데이터 블록 (Data Block) |
실제 파일 데이터 저장 공간 | |||
| 예시 | 분류 | 예시 | 설명 | |
| 리눅스 | ext2 (Second Extended File System) |
리눅스의 기본 파일 시스템 중 하나 | ||
| 저널링 기능 없음 | ||||
| 속도는 빠르지만 데이터 손상 복구 어려움 | ||||
| ext3 (Thrid Extended File System) |
ext2에 저널링 기능을 추가하여 시스템 오류나 전원 차단 시 데이터 복구 용이 |
|||
| ext4 (Fourth Extended File System) |
ext3의 향상 버전 | |||
| 대용량 파일 (최대 16TB) 및 디스크 지원 | ||||
| 속도와 안정성 향상 | ||||
| XFS | 고성능 저널링 파일 시스템 | |||
| 대용량 데이터 처리에 최적화되어 서버 환경에서 많이 사용됨 |
||||
| Btrfs (B - tree File System) |
스냅샷 (Snapshot), 압축, 복제 등 고급 기능 지원 | |||
| 차세대 파일 시스템으로 발전 중 | ||||
| 윈도우 | FAT32 (File Allocation Table 32) |
호환성이 높지만 4GB 이상의 파일 저장 불가 | ||
| 주로 USB, 외장하드 등에서 사용됨 | ||||
| NTFS (New Technology File System) |
윈도우 기본 파일 시스템 | |||
| 파일 암호화, 압축, 권한 관리 등 보안 및 안정성 뛰어남 | ||||
Ⅰ - Ⅱ. 파일 시스템 생성
| 파일 시스템 생성 | 구분 | 설명 | |
| 정의 | 디스크에 파일 시스템 구조를 생성하는 과정 | ||
| 데이터를 저장할 수 있는 논리적 구조를 만드는 단계 | |||
| 명령어 | mkfs (Make File System) 명령 사용 ex) mkfs.ext4 /dev/sdb1 |
||
| 작동 원리 | 지정된 파티션 (ex. /dev/sdb1)에 파일 시스템 구조 생성 | ||
| 슈퍼블록, inode, 데이터 블록 등 초기화 | |||
| 해당 파티션을 파일 시스템으로 인식 가능하게 만듦 | |||
| 주의사항 | 파일 시스템을 새로 생성할 경우, 기존 데이터 모두 삭제됨 | ||
| 포맷 (format)과 같은 의미로 사용되기도 함 | |||
| 확인 명령어 | 명령어 | 설명 | |
| lsblk -f | 디스크와 파티션의 파일 시스템 유형 확인 | ||
| blkid | 장치의 UUID 및 파일 시스템 정보 확인 | ||
Ⅱ. 파일 시스템 생성

whereis mkfs 명령을 통해 mkfs 명령어의 실행 파일, 매뉴얼 파일, 소스 코드의 위치 확인
whereis fdisk 명령을 통해 fdisk 명령어의 실행 파일 및 매뉴얼 파일 위치 확인
ls -l /usr/sbin/fdisk 명령을 통해 /usr/sbin/fdisk의 상세 정보 확인
ls -l /usr/sbin/mkfs 명령을 통해 /usr/sbin/mkfs의 상세 정보 확인
ls -l /dev/sdb 명령을 통해 /dev/sdb의 상세 정보 확인
ls -l /dev/sd* 명령을 통해 리눅스 커널에 인식된 SCSI/SATA 디스크 장치 목록 확인

mkfs -t xfs /dev/sdb1 명령을 통해 /dev/sdb1 디스크 파티션에서 xfs 타입의 파일 시스템 생성
mkfs -t ext4 /dev/sdb1 명령을 통해 /dev/sdb1 디스크 파티션에 ext4 타입의 파일 시스템 생성

mkfs -t ext4 /dev/sdb2 > /dev/null 명령을 통해 /dev/sdb2 디스크 파티션에
쓰기 작업은 허용하지만 모든 내용을 즉시 폐기하는 ext4 타입의 파일 시스템 생성
mkfs -t ext4 /dev/sdb3 > /dev/null 명령을 통해 /dev/sdb3 디스크 파티션에
쓰기 작업은 허용하지만 모든 내용을 즉시 폐기하는 ext4 타입의 파일 시스템 생성
mkfs -t ext4 /dev/sdb4 > /dev/null 명령을 통해 /dev/sdb4 디스크 파티션에
쓰기 작업은 허용하지만, 모든 내용을 즉시 폐기하는 ext4 파일 시스템 생성

lsblk 명령을 통해 블록 장치 목록을 트리 구조로 확인
df -h 명령을 통해 마운트된 파일 시스템의 사용량 확인
Ⅲ. mount 명령어를 이용한 마운트
| mount 명령어를 이용한 마운트 |
구분 | 설명 | |
| 개념 | 마운트 (Mount)는 파일 시스템을 특정 디렉터리에 연결하여 사용 가능하게 하는 과정 의미 | ||
| 특징 | 리눅스는 부팅 시 자동 마운트를 하지 않으면 재부팅 후 mount 정보가 초기화됨 | ||
| 일반적으로 /mnt 또는 /media 디렉터리를 마운트 지점 (Mount Point)으로 사용 | |||
| 마운트 절차 | 파티션 생성 -> 파일 시스템 생성 (mkfs) -> 마운트 (mount) -> 사용 가능 | ||
| 확인 명령어 | 명령어 | 설명 | |
| mount | 현재 마운트된 파일 시스템 목록 확인 | ||
| df -h | 디스크 사용량 및 마운트된 장치 정보 확인 | ||
| 종류 | mount | ||
| umount | |||
| 주의사항 | 마운트가 된 디렉터리 안의 파일이 프로세스에서 사용 중인 경우, umount 명령으로 해제 불가능 |
||
| 현재 작업 디렉터리(pwd)가 마운트된 경로인 경우에도 해제 불가능 | |||
| 강제로 해제하려면 umount -f 옵션 사용 가능 (비추천) | |||
| 자동 마운트 설정 | 재부팅 후에도 자동 마운트를 유지하려면 /etc/fstab 파일에 설정 필요 (ex. /dev/sdb1 /mnt ext4 defaults 0 0) |
||
Ⅲ -Ⅰ. mount와 umount
| 명령어 | 설명 | 예시 | 설명 |
| mount | 파일 시스템 (파티션)을 지정한 디렉터리에 연결하여 사용할 수 있게 함 |
mount /dev/sdb1 /mnt | /dev/sdb1 파티션을 /mnt 디렉터리에 마운트 |
| umount | 마운트된 디렉터리를 해제 (Unmount) | umount /mnt | 마운트 해제 시 해당 디렉터리 내 파일이 사용 중이면 해제 불가 |

ls / 명령을 통해 리눅스 파일 시스템의 최상위 디렉터리 확인
ls /mnt 명령을 통해 /mnt 디렉터리 확인
mkdir /mnt/test{1..4} 명령을 통해 /mnt/test1, /mnt/test2, /mnt/test3, /mnt/test4까지의 디렉터리 생성
ls /mnt 명령을 통해 /mnt 디렉터리 내 목록 확인
ls -l /dev/sdb* 명령을 통해 /dev 디렉터리에서 sdb로 시작하는 모든 장치 파일의 목록 확인

mount /dev/sdb1 /mnt/test1 명령을 통해 /dev/sdb1 디스크 파티션을 /mnt/test1 디렉터리에 mount
mount /dev/sdb2 /mnt/test2 명령을 통해 /dev/sdb2 디스크 파티션을 /mnt/test2 디렉터리에 mount
mount /dev/sdb3 /mnt/test3 명령을 통해 /dev/sdb3 디스크 파티션을 /mnt/test3 디렉터리에 mount
mount /dev/sdb4 /mnt/test4 명령을 통해 /dev/sdb4 디스크 파티션을 /mnt/test4 디렉터리에 mount
df -h 명령을 통해 잘 마운트되었는지 확인

cp /etc/services /mnt/test1 명령을 통해 /etc/services 파일의 내용을 /mnt/test1 디렉터리로 복사
ls -l /mnt/test1 명령을 통해 /mnt/test1 디렉터리에 잘 복사되었는지 확인
df -h 명령을 통해 마운트 된 디스크의 사용량 확인

umount /dev/sdb4 명령을 통해 /dev/sdb4 디스크 파티션의 마운트 해제
umount /mnt/test3 명령을 통해 /mnt/test3 디렉터리의 마운트 해제
df -h 명령을 통해 마운트가 잘 해제되었는지 확인

cd /mnt/test2 명령을 통해 홈 디렉터리에서 /mnt/test2 디렉터리로 이동
df -h 명령을 통해 마운트 된 디스크의 사용량 확인
umount /dev/sdb2 명령을 통해 /dev/sdb2 디스크 파티션의 마운트 해제
umount /mnt/test2 명령을 통해 /mnt/test2 디렉터리의 마운트 해제
cd 명령을 통해 /mnt/test2 디렉터리에서 홈 디렉터리로 이동

df -h 명령을 통해 마운트 된 디스크의 사용량 확인
umount -a 명령을 통해 모든 파일 시스템 마운트 해제
(하지만, 현재 사용 중인 것은 umount 불가능)
df -h 명령을 통해 마운트가 잘 해제되었는지 확인

mount /dev/sdb1 /mnt/test1 명령을 통해 /dev/sdb1 디스크 파티션을 /mnt/test1 디렉터리에 mount
df -h 명령을 통해 잘 mount되었는지 확인
ls -l /mnt/test1 명령을 통해 /mnt/test1 디렉터리 상세 정보 확인

umount /dev/sdb1 명령을 통해 /dev/sdb 디스크 파티션의 마운트 해제
df -h 명령을 통해 마운트가 잘 해제되었는지 확인

ls -l /etc/fstab 명령을 통해 /etc/fstab 파일의 상세 정보 확인
file /etc/fstab 명령을 통해 /etc/fstab 파일의 정보 확인
cat /etc/fstab 명령을 통해 /etc/fstab 파일의 내용 확인
df -h 명령을 통해 마운트 된 디스크의 사용량 확인

vi /etc/fstab 명령을 통해 vi 편집기 사용하여 /etc/fstab 파일에 내용 추가
cat /etc/fstab 명령을 통해 /etc/fstab 파일에 추가된 내용 확인

mount -a 명령을 통해 /etc/fstab 파일에 등록된 모든 파일 시스템을 한 번에 마운트

systemctl daemon-reload 명령을 통해 systemd가 관리하는 서비스 파일이나 설정 파일의 변경 사항 다시 로드
mount -a 명령을 통해 /etc/fstab 파일에 등록된 모든 파일 시스템을 한 번에 마운트
df -h 명령을 통해 잘 마운트되었는지 확인

vi /etc/fstab 명령을 통해 vi 편집기 사용하여 /etc/fstab 파일에 추가했던 내용 삭제
cat /etc/fstab 명령을 통해 /etc/fstab에 추가되었던 내용이 잘 삭제되었는지 확인

umount - a 명령을 통해 /mnt/test1, /mnt/test2, /mnt/test3, /mnt/test4 마운트 해제
df -h 명령을 통해 마운트가 잘 해제되었는지 확인

ls -l /dev/disk/by-uuid/ 명령을 통해 UUID 확인

tune2fs -l /dev/sdb1 | grep -i uuid 명령을 통해 /dev/sdb1 디스크 파티션의 UUID 확인
tune2fs -l /dev/sdb2 | grep -i uuid 명령을 통해 /dev/sdb2 디스크 파티션의 UUID 확인
tune2fs -l /dev/sdb3 | grep -i uuid 명령을 통해 /dev/sdb3 디스크 파티션의 UUID 확인
tune2fs -l /dev/sdb4 | grep -i uuid 명령을 통해 /dev/sdb4 디스크 파티션의 UUID 확인
'리눅스' 카테고리의 다른 글
| Linux RAID 디스크 구성 (0) | 2026.06.14 |
|---|---|
| Linux LVM 디스크 구성 (0) | 2026.06.13 |
| Linux 디스크 파티션 작업 (0) | 2026.06.13 |
| Linux 프로세스 관리 (0) | 2026.06.13 |
| Linux Shell (0) | 2026.06.13 |