dd 명령어는 데이터를 변환하고 복사하는 데 사용되는 다재다능하고 강력한 유틸리티입니다. 입력 파일 또는 데이터 스트림에서 읽어 출력 파일 또는 데이터 스트림에 쓰는 방식으로 작동하므로, 많은 시스템 관리 작업에 필수적인 dd 도구입니다.
dd 명령어 이해하기
핵심적으로 dd는 바이트 단위로 데이터를 복사합니다. 다음 명령어를 고려해 보세요.
dd if=/home/pete/backup.img of=/dev/sdb bs=1024
이 명령어는 파일 backup.img의 내용을 블록 장치 /dev/sdb로 복사합니다. 이 작업은 입력 파일 전체를 읽을 때까지 1024 바이트 블록 단위로 데이터를 복사하여 수행됩니다.
필수 dd 옵션
dd 명령어의 동작은 몇 가지 주요 옵션으로 제어됩니다.
if=file: 입력 파일을 지정합니다.dd는 표준 입력 대신 이 파일에서 읽습니다.of=file: 출력 파일을 지정합니다.dd는 표준 출력 대신 이 파일에 씁니다.bs=bytes: 블록 크기를 설정합니다.dd는 한 번에 이만큼의 바이트를 읽고 씁니다. 더 큰 단위를 위해 접미사를 사용할 수 있습니다. 예를 들어, 킬로바이트 (1024 바이트) 는k, 메가바이트는M, 기가바이트는G를 사용합니다. 예:bs=1M.count=number: 지정된 블록 수만큼만 복사합니다.
bs 와 count 함께 사용하기
count 옵션은 특정 양의 데이터만 복사해야 할 때 유용합니다. 복사되는 총 데이터 양은 bs에 count를 곱한 값이 됩니다. 예를 들어, 10M 크기의 파일에 대해 다음 명령어를 실행한다고 가정해 봅시다.
dd if=/home/pete/backup.img of=/dev/sdb bs=1M count=2
backup.img가 10M 이더라도, 이 명령어는 dd에게 크기가 1M 인 블록 2 개만 복사하도록 지시합니다. 결과적으로 2M 의 데이터만 복사되어 불완전한 전송이 발생합니다. count는 특정 시나리오에서 유용하지만, 전체 파일을 복사하는 것이 목표라면 종종 생략할 수 있습니다. bs를 최적화하면 전송 속도가 크게 향상될 수 있지만, 기본 설정으로도 충분한 경우가 많습니다.
dd 의 강력함과 위험성
dd linux 명령어는 매우 강력합니다. 전체 디스크 드라이브 백업 생성, 디스크 이미지 복원, 데이터 보안 삭제 등에 사용할 수 있습니다. 하지만 이러한 강력함에는 위험이 따릅니다. if와 of 값을 바꾸는 것과 같은 작은 실수 하나가 복구 불가능한 데이터 손실을 초래할 수 있습니다. 특히 /dev/sda와 같은 장치에 쓸 때는 항상 명령어를 실행하기 전에 다시 확인하십시오.