왜 dd를 사용하지 않고 cp를 사용하여 파일을 복사합니까? (유닉스 파생어에서)


21

* nix에서 일반 파일 복사의 경우 사람들이 cp (예 :)를 사용하는 것을 본 적이 cp /mnt/mydevice/myfile ~/myfile있지만 결국에는 dd똑같은 일을하는 것처럼 보입니다 ( dd if=/mnt/mydevice/myfile of=~/myfile). 사용할 수있는 몇 가지 매개 변수가 있지만 (dd는 미세 조정 된 복사에서는 더 나은 것 같습니다) 중복 된 것으로 보입니다. 이 도구들이 실제로 같은 일을합니까?


일반 파일에 대해서만 동일한 작업을 수행합니다. 예를 들어을 사용하여 디렉토리를 복사하십시오 dd.
Eddy_Em

... 또는 장치 (등 /dev/sda)와 cp.
jpaugh

질문에 답변이 되었습니까?
Kruug

@Eddy_Em, 무슨 일이야?
Pacerier

답변:


13

당신의 주된 질문에 대답하기 위해, 그들은 같은 것을하지 않습니다.

dd는 지정한 파일에서 작동하므로 장치간에 또는 장치에서 파일로 데이터를 복사 할 수 있습니다. 장치가 특별히 관련된 경우 (CD-ROM 디스크에서 ISO 이미지 생성 : dd if = / dev / cdrom of = mycdrom.iso) 또는 원시 장치 백업 (RAC 데이터베이스에서 사용되는 경우) : dd if = / dev / raw / raw1 of = device_raw1)

cp는 파일 내용을 새 파일이나 새 위치로 복제하는 데 사용됩니다. 소유권, 타임 스탬프 및 모드 (권한)를 보존하고 작업을 재귀 할 수있게하는 것 (= 디렉토리를 복사 할 수 있음)

출처


3
아! dd는 원시 파일을 복사하지만 cp는 내용을 복사합니다 (예를 들어 파일 시스템을 손상시키지 않고 디렉토리를 복사 할 수 있음). 감사!
user232105 2016 년

5
@Kruug, 나는 아직도 할 수없는 cp일을 아직 보지 못했기 때문에 무언가를 놓치고 있어야합니다 dd. dd또한 할 수있다 "새 위치 새 파일 또는에 복제 파일 내용""소유권, 타임 스탬프 및 모드의 보존" 맞죠?
Pacerier

3
내가 이해할 수있는 @Pacerier cp는보다 집중적 인 유틸리티이지만 dd더 일반적입니다. dd할 수있는 모든 것을 cp할 수 있지만 cp할 수있는 것 중 일부만 할 dd수 있습니다.
Kruug

나는 그 차이가 명확하게 설명되어 있다고 생각하지 않습니다. cp는 무엇을 할 수없고 dd는 할 수 없습니까? 그리고 다른 길은?
고른

9

또는 dd같은 바이트를 복사하는 것을 제한하는 옵션 중 하나를 지정 하거나 또는 옵션을 사용하여 와 같은 바이트를 변경 하는 경우 에는 동일한 작업을 수행합니다 . 당신이 이러한 옵션 중 하나를 사용하지 않는 경우 와 마찬가지로 더 일반적으로 볼 옵션을 사용하고 , , 다음 두 유틸리티는 같은 일을 : 출력에 입력 읽기, 쓰기를 모두 파일을 열 입력 중 하나가 소진 될 때까지 또는 출력이 더 많은 바이트를 허용 할 수 없습니다.seekskipcountddconvddifofbs

"장치"파일을 읽고 쓰는 것에 대해 많은 미신이 있습니다.이 파일에는 반드시 사용해야한다는 내용이 있습니다 dd. 그러나 그것은 바로 미신입니다. dd다른 일을하지 않고 파일을 열고 바이트를 읽고 쓰고 있습니다.


다소간이 ... 장치에 따라 of = destiny을 사용하면 일부 문제가 발생할 수 있습니다. USB 플래시 디스크. >> destiny을 사용하고 작동하려면 = xxx 매개 변수를 제거해야한다는 것을 알게되었습니다. of = destiny을 사용하면 skip과 iflags = skip_bytes 플래그로 작동하기 때문에 이상한 문제가 발생합니다. 그래서 그렇게 미신이 없습니다. >> 운명이 원활하게 진행되는 일부 조건에서는 운명으로 인해 관리 및 테스트가 제대로 작동하지 않을 수 있습니다. 큰 파일을 단계적으로 pendrive에 저장하는 스크립트를 작성했습니다. sdcard 디스크 파티션을 엉망으로 만드는 데 사용되는 전체 400MB 사본.
Sergio Abreu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.