Linux / 명령어 / mkfs - 새 파일 시스템 생성 전 확인 사항과 사용법

mkfs는 장치나 파티션에 새 파일 시스템을 만듭니다. 대상에 기존 파일 시스템과 데이터가 있다면 덮어쓸 수 있으므로, 실행 전 장치 식별과 백업이 필수입니다.

mkfs 명령어란?

mkfs는 파일 시스템별 생성 도구를 호출하는 프런트엔드입니다. 실제 관리에서는 mkfs.ext4, mkfs.xfs처럼 형식을 명시하는 도구를 자주 사용합니다. 파티션을 만드는 작업과 그 안에 파일 시스템을 만드는 작업은 서로 다릅니다.

기본 문법

sudo mkfs -t 파일시스템형식 장치

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man mkfs으로 현재 시스템의 설명을 확인하세요.

사용 예제

대상 장치와 데이터 확인

포맷 전 파티션의 형식, UUID, 크기와 마운트 상태를 확인합니다.

lsblk -f

파일 시스템 생성 문법

다음은 실제 장치 경로로 바꾸어야 하는 파괴적 명령의 형식입니다. 실행 전 백업과 대상 검증을 마치세요.

sudo mkfs.ext4 /dev/장치명

결과 식별 정보 조회

작업 후에는 형식과 새 UUID를 확인합니다.

sudo blkid /dev/장치명

포맷 후 확인해야 할 값

mkfs.ext4처럼 파일시스템을 만드는 명령은 대상 파티션의 기존 데이터를 잃게 할 수 있습니다. 실제 장치에 실행하기 전에 lsblk -f와 findmnt로 대상·마운트 상태를 확인하고 백업을 준비하세요.

lsblk -f
sudo mkfs.ext4 /dev/sdb1
sudo blkid /dev/sdb1

포맷이 정상 완료된 뒤 마지막 조회에서 기대하는 출력 형식의 예:

/dev/sdb1: UUID="..." TYPE="ext4"

UUID는 실제 실행 시 새로 생성되는 값이므로 예시의 점을 복사해 설정에 쓰면 안 됩니다. 포맷 도구가 성공 메시지를 출력해도 데이터가 복구 가능하다는 뜻은 아닙니다. 기존 파일시스템을 단순히 마운트하려는 목적이라면 mkfs가 필요하지 않습니다.

파티션 생성과 파일시스템 생성은 다른 작업입니다. fdisk나 parted로 파티션을 만들었다고 그 안에 ext4·XFS가 자동 생성되지는 않습니다. 반대로 기존 파일시스템을 단순히 연결하려는 경우 새로 포맷하면 오히려 데이터가 손실됩니다.

주요 옵션과 형식

옵션·형식 설명
-t 형식 mkfs 프런트엔드에서 생성할 파일 시스템 형식을 지정합니다.
mkfs.ext4 ext4 파일 시스템 전용 생성 도구입니다.
mkfs.xfs XFS 파일 시스템 전용 생성 도구입니다.
-L 레이블 파일 시스템별 도구에서 지원하면 레이블을 지정합니다.

사용할 때 주의할 점

포맷은 기존 데이터와 UUID를 바꿀 수 있으며 간단한 되돌리기 명령이 없습니다. 대상이 마운트돼 있거나 운영체제·백업 디스크인지를 확인하고, 백업을 별도 매체에서 검증하세요. 파일 시스템별 옵션과 크기 제한은 다르므로 man mkfs.ext4처럼 실제 생성 도구의 매뉴얼을 확인합니다.

자주 묻는 질문

mkfs를 실행하면 파티션도 만들어지나요?

아니요. mkfs는 선택한 장치에 파일 시스템을 만듭니다. 파티션 표 작성과 파티션 생성은 fdisk나 parted 같은 별도 작업입니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 mkfs 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux ln 명령어로 하드 링크와 심볼릭 링크를 만드는 방법을 설명합니다. 두 링크의 차이, 상대 경로, 깨진 링크와 기존 링크 교체 시 주의점도 정리합니다.

Linux / 명령어 / sftp - SSH로 안전하게 파일 전송

Linux / 명령어 / sftp - SSH로 안전하게 파일 전송

Linux sftp 명령어로 SSH 기반 파일을 업로드하고 다운로드하는 방법을 설명합니다. 경로 구분, 전송 재개, 공개 키 인증, 배치 자동화와 보안 점검 사항을 정리합니다.

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux traceroute 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

UID, GID, 기본·추가 그룹과 파일 소유권의 의미를 설명합니다. id, groups, getent, ls, stat으로 현재 계정과 파일의 소유 정보를 안전하게 확인합니다.

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

Linux nslookup 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / PID와 PPID 이해하기 - 프로세스 확인과 관리

Linux 강좌 / PID와 PPID 이해하기 - 프로세스 확인과 관리

PID와 PPID의 의미와 부모·자식 프로세스의 관계를 설명합니다. ps와 pgrep으로 확인하고, 직접 만든 실습 프로세스를 안전하게 종료하는 방법을 익힙니다.

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux apk 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux sudo 명령어로 허용된 명령을 root 또는 다른 사용자 권한으로 실행하는 방법을 설명합니다. 주요 옵션, 인증 캐시, 리디렉션 문제, visudo와 최소 권한 sudoers 설정 원칙을 정리합니다.

Linux / 명령어 / dpkg - 로컬 DEB 패키지 설치와 설치 정보 조회

Linux / 명령어 / dpkg - 로컬 DEB 패키지 설치와 설치 정보 조회

Linux dpkg 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / ping - 호스트 응답과 왕복 시간 확인

Linux / 명령어 / ping - 호스트 응답과 왕복 시간 확인

Linux ping 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.