맨위로가기

Dd (유닉스)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

`dd`는 유닉스 계열 운영체제에서 사용되는 명령어로, 데이터를 복사하고 변환하는 데 사용된다. 1974년 Version 5 Unix의 일부로 처음 등장했으며, IBM의 JCL DD문에 대한 언급에서 이름을 따왔다. `dd`는 파일 복사, 장치 간 데이터 전송, MBR 백업 및 복원, 디스크 완전 소거, 드라이브 성능 벤치마킹 등 다양한 용도로 활용되며, 진행 상황을 표시하는 기능도 제공한다.

더 읽어볼만한 페이지

  • 데이터 복구 소프트웨어 - 리커바
  • 디스크 복제 - 클론질라
    클론질라는 디스크 복제 및 배포를 위한 오픈 소스 소프트웨어로, 파티션 및 디스크 복제, 이미지 생성, 복원 기능을 제공하며 다양한 파일 시스템을 지원한다.
  • 디스크 복제 - 고스트 (디스크 유틸리티)
    고스트는 시만텍에서 개발한 디스크 백업 및 복구 소프트웨어로, 시스템 이미지 생성, 복구, 증분/예약 백업, 암호화 기능을 제공했으나 2009년 이후 개발이 중단되었다.
  • 하드 디스크 소프트웨어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • 하드 디스크 소프트웨어 - 디스크 유틸리티
    macOS에 내장된 디스크 유틸리티는 하드 디스크, 이동식 미디어, 디스크 이미지 등의 디스크 볼륨 관리, 검증 및 복구, 포맷, 파티셔닝, 복제, 디스크 이미지 생성, 변환, 백업, 암호화, 보안 삭제 기능을 제공하며, GUI 및 CLI 환경을 지원한다.
Dd (유닉스) - [IT 관련 정보]에 관한 문서
기본 정보
종류명령어
개발자켄 톰프슨 (AT&T 벨 연구소)
발표일1974년 6월
운영 체제유닉스, 유닉스 계열, 플랜 9, 인페르노, 윈도우
플랫폼크로스 플랫폼
장르명령
라이선스coreutils: GPLv3+
Plan 9: MIT 라이선스
저장소coreutils: coreutils 저장소

2. 역사

1974년, `dd` 명령어는 Version 5 Unix의 일부로 등장했다. 데니스 리치에 따르면, 이 이름은 IBM작업 제어 언어 (JCL)에서 발견되는 DD문을 참고한 것이며,[3][4] 여기서 "Data Definition"의 약자이다.[5][6] 더글러스 맥길로이에 따르면, `dd`는 "원래 DEC 컴퓨터의 ASCII, 리틀 엔디안, 바이트 스트림 세계와 IBM의 EBCDIC, 빅 엔디안, 블록화된 세계 사이의 파일을 변환하기 위한 것"이었다.[7] 에릭 S. 레이먼드는 이 명령의 구문이 다른 유닉스 명령어보다 JCL 문에 더 유사하기 때문에 "인터페이스 설계는 분명히 장난이었다"고 생각한다.[4]

1987년, `dd` 명령어는 1987년 발행된 X/Open 이식성 가이드 2판에 명시되었다. 이는 IEEE Std 1003.1-2008 (POSIX)로 계승되었으며, Single UNIX Specification의 일부이다.[8]

1990년, 데이비드 매켄지는 GNU 파일유틸리티 (현재 coreutils의 일부)를 발표했는데, 여기에는 `dd` 명령어가 포함되어 있었다.[9] 이 명령어는 폴 루빈, 데이비드 매켄지, 스튜어트 켐프가 작성했다.[10] 1991년부터 짐 메이어링이 유지 관리하고 있다.[11]

1995년, Plan 9 2nd edition이 출시되었고, 해당 `dd` 명령어 인터페이스는 JCL 문 스타일 대신 전통적인 명령줄 옵션 스타일을 사용하도록 재설계되었다.[12]

최소 1999년부터[13] UnxUtils에서 Microsoft Windows용 네이티브 Win32 포팅이 제공되고 있다.[14]

`dd`는 오타로 인해 드라이브를 지우는 기능 때문에 종종 "Disk Destroyer"라고 불리기도 한다.[15]

3. 사용법

`dd` 명령어는 유닉스 계열 운영체제에서 파일을 복사하고 변환하는 데 사용되는 강력한 도구이다. 하지만, 명령어의 옵션 구문이 다른 유닉스 명령어들과는 다른 독특한 형태를 가지고 있어 주의가 필요하다.

`dd`는 `option=value` 형태의 구문을 사용하는데, 이는 `-option value` 또는 `--option=value` 와 같은 일반적인 유닉스 명령어 옵션 형식과는 다르다. 예를 들어, 입력 파일을 지정할 때는 `if=input.txt`와 같이 사용한다.

기본적으로 `dd`는 표준 입력에서 데이터를 읽어 표준 출력으로 결과를 출력한다. 하지만, `if` (입력 파일) 및 `of` (출력 파일) 옵션을 사용하여 이러한 입출력 동작을 변경할 수 있다.[8] 예를 들어 `dd if=/dev/sda of=/dev/sdb`는 `/dev/sda`의 내용을 `/dev/sdb`로 복사한다.

실행 중인 `dd` 프로세스에 SIGINFO 신호(또는 리눅스에서 USR1 신호)를 보내면, 현재까지의 I/O 통계를 표준 에러 스트림에 출력하고 복사를 계속 진행한다.

`dd`는 IBM작업 제어 언어(JCL)에서 발견되는 DD문에서 유래되었다.[3][4] `dd`는 "Data Definition"의 약자로 알려져 있었으나,[5][6] 더글러스 맥길로이에 따르면, "원래 DEC 컴퓨터의 ASCII, 리틀 엔디안, 바이트 스트림 세계와 IBM의 EBCDIC, 빅 엔디안, 블록화된 세계 사이의 파일을 변환하기 위한 것"이었다.[7]

`dd`는 오타로 인해 드라이브를 지워 "Disk Destroyer"라는 별명을 얻기도 했다.[15]

3. 1. 기본 구문

dd영어는 다른 많은 유닉스 프로그램과 달리 `option=value` 구문을 사용하는 명령 줄 유틸리티이다. 이는 보다 표준적인 `-option value` 또는 `--option=value` 형식과는 다르다. 기본적으로 dd영어는 표준 입력에서 읽어 표준 출력으로 쓰지만, `if` (입력 파일) 및 `of` (출력 파일) 옵션을 사용하여 변경할 수 있다.[8]

dd영어 호출의 비표준 부분은 구현마다 다르다.

입출력, 복사 크기, 읽기/쓰기 시작 위치, 1회 읽기/쓰기 데이터 크기, 데이터 변환 관련 옵션은 다음과 같다.

옵션설명
if=[file]표준 입력 대신 파일 file에서 읽는다.
of=[file]표준 출력 대신 파일 file에 쓴다.
count=[blocks]ibs 바이트 블록 blocks 개수만큼 입력 파일을 복사한다.
skip=[blocks]ibs 바이트 블록 blocks 개수만큼 입력 파일의 시작 부분을 건너뛴다.
seek=[blocks]출력 시작 부분에 있는 obs 바이트 블록 blocks 개수만큼 쓰지 않는다.
bs=[bytes]한 번에 bytes 바이트씩 읽고 쓴다.
ibs=[bytes]한 번에 bytes 바이트씩 읽는다. 기본값은 512이다.
obs=[bytes]한 번에 bytes 바이트씩 쓴다. 기본값은 512이다.
conv=[CONVERSION]데이터를 변환한다.
conv=noerror읽기 오류가 발생해도 계속 진행한다.
conv=sync입력 블록 크기가 ibs에 지정된 바이트 수보다 작을 때 패딩을 수행한다.


3. 2. 주요 옵션

`dd` 명령어는 다양한 옵션을 사용하여 파일 복사 및 변환 작업을 수행할 수 있다. 이러한 옵션들은 `option=value` 형태로 지정되며, 표준적인 유닉스 명령어 옵션 형식(`-option value` 또는 `--option=value`)과는 다르다.

다음은 `dd` 명령어의 주요 옵션들을 표로 정리한 것이다.

옵션설명기본값
`if=[파일]`입력 파일을 지정한다.표준 입력
`of=[파일]`출력 파일을 지정한다.표준 출력
`bs=[바이트]`한 번에 읽고 쓸 바이트 수를 지정한다. 이 값은 `ibs`와 `obs` 옵션을 모두 재정의한다.512 바이트
`ibs=[바이트]`한 번에 읽을 바이트 수를 지정한다.512 바이트
`obs=[바이트]`한 번에 쓸 바이트 수를 지정한다.512 바이트
`count=[블록 수]`복사할 입력 블록 수를 지정한다.(없음)
`skip=[블록 수]`입력 파일에서 건너뛸 `ibs` 바이트 블록 수를 지정한다.(없음)
`seek=[블록 수]`출력 파일에서 건너뛸 `obs` 바이트 블록 수를 지정한다.(없음)
`conv=[변환 옵션]`데이터 변환 옵션을 지정한다.(없음)



블록 크기 옵션에 제공되는 값은 십진수 정수로 해석되며, 바이트보다 큰 단위를 나타내는 접미사를 포함할 수 있다. POSIX는 512에 대한 `b` (블록)와 1024에 대한 `k` (키비바이트) 접미사만 지정한다.[8] 구현에 따라 추가적인 접미사 지원이 다를 수 있다. 예를 들어, (Free) BSD는 `m` (메비바이트), `g` (기비바이트) 등을, GNU는 `M` 및 `G`를 사용하며, SI 단위에 해당하는 킬로바이트에 `kB`, `MB`, `GB`를 사용한다.[10][16]

`conv` 옵션은 데이터를 변환하는 데 사용되며, 다음과 같은 변환 옵션이 있다.


  • `noerror`: 읽기 오류가 발생해도 계속 진행한다.
  • `sync`: 입력 블록 크기가 `ibs`에 지정되지 않은 바이트 수에 미치지 못할 때 패딩을 수행한다.


블록 크기는 `dd` 명령의 복사 성능에 영향을 미친다. 많은 작은 읽기 또는 쓰기는 더 적은 수의 큰 읽기 또는 쓰기보다 느린 경우가 많다. 큰 블록을 사용하려면 더 많은 RAM이 필요하며 오류 복구가 복잡해질 수 있다.

3. 3. 블록 크기

블록은 한 번에 읽거나 쓰는 바이트의 수를 측정하는 단위이다. `bs` 옵션은 읽기 블록 크기(`ibs`)와 쓰기 블록 크기(`obs`)를 동시에 설정하며, `ibs`와 `obs` 옵션으로 각각을 개별적으로 지정할 수도 있다. 입력 및 출력 블록 크기의 기본값은 512바이트이다. `count` 옵션은 복사할 블록 수를, `skip`과 `seek` 옵션은 각각 읽기 및 쓰기를 시작할 위치를 블록 단위로 지정한다.[8]

블록 크기 옵션에 제공되는 값은 십진수 정수로 해석되며, 접미사를 사용하여 단위를 나타낼 수 있다. POSIX는 512바이트를 나타내는 `b`와 1024바이트(키비바이트)를 나타내는 `k` 접미사만 지정한다.[8] GNU dd는 `M` (메비바이트), `G` (기비바이트) 등의 접미사를 지원한다.[10] 예를 들어, `bs=16M`은 16메비바이트(16777216바이트)를, `bs=3kB`는 3000바이트를 의미한다.

곱셈 연산자 `x`를 사용하여 블록 크기를 계산할 수도 있다. 예를 들어, `bs=2x80x18b`는 2 × 80 × 18 × 512 = 1474560 바이트로, 1440KiB 플로피 디스크의 크기와 같다.[8]

블록 크기는 `dd` 명령의 성능에 영향을 준다. 큰 블록 크기는 더 빠른 속도를 제공하지만, 더 많은 RAM을 필요로 한다. `dd`가 테이프 드라이브나 네트워크와 같이 가변 블록 크기 장치와 함께 사용될 경우, 블록 크기는 통신 프로토콜에 따라 테이프 레코드 크기 또는 네트워크 패킷 크기를 결정할 수 있다.

다음은 블록 크기 및 입출력 관련 옵션이다.

옵션설명기본값
`ibs=[bytes]`한 번에 bytes 바이트씩 읽음512
`obs=[bytes]`한 번에 bytes 바이트씩 씀512
`bs=[bytes]`한 번에 bytes 바이트씩 읽고 씀-
`count=[blocks]``ibs` 바이트 블록 `blocks` 개수만큼 입력 파일을 복사-
`skip=[blocks]``ibs` 바이트 블록 `blocks` 개수만큼 입력 파일의 시작 부분을 건너뜀-
`seek=[blocks]`출력의 시작 부분에 있는 `obs` 바이트 블록 `blocks` 개수만큼 쓰지 않음-
`if=[file]`표준 입력 대신 파일 `file`에서 읽음-
`of=[file]`표준 출력 대신 파일 `file`로 씀-


4. 용도

`dd` 명령어는 다양한 용도로 사용될 수 있다. 일반적인 파일 복사 명령어보다 속도가 느릴 수 있지만, "파일의 특정 지점에서 덮어쓰거나 잘라내거나 파일 내에서 탐색하는" 고유한 기능을 가지고 있어 유닉스 파일 API에 대한 저수준 인터페이스를 제공한다.[17]

`dd`는 파일, 장치, 파티션 및 볼륨 간에 데이터를 복제할 수 있다. 또한, 전송 중에 `conv` 옵션을 사용하여 데이터를 수정할 수도 있다.[17] 예를 들어, CD-ROM, DVD 또는 블루레이 디스크에서 ISO 디스크 이미지를 생성하거나,[18] 이전에 생성된 이미지에서 하드 디스크 드라이브 (또는 SD 카드 등)를 복원하거나, 한 파티션을 다른 파티션으로 복제할 수 있다.

`dd`는 데이터를 제자리에서 수정할 수 있다. 예를 들어, 다음 명령은 파일의 처음 512바이트를 널 바이트로 덮어쓴다.

```bash

dd if=/dev/zero of=path/to/file bs=512 count=1 conv=notrunc

```

`notrunc` 옵션은 출력 파일을 잘라내지 않도록 하여, 지정된 바이트만 변경하고 나머지 부분은 그대로 유지한다. 이 옵션이 없으면 `dd`는 512바이트 길이의 출력 파일을 생성한다.

4. 1. 데이터 전송 및 복제

dd영어는 파일, 장치, 파티션 및 볼륨 간에 데이터를 복제할 수 있다. 데이터는 이들 중 어느 곳에서든 입출력될 수 있지만 파티션으로 출력할 때는 중요한 차이점이 있다. 또한, 전송 중에 `conv` 옵션을 사용하여 매체에 맞게 데이터를 수정할 수 있다.

dd영어의 데이터 전송 형태
명령어설명
dd if=/dev/sr0 of=myCD.iso bs=2048 conv=noerror,syncCD-ROM으로부터 ISO 디스크 이미지를 생성한다. 일부 경우 작성된 ISO 이미지는 CD-ROM 기록에 사용되는 것과 동일하지 않을 수도 있다.[37]
dd if=system.img of=/dev/sdc bs=4096 conv=noerror이전에 만든 이미지로부터 하드 디스크 드라이브(또는 SD 카드)를 복원한다.
dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=noerror하나의 파티션을 다른 파티션으로 복제한다.
dd if=/dev/ad0 of=/dev/ad1 bs=1M conv=noerror하드 디스크 드라이브 "ad0"을 "ad1"으로 복제한다.



`noerror` 옵션은 오류가 발생해도 계속 진행하도록 하고, `sync` 옵션은 출력 블록을 패딩하도록 한다.

4. 2. 마스터 부트 레코드(MBR) 백업 및 복원

MBR을 백업하거나 복원할 수 있다.

  • MBR 백업:

명령어설명
`dd if=/dev/sda of=MBR.img bs=512 count=1``/dev/sda` 장치의 MBR을 `MBR.img` 파일로 백업한다. (MS-DOS 파티션, MBR 매직 바이트 포함)
`dd if=/dev/sda of=MBR_boot.img bs=446 count=1``/dev/sda` 장치의 MBR 부트 코드만 `MBR_boot.img` 파일로 백업한다. (파티션 테이블 및 부팅 시 필요한 매직 바이트 제외)


  • 플로피 드라이브의 처음 두 섹터 복제:

명령어설명
`dd if=/dev/fd0 of=MBRboot.img bs=512 count=2``/dev/fd0` (플로피 드라이브)의 처음 두 섹터를 `MBRboot.img` 파일로 복제한다.

[1]

4. 3. 데이터 수정

`dd`는 파일의 특정 부분의 데이터를 수정할 수 있다. 예를 들어, 다음 명령을 실행하면 파일의 처음 512바이트를 널(null) 바이트로 채울 수 있다.[1]

`dd if=/dev/zero of=path/to/file bs=512 count=1 conv=notrunc`

`notrunc` 변환 옵션은 출력 파일을 잘라내지 않는다는 것을 의미한다. 즉, 출력 파일이 이미 존재하면 지정된 바이트만 바꾸고 출력 파일의 나머지 부분은 그대로 둔다. 이 옵션을 사용하지 않으면 `dd`는 512바이트 길이의 출력 파일을 생성한다.[1]

4. 4. 디스크 완전 소거 (데이터 완전 삭제)

보안을 위해 버려진 장치의 디스크 완전 소거를 해야 할 때가 있다.

`dd`를 사용하여 디스크를 0으로 채워 소거할 수 있다.

```bash

dd if=/dev/zero of=/dev/sda bs=4k

```

다른 방법으로 디스크를 임의의 데이터로 채워 소거할 수도 있다.

```bash

dd if=/dev/urandom of=/dev/sda bs=4k

```

위의 방법에서 `bs=16M` 옵션을 사용하면 `dd`가 한 번에 16MB를 읽고 쓰게 한다. 최신 시스템에서는 더 큰 블록 크기가 더 빠를 수도 있다. 0을 만드는 것은 매우 빠르지만 임의의 데이터는 CPU에서 생성해야 하므로, 드라이브를 임의의 데이터로 채우는 것이 0으로 채우는 것보다 시간이 더 오래 걸릴 수 있다. 최신 하드 디스크 드라이브에서는 드라이브를 0으로 채우면 드라이브에 포함된 대부분의 데이터를 영구적으로 복구할 수 없게 된다.[20] 그러나 플래시 메모리와 같은 다른 종류의 드라이브에서는 많은 데이터를 데이터 잔류를 통해 여전히 복구할 수 있다.

최신 하드 디스크 드라이브에는 드라이브의 접근 가능하고 접근 불가능한 모든 부분을 영구적이고 안전하게 지우도록 설계된 보안 삭제 명령이 포함되어 있다. 일부 솔리드 스테이트 드라이브에서도 작동할 수 있지만, 2017년 현재 USB 플래시 드라이브나 Secure Digital 플래시 메모리에서는 작동하지 않는다. 사용할 수 있는 경우, `dd`를 사용하는 것보다 빠르고 안전하다. 리눅스에서는 hdparm 명령의 `--security-erase-enhanced` 옵션을 통해 접근할 수 있다.

4. 5. 데이터 복구

손상된 드라이브에서 데이터를 복구할 때에는 GNU `ddrescue`와 같은 도구를 사용하는 것이 더 효과적이다. 1999년 10월에 작성된 C 프로그램인 `dd_rescue`[21]는 두 가지 블록 크기를 지원하여 큰 크기로 읽기가 실패하면 더 작은 크기로 전환하여 가능한 많은 데이터를 복구한다. 2003년에는 `dd_rescue` 사용을 자동화하는 `dd_rhelp` 스크립트가 개발되었다.[22]

2004년, GNU는 `dd`와는 별개인 ddrescue 유틸리티를 개발했다. 이 유틸리티는 더 정교한 동적 블록 크기 알고리즘을 사용하며, `dd_rescue`와 `dd_rhelp` 개발자들도 자체 구현보다 우수하다고 평가한다.[23] GNU `ddrescue`는 `addrescue`, `gddrescue` (데비안 패키지 이름), `gnu_ddrescue` (openSUSE 패키지 이름) 등 다양한 이름으로 불리기도 한다. `savehd7`이라는 또 다른 오픈 소스 프로그램도 있지만, 자체 프로그래밍 언어 인터프리터 설치가 필요하다.

4. 6. 드라이브 성능 벤치마크

다음 명령어로 쓰기 성능을 측정할 수 있다.



dd if=/dev/zero bs=1M count=1024 of=testfile



다음 명령어로 읽기 성능을 측정할 수 있다.



dd if=testfile of=/dev/null bs=1M


4. 7. 기타 용도

커널 랜덤 드라이버를 이용하여 랜덤 데이터로 이루어진 100바이트 크기의 파일을 만들 수 있다.[1]

: `dd if=/dev/urandom of=myrandom bs=100 count=1`

파일의 내용을 대문자로 바꿀 수 있다.[2]

: `dd if=filename of=filename1 conv=ucase`

5. 진행 상황 표시

기본적으로 `dd`는 진행 상황을 표시하지 않는다. GNU `dd`는 `status=progress` 옵션을 사용하여 진행 상황을 표시할 수 있다.[24] 또는, `kill -USR1 [dd 프로세스 ID]` 명령을 사용하여 진행 상황을 확인할 수 있다.

실행 중인 GNU `dd` 프로세스에 `USR1` 신호를 보내면 (BSD 시스템에서는 `INFO` 신호) `dd`가 현재 전송된 블록 수를 출력한다.

다음 명령어를 사용하면 전송이 완료될 때까지 10초마다 진행 상황을 확인할 수 있다. 여기서 `''dd-pid''`는 `dd`의 프로세스 ID로 바꿔야 한다.

`while kill -USR1 ''dd-pid'' ; do sleep 10 ; done`

6. 파생 도구

`dcfldd`는 GNU `dd`의 포크로, 당시 미국 국방부 컴퓨터 포렌식 연구소에서 근무하던 닉 하버에 의해 개발된 향상된 버전이다.[25][26][27] `dd`에 비해 `dcfldd`는 여러 개의 출력 파일을 지원하고, 동시에 여러 개의 체크섬 계산을 지원하며, 파일 일치를 위한 검증 모드를 제공하고, 작업의 진행률을 백분율로 표시할 수 있다. 2024년 2월 현재, 마지막 릴리스는 2023년 4월에 나온 1.9.1 버전이다.[28]

참조

[1] 웹사이트 POSIX standard: dd invocation http://www.opengroup[...] 2016-09-29
[2] 웹사이트 How and when to use the dd command? https://web.archive.[...] CodeCoffee 2008-02-19
[3] 뉴스 Re: origin of the UNIX dd command https://groups.googl[...] 2016-01-10
[4] 웹사이트 dd http://www.catb.org/[...] 2008-02-19
[5] 서적 Assembler language programming: the IBM System/360 https://archive.org/[...] Reading, Mass., Addison-Wesley Pub. Co 1969
[6] 뉴스 Re: etymology of the Unix "dd" command https://groups.googl[...] 2016-07-14
[7] 간행물 A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 http://www.cs.dartmo[...]
[8] 문서 dd SUS
[9] 웹사이트 GNU file utilities release 1.0 https://groups.googl[...] 2023-04-28
[10] 문서 dd Linux
[11] 웹사이트 GNU's Who https://www.gnu.org/[...] 2023-04-28
[12] 문서 dd Plan 9
[13] 웹사이트 Native Win32 ports of some GNU utilities http://www.weihenste[...] 2000-08-15
[14] 웹사이트 Native Win32 ports of some GNU utilities http://unxutils.sour[...] 2022-02-23
[15] 웹사이트 How to use dd in Linux without destroying your disk https://opensource.c[...] 2020-10-11
[16] 문서 dd FreeBSD
[17] 웹사이트 cloning - dd vs cat – is dd still relevant these days? https://unix.stackex[...] 2020-04-24
[18] 웹사이트 Creating an ISO image from a CD, DVD, or BD https://wiki.archlin[...] 2022-04-18
[19] 웹사이트 linux - Why using conv=notrunc when cloning a disk with dd? https://stackoverflo[...] Stack Overflow 2014-03-24
[20] conference Information Systems Security, 4th International Conference, ICISS 2008, Hyderabad, India, December 16-20, 2008. Proceedings Springer
[21] 웹사이트 dd_rescue http://www.garloff.d[...] 2006-11-10
[22] 웹사이트 dd_rhelp author's repository http://www.kalysto.o[...] 2008-05-13
[23] 웹사이트 Ddrescue - GNU Project - Free Software Foundation (FSF) https://www.gnu.org/[...] 2016-07-22
[24] 웹사이트 GNU Coreutils: dd invocation https://www.gnu.org/[...] 2019-08-26
[25] 웹사이트 DCFLDD at Source Forge http://dcfldd.source[...] Source Forge 2013-08-17
[26] 서적 Penetration Tester's Open Source Toolkit Syngress
[27] 서적 The Best Damn Cybercrime and Digital Forensics Book Period Syngress
[28] 웹사이트 dcfldd: Enhanced version of dd for forensics and security https://github.com/r[...] GitHub 2020-11-19
[29] 웹사이트 dc3dd https://sourceforge.[...] 2020-04-24
[30] 뉴스 alt.folklore.computersでの議論 https://groups.googl[...]
[31] 웹인용 dd man page https://web.archive.[...] 2009-02-25
[32] 웹인용 How and when to use the dd command? http://www.codecoffe[...] CodeCoffee 2008-02-19
[33] 웹인용 dd http://www.catb.org/[...] 2008-02-19
[34] 뉴스 Re: origin of the UNIX dd command https://groups.googl[...] 2016-01-10
[35] 웹인용 The Unix "dd" command https://web.archive.[...] alt.folklore.computers 2011-07-05
[36] 기술보고서 A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 http://www.cs.dartmo[...]
[37] 서적 The Linux Command Line, A Complete Introduction http://books.google.[...] No Starch Press 2014-08-24
[38] 웹인용 Savannah Git Hosting coreutils.git/blob src/dd.c http://git.savannah.[...] 2015-01-21
[39] 웹인용 dd_rescue http://www.garloff.d[...]
[40] 웹인용 Ddrescue - GNU Project - Free Software Foundation (FSF) http://www.gnu.org/s[...]
[41] 웹인용 dd_rhelp author's repository http://www.kalysto.o[...] 2011-09-19



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com