Dd
dd - convert and copy a file.
dd는 파일을 변환하고 복사하는 것이 주 목적인 유닉스 및 유닉스 계열 운영 체제용 명령 줄 유틸리티이다.
유닉스에서 하드웨어와 특수 장치 파일용 장치 드라이버는 파일 시스템에서 마치 일반 파일처럼 나타난다. dd는 기능이 개별 드라이버에서 구현되어 있는 경우 이러한 파일들을 읽거나 기록하는 것이 가능하다. 그러므로 dd는 하드 드라이브의 부팅 섹터를 백업하는 등의 일과 고정된 크기의 랜덤 데이터를 취득하기 위해 사용할 수 있다. dd 프로그램은 복사 시 데이터에 변환을 수행할 수도 있는데, 여기에는 바이트 순서 스와핑, ASCII↔EBCDIC 텍스트 인코딩 변환을 포함할 수 있다.
dd라는 이름은 IBM의 작업 제어 언어(JCL)에서 발견되는 DD 문과 관련되며 여기에서 DD는 "Data Description"을 가리킨다. 이 명령의 문법은 다른 유닉스 명령보다 JCL 문과 유사하다.
원래 ASCII와 EBCDIC 간의 변환을 위해 고안된 dd는 버전 5 유닉스에 처음 등장하였다. dd 명령어는 SUS의 일부인 IEEE 표준 1003.1-2008에 규정되어 있다.
용도
- 데이터 전송
- 마스터 부트 레코드 백업 및 복원
- 데이터 수정
- 디스크 완전 소거
- 데이터 복구
- 드라이브 성능 벤치마크
- 랜덤 데이터로 파일 생성
- 파일을 대문자로 변환
Flags
-
bs=BYTES
- 한번에 읽어들일 바이트수와 출력할 바이트수 두가지 다를 같은수치로 지정합니다. bs로 지정하게되면 ibs와 obs는 무시하죠.
-
count=N
- 복사할 블록수를 지정합니다.
-
if=FILE
- Read from FILE instead of stdin
-
of=FILE
- Write to FILE instead of stdout
Zero fill
로우 포맷시 사용할 수 있다.
Bootable USB
in MacOSX
USB 디스크는 /dev/disk2
에 위치한다고 가정한다.
$ diskutil list
$ diskutil unmountDisk /dev/disk2
## disk 가 아닌, rdisk를 사용한다.
$ sudo dd if=image.iso of=/dev/rdisk2 bs=1m
$ diskutil eject /dev/disk2
in Ubuntu
WARNING |
파티션 번호를 붙이면 안된다. 예를 들면 sdb1가 아닌 sdb를 사용해야 한다. |
Example
윈도우환경에서 FreeBSD 설치를 위한 USB 미디어 제작방법에 대하여 설명한다.
설치이미지를 USB에 부팅가능하도록 담아주는 프로그램으로서 dd.exe를 http://www.chrysocome.net/dd 에서 다운받고, USB드라이브명 확인한다.
실제 이미지를 USB메모리에 쓸때는 하드디스크 볼륨번호로 지정을 합니다.
표준 입출력 Pipe 속도 테스트
dd명령을 사용한 방법은 Standard streams#표준 입출력 Pipe 속도 테스트 항목 참조.
See also
Favorite site
- Wikipedia (en) dd (Unix)에 대한 설명
- [추천] Wikipedia (ko) dd (Unix)에 대한 설명
- dd for windows
- 우분투 설치용 USB 메모리 만들기 1
References
-
How_to_create_bootable_USB_memory_stick.pdf ↩