ioerror

mtools - 리눅스에서 MS-DOS 파일 시스템 관리 명령어 패키지 본문

OS

mtools - 리눅스에서 MS-DOS 파일 시스템 관리 명령어 패키지

반응형

mtools - MS-DOS tools

리눅스 및 유닉스 환경에서 MS-DOS 또는 Windows의 FAT 파일 시스템(플로피 디스크, 하드디스크 파티션, 이미지 파일 등)을 마운트(Mount)하지 않고도 직접 접근하여 파일을 읽고, 쓰고, 지우고, 포맷할 수 있게 해주는 유틸리티 명령어 패키지이다.

mtools는 단일 명령어가 아니라 mdir, mcopy, mformat 등 MS-DOS 명령어 앞에 'm'을 붙인 형태의 여러 하위 명령어들로 구성된 도구 모음이다.

1. 명령어 패키지 용도

  • 복잡하게 mount 명령어를 사용하거나 관리자 권한(sudo)을 얻지 않고도, FAT 형식으로 포맷된 디스크나 플로피 디스크 내부의 파일 시스템을 신속하게 제어할 때 사용한다.
  • 임베디드 시스템 개발 시 가상의 디스크 이미지 파일(FAT format)을 만들고 그 안에 부트로더나 커널 파일을 직접 주입하는 스크립트를 작성할 때 매우 유용하다.
  • 과거 레트로 컴퓨팅 환경에서 플로피 디스크 드라이브(FDD)와 데이터를 주고받을 때 필수적으로 사용되었다.

2. 주요 하위 명령어 구성

MS-DOS의 기본 명령어 세트와 완전히 대치되는 구조를 가지고 있다.

명령어 대응되는 DOS 명령어 설명
mdir dir DOS 디스크 내의 파일 및 디렉터리 목록을 출력함
mcopy copy 리눅스 ↔ DOS 디스크 간에 파일을 복사함
mdel / mdeltree del / deltree DOS 디스크 내의 파일 또는 디렉터리 트리를 삭제함
mformat format 디스크나 이미지 파일을 FAT 구조로 포맷함
mmd / mrd mkdir / rmdir DOS 디스크 내에 새 디렉터리를 만들거나 삭제함
mren ren DOS 디스크 내의 파일 이름을 변경함
mcd cd DOS 디스크 내에서 가상으로 작업 디렉터리를 이동함

3. 명령어 사용 패턴 및 예시

기본적으로 A: 나 B: 같은 드라이브 문자(주로 플로피 디스크를 의미)를 타겟으로 지정하여 사용하며, 필요 시 환경 설정 파일(/etc/mtools.conf 또는 ~/.mtoolsrc)을 통해 특정 이미지 파일을 드라이브 문자에 매핑할 수 있다.

# 1. 플로피 디스크(A:)의 파일 목록 확인
mdir a:

# 2. 리눅스 현재 폴더의 test.txt 파일을 플로피 디스크(A:)로 복사
mcopy test.txt a:

# 3. 플로피 디스크(A:)에 있던 readme.txt 파일을 리눅스의 /tmp 폴더로 복사
mcopy a:readme.txt /tmp/

# 4. 플로피 디스크 내부의 특정 파일 삭제
mdel a:oldfile.bak

# 5. 가상 디스크 이미지 파일을 FAT 파일 시스템으로 포맷 (주로 개발 프로세스에서 사용)
# mtools.conf에 해당 이미지 파일이 v드라이브 등으로 지정되어 있다고 가정
mformat v:

4. 명령어 특이사항(유의사항)

  • 리눅스 경로 규칙과의 차이: mtools 내부에서 DOS 드라이브의 하위 경로를 탐색할 때는 유닉스의 슬래시(/) 대신 MS-DOS 고유의 백슬래시(\)를 사용해야 정상 인식되는 경우가 많다. 쉘 환경에서 백슬래시를 쓸 때는 이스케이프 문자 처리를 위해 따옴표로 감싸주어야 한다. (예: mdir "a:\games\doom")
  • 대소문자 구분: 유닉스/리눅스 파일 시스템과 달리 MS-DOS의 파일 시스템 규칙을 따르므로 파일명의 대소문자를 구분하지 않는다.
  • 현재적 의미 (2026년 기준): 플로피 디스크의 퇴역과 리눅스 커널 자체의 FAT/NTFS 자동 마운트 성능 향상으로 인해 일반 사용자가 쓸 일은 거의 없어졌다. 하지만 임베디드 리눅스 빌드 시스템, OS 커널 개발 환경(라즈베리 파이 부팅 이미지 제작 등), 혹은 도스박스(DOSBox)나 에뮬레이터용 가상 디스크 이미지를 다루는 자동화 스크립트 분야에서는 여전히 현역으로 요긴하게 활용된다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

 

반응형
Comments