공든탑앱 열기

mkfs·mke2fs

리눅스마스터 2급 · 파일 시스템 관련 명령어 · 약 7분

쉽게 말하면

나눈 디스크 칸에 파일을 정리할 규칙(파일시스템)을 새로 까는 명령이에요. 흔히 말하는 '포맷'이에요. 안에 있던 내용은 모두 지워져요.

시험용 정의

mkfs(make filesystem)는 파티션에 파일시스템을 만드는(포맷하는) 명령이다. 기존 데이터는 모두 지워진다. ext 계열 전용 도구는 mke2fs다.

비유로 이해하기

구획한 땅(파티션)에 도로와 번지 체계(파일시스템)를 새로 깔아 입주 준비를 하는 것이다. 기존 건물은 모두 철거된다.

자세히

포맷하면 무엇이 생기나

파티션은 만들기만 하면 빈 구역일 뿐이다. mkfs가 그 위에 파일을 담을 틀을 만든다(포맷). ext4 기준으로 다음이 생긴다.

  • 블록: 데이터를 저장하는 칸(보통 4KB). 파일 내용은 블록 여러 개에 나뉘어 들어간다
  • 아이노드(inode) 테이블: 파일마다 한 칸씩, 권한·소유자·크기·블록 위치를 적는 표. 포맷할 때 개수가 정해져서, 작은 파일이 아주 많으면 용량이 남아도 아이노드가 먼저 떨어질 수 있다
  • 슈퍼블록: 파일시스템 전체의 요약 정보(블록 크기, 전체·빈 블록 수, 아이노드 수, 마운트 횟수). 손상되면 파일시스템을 못 읽으므로 여러 곳에 백업 슈퍼블록을 둔다
  • 블록 그룹: 디스크를 여러 구역으로 나눠 구역마다 블록·아이노드를 따로 관리하는 단위. 파일 조각이 가까이 모여 빠르다

형식과 예

명령뜻
mkfs -t ext4 /dev/sdb1ext4로 포맷 (-t 생략 시 기본 ext2)
mkfs.ext4 /dev/sdb1위와 같음
mkfs.xfs /dev/sdb1XFS로 포맷
mkfs.vfat /dev/sdc1FAT (USB 호환용)
mke2fs -j /dev/sdb1저널링 추가 = ext3
mke2fs -t ext4 /dev/sdb1ext4

mke2fs 주요 옵션

-t 종류ext2/ext3/ext4 지정
-j저널링(ext3)
-b 크기블록 크기 (1024, 2048, 4096)
-i 바이트inode 하나당 바이트 (작을수록 inode 많아짐)
-L 이름볼륨 라벨
-m 퍼센트root 예약 공간 (기본 5%)

만든 뒤 조정·확인

tune2fs: ext 파일시스템 설정 변경 (tune2fs -j ext2→ext3, -L 라벨, -c 최대 마운트 횟수). dumpe2fs: 슈퍼블록·블록 그룹 정보 출력. e2label: 라벨 보기·변경. blkid: UUID·종류 확인.

시험에 이렇게 나와요

확인 문제

Q1. mkfs -t ext4 /dev/sdb1과 같은 동작을 하는 명령은?

  1. tune2fs ext4 /dev/sdb1
  2. mount -t ext4 /dev/sdb1
  3. mkfs.ext4 /dev/sdb1
  4. fsck.ext4 /dev/sdb1
정답 보기

3번 mkfs.ext4 /dev/sdb1

mkfs는 실제로는 mkfs.파일시스템 이름의 전용 프로그램을 불러 준다. 그래서 mkfs -t ext4 = mkfs.ext4(= mke2fs -t ext4).

Q2. 새 파티션 /dev/sdc1의 UUID와 파일시스템 종류를 한 번에 확인하는 명령은?

  1. fdisk -u /dev/sdc1
  2. mkfs -l /dev/sdc1
  3. df -u
  4. blkid /dev/sdc1
정답 보기

4번 blkid /dev/sdc1

blkid. fstab에 UUID로 등록할 때 쓴다.

Q3. ext4 파일시스템을 만드는 명령이 아닌 것은?

  1. mkfs.xfs -t ext4 /dev/sdb1
  2. mkfs -t ext4 /dev/sdb1
  3. mke2fs -t ext4 /dev/sdb1
  4. mkfs.ext4 /dev/sdb1
정답 보기

1번 mkfs.xfs -t ext4 /dev/sdb1

mkfs.xfs -t ext4다. mkfs.xfs는 XFS 전용이다. mkfs.ext4, mke2fs -t ext4, mkfs -t ext4는 모두 ext4를 만든다.

Q4. mkfs 명령에서 -t 옵션을 생략했을 때 기본으로 만들어지는 파일시스템은?

  1. ext2
  2. xfs
  3. vfat
  4. ext4
정답 보기

1번 ext2

ext2다(교재 기준). 다른 파일시스템을 만들려면 -t로 종류를 지정하거나 mkfs.ext4처럼 쓴다.

Q5. ext2 파일시스템을 ext3로 바꾸기 위해 저널을 추가하는 명령은?

  1. mkfs -J
  2. mke2fs -r
  3. e2fsck -j
  4. tune2fs -j
정답 보기

4번 tune2fs -j

tune2fs -j (데이터 유지).

Q6. ext 파일시스템의 슈퍼블록과 블록 그룹 정보를 출력하는 명령은?

  1. mount
  2. dumpe2fs
  3. e2label
  4. blkid
정답 보기

2번 dumpe2fs

dumpe2fs다. ext 파일시스템의 슈퍼블록과 블록 그룹 정보를 자세히 보여 준다. blkid는 UUID와 종류만 보여 준다.

헷갈리기 쉬운 O·X

mkfs로 포맷해도 기존 파티션의 파일은 그대로 남는다.

정답 보기

X 새 파일시스템을 만들면 기존 데이터는 사라진다.

mke2fs -j 는 저널링 기능이 있는 ext3 파일시스템을 만든다.

정답 보기

O 맞는 설명이다.

함께 보면 좋은 개념