본문으로 건너뛰기

dd 커맨드 사용과 옵션

dd : 블록단위로 파일을 복사 혹은 변환 / 디스크의 복제 등에 사용 된다.

옵션 정리

bs : Bytes, 한번에 읽고 쓸 최대 바이트 크기를 지정합니다.
cbs : Bytes, 한번에 변환 작업 가능한 바이트 크기를 지정합니다.
ibs : Bytes, 한번에 읽어드리는 입력단위 바이트를 지정합니다.
count : Blocks, 지정한 블록 수 만큼 복사합니다.
conv : 기호목록에 따라 파일을 변환합니다.

  • ascii : EBCDIC코드를 ASCII코드로 변환합니다.
  • ebcdic : ASCII코드를 EBCDIC코드를 변환합니다.
  • ibm : ASCII코드를 EBCDIC코드로 EBCDIC코드를 ASCII코드로 변환합니다.
  • block : cbs 단위로 변환 할 때 줄바꿈 문자를 공백으로 변환합니다.
  • unblock : cbs단위로 변환 할 때 공백문자를 줄바꿈 문자로 변환합니다.
  • lcase : 영어 대문자를 소문자로 변환 합니다.
  • ucase : 영어 소문자를 대문자로 변환 합니다.
  • swab : 입력되는 두 바이트의 순서를 변경합니다.
  • sync : ibs크기와 obs크기가 차이가 있을 경우 NULL 문자로 대체합니다.
  • excl : 출력파일이 이미 존재 하면 수행하지 않습니다.
  • nocreat : 출력파일이 존재해야 수행합니다.
  • notrunc : 출력파일을 자르지 않고 출력합니다.
  • noerror : 입력데이터를 읽을 때 에러가 발생하여도 계속 진행합니다.

if : File, 지정한 파일을 입력대상으로 설정합니다.
obs : Bytes, 한번에 작성하는 출력단위 바이트를 지정합니다.
of : File, 지정한 파일을 출력대상으로 설정합니다.
seek : N, 지정한 단위만큼 obs 크기를 건너뛰고 출력을 시작합니다.
skip : N, 지정한 단위 만큼 ibs크기를 건너뛰고 입력을 시작합니다.

진한 놈들은 외우자

ex)

dd if=/var/log/dmesg of=/tmp/test/test bs=1024 count=10

/var/log/dmesg의 내용을 읽고 /tmp/test/test파일에 쓰는것을 1024바이트 크기로 10번 반복한다.

디스크 데이터 완전 삭제

dd if=/dev/zero of=데이터 삭제될 대상 디스크 장치 이름

ex)

dd if=/dev/zero of=/dev/sda

디스크 파티션 삭제

dd if=/dev/zero of=파티션 삭제될 대상 디스크 장치 이름 count=1 bs=속도
ex)

dd if=/dev/zero of=/dev/sdb count=1 bs=512