linux 명령어 dd

블록장치 읽고 쓰기.

$ dd
Linux 명령어 dd

Linux 명령어 dd

데이터를 복제하거나 변환하는 강력한 유틸리티 명령어

1. 자세한 설명

dd 명령어는 Linux에서 데이터 복사 및 변환 작업을 수행하기 위해 사용됩니다. 이를 통해 파일, 장치, 파티션 등을 복제하거나 특정 형식으로 변환할 수 있습니다. 주로 디스크 복제, 이미지 생성, 또는 파일 데이터 변환과 같은 작업을 위해 활용됩니다.

2. 사용법

  1. 기본 복사
    dd if=[입력 파일] of=[출력 파일]
    입력 파일 데이터를 출력 파일로 복사합니다.
  2. 디스크 복제
    dd if=[소스 디스크] of=[대상 디스크]
    디스크의 데이터를 그대로 복제합니다.
  3. 특정 블록 크기 지정
    dd if=[입력 파일] of=[출력 파일] bs=[블록 크기]
    데이터를 지정된 블록 크기 단위로 복사합니다.

3. 자세하게 설명

dd 명령어는 아래와 같은 옵션을 지원합니다:

  • if=[파일]: 입력 파일을 지정합니다.
  • of=[파일]: 출력 파일을 지정합니다.
  • bs=[크기]: 블록 크기를 설정합니다.
  • count=[숫자]: 지정된 블록 수만큼 복사합니다.
  • status=[모드]: 진행 상태를 출력합니다(progress 옵션 지원).
  • conv=[옵션]: 데이터 변환 옵션을 지정합니다(예: notrunc, sync 등).

4. 자세한 명령어 사용법

다음은 dd 명령어의 다양한 사용 예제입니다:

# 파일 복사
$ dd if=/dev/sda of=/dev/sdb bs=64K status=progress

# ISO 이미지 생성
$ dd if=/dev/cdrom of=/home/user/image.iso

# 디스크 복제
$ dd if=/dev/sda of=/dev/sdb bs=1M status=progress

# 부트 가능한 USB 생성
$ dd if=/path/to/image.iso of=/dev/sdc bs=4M status=progress

# 특정 크기만 복사
$ dd if=/dev/sda of=/dev/sdb bs=1M count=100

# 빈 파일 생성
$ dd if=/dev/zero of=/home/user/emptyfile bs=1M count=10

# 특정 데이터 패턴 복사
$ dd if=/dev/urandom of=/home/user/randomdata bs=512 count=20

# 디스크 초기화
$ dd if=/dev/zero of=/dev/sdb bs=1M

# 파티션 데이터를 복제
$ dd if=/dev/sda1 of=/dev/sdb1

# 진행 상태를 표시하며 복사
$ dd if=/dev/sda of=/dev/sdb status=progress

# 파일 시스템 복구를 위해 복제
$ dd if=/dev/sda1 of=/dev/sdb1 conv=notrunc

# 특정 위치의 데이터 복사
$ dd if=/home/user/file of=/home/user/newfile skip=1 seek=2 bs=1024

# 스크립트에서 디스크 백업 자동 처리
#!/bin/bash
dd if=/dev/sda of=/backup/sda.img bs=4M status=progress

# 데이터 변환 및 복사
$ dd if=/home/user/input.txt of=/home/user/output.txt conv=ucase

# USB 디스크 검사 후 이미지 생성
$ dd if=/dev/sdb of=/home/user/usb_backup.img bs=1M status=progress

# 디스크를 빈 데이터로 덮어쓰기
$ dd if=/dev/zero of=/dev/sda bs=1M status=progress

# 이미지 파일 압축 후 복사
$ dd if=/dev/sda | gzip > disk_image.gz

# 디스크 복제 후 복구 확인
$ dd if=/dev/sda of=/dev/sdb bs=1M && echo "복구 완료!"

# 특정 디스크의 성능 테스트
$ dd if=/dev/zero of=/home/user/testfile bs=1G count=1 oflag=direct
            

위의 예제는 dd 명령어를 사용하여 데이터 복사 및 변환을 처리하는 다양한 방법을 보여줍니다.

© 2025 Linux 명령어 설명

Categories:

No responses yet

답글 남기기