logo

Linux의 'dd' 명령

dd 파일을 변환하고 복사하는 것이 주요 목적인 Unix 및 Unix 계열 운영 체제용 명령줄 유틸리티입니다.

  • Unix에서는 하드웨어(하드 디스크 드라이브 등)용 장치 드라이버와 특수 장치 파일(/dev/zero 및 /dev/random 등)이 일반 파일처럼 파일 시스템에 나타납니다.
  • dd는 해당 드라이버에 기능이 구현된 경우 이러한 파일을 읽거나 쓸 수도 있습니다.
  • 결과적으로 dd는 하드 드라이브의 부트 섹터 백업, 고정된 양의 임의 데이터 획득과 같은 작업에 사용될 수 있습니다.
  • dd 프로그램은 또한 바이트 순서 교환 및 ASCII 및 EBCDIC 텍스트 인코딩과의 변환을 포함하여 복사되는 데이터에 대한 변환을 수행할 수 있습니다.

용법 : dd의 명령줄 구문은 다음 구문을 사용한다는 점에서 다른 많은 Unix 프로그램과 다릅니다. 옵션=값 더 표준적인 옵션이 아닌 명령줄 옵션에 대해 -옵션 값 또는 –옵션=값 형식. 기본적으로 dd는 stdin에서 읽고 stdout에 쓰지만 if(입력 파일) 및 of(출력 파일) 옵션을 사용하여 변경할 수 있습니다.

dd 명령에 대한 몇 가지 실제 예:



    전체 하드 디스크를 백업하려면: 하드 디스크의 전체 사본을 동일한 시스템에 연결된 다른 하드 디스크에 백업하려면 그림과 같이 dd 명령을 실행하십시오. 이 dd 명령 예에서 소스 하드 디스크의 UNIX 장치 이름은 /dev/hda이고, 대상 하드 디스크의 장치 이름은 /dev/hdb입니다.
     # dd if=/dev/sda of=/dev/sdb>
    • 만약에 입력 파일을 나타내고, ~의 출력 파일을 나타냅니다. 그래서 정확한 사본은 /dev/sda 다음에서 사용할 수 있습니다. /dev/sdb .
    • 오류가 있으면 위 명령이 실패합니다. 매개변수를 주면 전환=오류 없음 읽기 오류가 있으면 계속 복사됩니다.
    • 입력 파일과 출력 파일은 매우 주의 깊게 언급되어야 합니다. 만약에 대상의 소스 장치를 언급하거나 그 반대로 언급하면 ​​모든 데이터가 손실될 수 있습니다.
    • 아래 제공된 dd 명령을 사용하여 하드 드라이브를 하드 드라이브로 복사하려면 동기화 옵션을 사용하면 동기화된 I/O를 사용하여 모든 것을 복사할 수 있습니다.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    파티션을 백업하려면: 입력 파일에서 파티션의 장치 이름을 사용할 수 있으며, 출력에서는 dd 명령에 표시된 대로 대상 경로 또는 이미지 파일을 지정할 수 있습니다.
     # dd if=/dev/hda1 of=~/partition.img>
    하드디스크 이미지를 생성하려면 : 하드디스크를 백업하는 대신 하드디스크의 이미지 파일을 생성하여 다른 저장장치에 저장할 수 있습니다. 데이터를 디스크 이미지에 백업하면 많은 이점이 있는데, 그 중 하나는 사용이 간편하다는 것입니다. 이 방법은 일반적으로 다른 유형의 백업보다 빠르므로 예상치 못한 재난 발생 시 데이터를 신속하게 복원할 수 있습니다. 하드 디스크 /dev/hda의 이미지를 생성합니다.
     # dd if=/dev/hda of=~/hdadisk.img>
    하드디스크 이미지를 이용하여 복원하려면 : 다른 하드디스크의 이미지 파일로 하드디스크를 복원하려면 다음 dd 명령어를 사용하면 됩니다.
     # dd if=hdadisk.img of=/dev/hdb>

    이미지 파일 hdadisk.img 파일은 /dev/hda의 이미지이므로 위 명령은 /dev/hda의 이미지를 /dev/hdb로 복원합니다. CDROM 백업을 생성하려면: dd 명령을 사용하면 소스 파일에서 iso 파일을 생성할 수 있습니다. 따라서 CD를 삽입하고 dd 명령을 입력하여 CD 콘텐츠의 iso 파일을 만들 수 있습니다.

     # dd if=/dev/cdrom of=tgsservice.iso bs=2048>

    dd 명령은 입력 블록 하나를 읽고 처리한 후 출력 파일에 씁니다. 입력 및 출력 파일의 블록 크기를 지정할 수 있습니다. 위의 dd 명령 예에서 매개변수는 BS 입력 및 출력 파일 모두에 대한 블록 크기를 지정합니다. 그래서 dd는 2048바이트 위 명령에서 블록 크기로.

참고자료 :