DD에 대한 완전하고 상세한 가이드 (예제 포함)

나는 당신에게 단순히 훌륭한 기사를 남깁니다. 나는 나를 찾았다 인터넷을 서핑하면 여러 예제와 함께 그것이 무엇이며 명령으로 무엇을 얻을 수 있는지 자세히 보여줍니다. DD.

나는 당신에게 기사:

1. 왜 dd입니까?:

우리는 선택했다 dd 여러분이 보게 될 많은 옵션이있는 유용한 도구이기 때문입니다. 이것은 거의 Linux 세계의 스위스 군용 칼 중 하나입니다. 예,이 용어 (Swiss Army knife)는 Linux 지향 기사 작성자가 사용하는 것보다 더 많이 사용하므로 우리가 직접 사용할 기회를 놓칠 수 없습니다.

2. 일반적인 사용:

시작하기 전에 사용 방법에 대한 일반적인 아이디어를 제공하고 싶었습니다. dd. 우선 이름은 데이터 복제기에서 유래했지만 유머러스하게도 매우 강력한 도구이기 때문에 디스크 파괴자 또는 데이터 파괴자를 의미한다고도합니다. 따라서 부주의 한 순간에 귀중한 데이터가 손실 될 수 있으므로 dd를 사용할 때 각별히주의하는 것이 좋습니다. 명령의 일반 구문 dd 입니다 :

# dd if = $ input_data of = $ output_data [옵션]

입력 데이터 y 출력 _ 데이터 디스크, 파티션, 파일, 장치 등이 될 수 있습니다. 주로 쓰거나 읽을 수있는 모든 것입니다. 보시다시피 네트워크 컨텍스트에서 dd를 사용하여 LAN을 통해 데이터 스트림을 보낼 수 있습니다. dd 명령의 입력 부분 만 있거나 출력 명령 만 가질 수 있으며 경우에 따라 둘 다 제거 할 수도 있습니다. 이 모든 것들은 다음 목록에서 다룰 것입니다.

3. 예 :

dd if = / dev / urandom of = / dev / sda bs = 4k -»임의 데이터로 디스크 채우기

dd if = / dev / sda of = / dev / sdb bs = 4096-» 디스크 간 미러링

dd if = / dev / zero of = / dev / sda bs = 4k-» 하드 드라이브 청소 (반복해야 할 수 있음)

dd if = inputfile of = / dev / st0 bs = 32k conv = sync-» 파일에서 테이프 장치로 복사

dd if = / dev / st0 of = outfile bs = 32k conv = sync-» 전자, 반전

dd if = / dev / sda | hexdump -C | grep [^ 00]-» 디스크가 실제로 제로화되었는지 확인

dd if = / dev / urandom of = / home / $ user / hugefile bs = 4096-» 파티션 채우기 (시스템 파티션에주의하십시오!)

dd if = / dev / urandom of = myfile bs = 6703104 count = 1-» 파일 인코딩 (삭제 전)

dd if = / dev / sda3 of = / dev / sdb3 bs = 4096 conv = notrunc, noerror-» 파티션을 다른 파티션으로 복사

dd if = / proc / filesystems | hexdump -C | 적게-» 사용 가능한 파일 시스템보기

dd if = / proc / partitions | hexdump -C | 적게-» 사용 가능한 파티션 (KB)보기

dd if = / dev / sdb2 ibs = 4096 | gzip> partition.image.gz conv = noerror-» 두 번째 디스크의 두 번째 파티션에 대한 gzip 이미지를 만듭니다.

dd bs = 10240 cbs = 80 conv = ascii, if = / dev / st0 of = ascii.out-»차단 해제 테이프의 내용을 파일로 복사하여 EBCDIC에서 ASCII로 변환합니다.

dd if = / dev / st0 ibs = 1024 obs = 2048 of = / dev / st1-» 1KB 블록 장치를 2KB 블록 장치로 복사

dd if = / dev / zero of = / dev / null bs = 100M count = 100
100 + 0 개의 레코드
100 + 0 기록
10485760000 바이트 (10GB) 복사 됨,

5.62955 초, 1.9GB / 초

10GB의 XNUMX을 휴지통에 복사합니다.

dd if = / dev / zero of = / dev / sda bs = 512 count = 2
fdisk -s / dev / sda
dd if = / dev / zero of = / dev / sda seek = (number_of_sectors-20) bs = 1k

디스크에서 GPT를 지 웁니다. GPT가 처음에 데이터를 쓰는 방법
그리고 디스크 끝에서 처음부터 지운 후 섹터 수 (두 번째 명령)를 찾은 다음 마지막 20 개 섹터를 지워야합니다.

dd if = / home / $ user / bootimage.img of = / dev / sdc-» 부팅 가능한 UDB 디스크를 만듭니다 (여기에 / dev / sdc로 표시됨).

dd if = / dev / sda of = / dev / null bs = 1m-» 불량 블록을 찾는 좋은 방법입니다. 백업 및 시스템 관련

dd if = / dev / sda of = / dev / fd0 bs = 512 카운트 = 1-» 플로피 디스크에 MBR 복사

dd if = / dev / sda1 of = / dev / sdb1 bs = 4096-» 디스크 간 미러링

dd if = / dev / sr0 of = / home / $ user / mycdimage.iso \ bs = 2048 conv = nosync-» CD 이미지 만들기

mount -o 루프 /home/$user/mycdimage.iso / mnt / cdimages /-» 언급 된 이미지를 로컬에 마운트

dd if = / dev / sda of = / dev / sdb bs = 64k conv = sync-» 같은 크기의 디스크로 교체 할 때 유용합니다.

dd if = / dev / sda2 of = / home / $ user / hddimage1.img bs = 1M count = 4430
dd if = / dev / sda2 of = / home / $ user / hddimage2.img bs = 1M count = 8860
[...]

파티션의 DVD 이미지 생성 (백업에 유용)

dd if = / $ 위치 / hddimage1.img of = / dev / sda2 bs = 1M
dd if = / $ 위치 / hddimage2.img of = / dev / sda2 seek = 4430 bs = 1M
dd if = / $ 위치 / hddimage3.img of = / dev / sda2 seek = 8860 bs = 1M
[기타…]

이전 백업에서 복원

dd if = / dev / 1 카운트 = 1024 bs = 1 seek = 6 of = / dev / sdaXNUMX-» 슈퍼 블록을 파괴하세요

dd if = / dev / 1 카운트 = 4096 bs = 0 seek = 5 of = / dev / sdaXNUMX-» 슈퍼 블록을 파괴하는 또 다른 방법

dd if = / 집 / $ 사용자 / suspicious.doc | clamscan-» 파일에서 바이러스를 확인합니다 (ClamAV 필요).

dd if = / home / $ user / 바이너리 파일 | hexdump -C | 적게-» 바이너리 파일의 내용보기 (hexdump 필요)

dd if = / home / $ user / bigfile of = / dev / null
dd if = / dev / zero of = / home / $ user / bigfile bs = 1024 count = 1000000

하드 드라이브의 읽기 / 쓰기 속도 벤치 마크

dd if = / dev / sda of = / dev / sda-» 한동안 사용하지 않은 오래된 하드 드라이브에 새로운 생명을 불어 넣으십시오 (드라이브는 "마운트 해제"해야 함).

dd if = / dev / mem | 문자열 | grep '검색 할 _ 문자열'-» 메모리 내용 검사 (사람이 읽을 수 있음)

dd if = / dev / fd0 of = / home / $ user / floppy.image bs = 2x80x18b conv = notrunc-» 플로피 디스크 복사

dd if = / proc / kcore | hexdump -C | 적게 -»가상 메모리 표시

dd if = / proc / filesystems | hexdump -C | 적게-» 사용 가능한 파일 시스템보기

dd if = / proc / kallsyms | hexdump -C | 적게-» 로드 된 모듈 표시

dd if = / proc / interrupts | hexdump -C | 적게-» 인터럽트 테이블을 표시합니다.

dd if = / proc / uptime | hexdump -C | 적게-» 가동 시간을 초 단위로 표시

dd if = / proc / partitions | hexdump -C | 적게-» 사용 가능한 파티션 (KB)보기

dd if = / proc / meminfo | hexdump -C | 적게-» 메모리 상태 표시

dd if = / dev / urandom of = / home / $ user / myrandom bs = 100 count = 1-» 임의의 횡설수설의 1kb 파일 만들기

dd if = / dev / mem of = / home / $ user / mem.bin bs = 1024-» 시스템 메모리의 현재 상태 이미지를 생성합니다.

dd if = / home / $ user / myfile-» 파일을 stdout으로 인쇄

dd if = / dev / sda2 bs = 16065 | hexdump -C | grep '검색 할 _ 텍스트'-» 전체 파티션에서 문자열을 검색합니다. 보안이되어 있어도 liveCD를 부팅 할 수 있습니다.

dd if = / home / $ user / file.bin skip = 64k bs = 1 of = / home / $ user / convfile.bin-» 처음 64KB를 건너 뛰고 file.bin을 convfile.bin에 복사합니다.

dd if = / home / $ user / bootimage.img of = / dev / sdc-» 부팅 가능한 UDB 디스크를 만듭니다 (여기에 / dev / sdc로 표시됨).

dd if = / dev / mem bs = 1k skip = 768 count = 256 2> / dev / null | 문자열 -n 8-» BIOS를 읽으십시오.

dd bs = 1k if = imagefile.nrg of = imagefile.iso skip = 300k-» Nero 이미지를 표준 ISO 이미지로 변환합니다.
이는 Nero가 표준 ISO 이미지에 추가하는 300kB의 헤더뿐이기 때문에 가능합니다.

echo -n "안녕하세요 수직 세계"| dd cbs = 1 conv = 차단 해제 2> / dev / null-» 시도해보세요. 안전합니다. 🙂

dd if = / dev / sda1 | gzip -c | 분할 -b 2000m-\ /mnt/hdc1/backup.img.gz-» 분할을 사용하여 파티션의 gzip 이미지 만들기

고양이 /mnt/hdc1/backup.img.gz.* | gzip -dc | dd of = / dev / sda1-» 이전 백업 복원

dd if = / dev / zero of = myimage bs = 1024 count = 10240-» 빈 디스크 이미지 만들기

dd ibs = 10 건너 뛰기 = 1-» stdin의 처음 10 바이트 분할

dd bs = 265b conv = noerror if = / dev / st0 of = / tmp / bad.tape.image-» 불량 반점이있는 테이프 사진을 만듭니다.

dd if = / dev / sda count = 1 | hexdump -C-» MBR보기

dd if = / dev / sda | nc -l 10001 nc $ system_to_backup_IP 10001 | dd of = sysbackupsda.img-» netcat을 사용한 빠른 네트워크 백업

dd if = / dev / zero of = / dev / sdX bs = 1024000 count = 1-» 파티션의 처음 10MB 정리

dd if = / dev / zero of = tmpswap bs = 1k
개수 = 1000000
chmod 600 tmpswap
mkswap tmpswap
스왑 온 tmpswap

임시 교환 공간 만들기

dd if = / dev / sda of = / dev / null bs = 1024k 카운트 = 1024
1073741824 바이트 (1.1GB) 복사 됨,
24.1684 초, 44.4MB / 초

디스크의 순차 I / O 속도를 결정합니다.

dd if = / dev / random count = 1 2> / dev / null | od -t u1 | \ awk '{print $ 2}'| 머리 -1-» 난수 생성

dd if = / dev / mem of = myRAM bs = 1024-» RAM 메모리를 파일로 복사

dd if = / dev / sda bs = 512 카운트 = 1 | od -xa-» XNUMX 진수 및 ASCII 형식으로 MBR의 내용보기

dd if = / my / old / mbr of = / dev / sda bs = 446 count = 1-» 447-511 바이트 사이의 파티션 테이블 레코드를 변경하지 않고 MBR을 복원합니다.

dd if = / dev / sda1 | 분할 -b 700m-sda1- 이미지-» 파티션의 복사본을 만들고 최대 볼륨 크기가 700MB 인 이미지를 저장합니다.

ls -l | dd conv = ucase-» 명령의 출력을 대문자로 변환합니다.

echo "내 대문자 텍스트"| dd conv = lcase-» 텍스트를 소문자로 변환

dd if = / etc / passwd cbs = 132 conv = ebcdic of = / tmp / passwd.ebcdic-» 시스템 암호 파일을 EBCDIC 형식 고정 길이 파일로 변환합니다.

dd if = text.ascii of = text.ebcdic conv = ebcdic-» ASCII에서 EBCDIC로 변환

dd if = myfile of = myfile conv = ucase-» 파일을 대문자로 변환 (단순 SED 또는 tr 대체)

4. 결론 :

이것은 dd가 할 수있는 일의 작은 부분 일 뿐이며,이 기사가 일반 사용자에게 가장 많이 사용되는 예제를 다루도록 조작했으면합니다. 그러나 더 진행하기 전에 하드 드라이브 설명서를 읽고 LBA 제한과 같은 사항을 찾아보고 루트 터미널에서 dd를 사용할 때 각별히주의하는 것이 좋습니다. 물론 이미 백업이 있지만 약간의 추가 관리를 통해 불필요한 작업 시간을 절약 할 수 있습니다.

그리고 기사가 끝납니다.

기록을 위해이 기사에 표시된 명령을 테스트하지 않았으므로 누군가 이러한 명령을 오용 (또는 잘못)하면 컴퓨터에서 무언가를 손상시킬 수 없을 가능성이 큽니다. 당신을 돕기 위해.

나는 조금씩 명령을 테스트 할 것입니다. 흥미로운 것을 발견하면 나는 그것을 공유합니다.

안부


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

17 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   루위드

    훌륭한 기사, 이것이 명령이 철저하게 분석되는 방법이므로 우리는 그것이 무엇에 관한 것인지 많은 것을 배웁니다. 언제나처럼 축하하고 감사합니다! 😉

  2.   오스카

    매우 훌륭하고 흥미로운 항목입니다. 중요하다고 생각하므로 계속해서 제출하겠습니다.
    나는 당신과 당신의 파트너가 휴가 이틀 후에 배터리가 잘 충전 된 것을 발견 할 것이라고 상상합니다, hahahaha.
    나는 블로그에 기사가 부족했다.

    1.    KZKG ^ Gaara < "Linux

      감사합니다, 신용은 내 것이 아닙니다 ... 나는 단지 번역을 넣었습니다 🙂
      그리고 하하 예, 내일 더 많은 기사가 올 것입니다 하하, 요즘 우리는 아무것도 게시하지 않고 사과합니다. 심지어 통계를 보더라도 우리가 헤헤했다.

    2.    elav <° Linux

      휴가라고? 하 하하하 ... 그랬 으면 좋겠는데 ...

  3.   올렉 시스

    좋은 기사, 플러그인을 사용하여 PDF로 내보내거나 기사를 PDF로 첨부 할 수 있는지 항상 상기시켜줍니다.

    안녕하십니까!

    1.    용기

      지나 가면서 나는 게시물에서 태그를 많이 끄는 경향이 있기 때문에 포럼을 열어야 함을 상기시킵니다.

      1.    KZKG ^ Gaara < "Linux

        우리가 제시 한 오류 또는 문제, 데이터베이스 및 기타 연결 문제는 사이트가 너무 많은 활동이나 트래픽을 생성한다는 사실 때문이며, 이것이 우리가 잠시 오프라인 상태 인 이유입니다. 사이트 외에도 포럼을 추가하면 더 많은 트래픽이 발생하고 모든 것이 악화됩니다.

        포럼의 아이디어 예, 우리는 그것을 좋아합니다, 우리는 정말로 그것을하고 싶지만 현재 우리는 불행히도 할 수 없습니다 🙁

        1.    용기

          WordPress에는 플러그인이 있으므로 볼 수없는 사이트를 사용할 필요가 없습니다.

      2.    올렉 시스

        좋아요 ... 다른 플랫폼이나 사이트를 추가하지 않은 대안은 WordPress의 bbPres (bbpress.org)입니다.

        안녕하십니까!

        1.    KZKG ^ Gaara < "Linux

          예, 우리는 그를 알고 있습니다 hehe, 우리는 실제로 FluxBB에 대해 생각하고있었습니다 🙂
          문제는 다른 DB가 아니거나 더 많은 테이블에 동일한 DB를 사용하지만 더 많은 활동 만 사용하는 것입니다.

      3.    elav <° Linux

        곧 포럼이 열립니다 😀

    2.    KZKG ^ Gaara < "Linux

      우리는 여전히 그 플러그인을 충분히 테스트하고 잘 작동한다면 넣어야합니다 🙂
      시간이 없었어 하하

  4.   무도병

    친애하는 동료 여러분, 기쁩니다.이 응용 프로그램이 너무 갇혀서 매우 유감스럽게 생각합니다. 제가 알고 싶기 때문에 더 깊이 받아들이기를 바랍니다.
    DVD 또는 * .iso 압축으로 부팅 가능한 자석을 만들 수 있다면 미리 감사드립니다. 제 포스트 스크립트에 대한 귀하의 답변을 희망합니다. 전체 Hispanic abala 네트워크에서 설명 된 Great 기사에서 더 널리 퍼진 유일한 사람이라고 생각합니다.

  5.   69 화

    네트워크를 통해 한 시스템에서 다른 시스템으로 복제하려면 어떻게해야합니까? 제 경우에는 두 개의 노트북이 모두 고정 방향으로 LAN에 연결되어 있습니다.

  6.   에릭

    정보 주셔서 감사합니다 🙂

  7.   길다 데 4

    변경된 계약 후
    http://premium.cars.purplesphere.in/?post.zoey
    엄마와 딸 무료 포르노 무료 3gp 게이 포르노 비디오 클립 부저 포르노 펭귄 vids 포르노 경로 96 포르노

  8.   아이 아시 보르

    오래된 기록에 생명을 불어 넣는 명령은 대문자로 중요합니다. 다행입니다. 이것은 할 수있는 일의 짧은 목록입니다!