dd 명령은 정확히 무엇을합니까?


8

며칠 전, 타사 프로그램을 사용하지 않고 iso 이미지를 USB에 쓰는 것이 어려운 것은 아니라는 사실에 기뻤습니다. 그러나 이것을 용이하게하는 명령 (또는 프로그램)은 나를 혼란스럽게합니다.

Wikipedia에 따르면 원시 데이터를 복사하고 변환하도록 설계되었지만 솔직히이 정의는 매우 모호하고 모호합니다. 특정 데이터를 다른 데이터로 변환 할 수 있지만 지정된 출력 파일이 너무 작아 지정된 입력 파일로 변환되지 않으면 어떻게됩니까?

dd if=giant_file of=tiny_file

또한 이미지 파일로 부팅 가능한 USB를 만들면 USB에 파일 시스템 유형의 isofs 가 있지만 드라이브에 아카이브 또는 실행 파일을 쓰면 일반 파일 시스템 유형이 유지됩니다.

dd 명령이 실제로 수행하는 작업이나 하위 수준에서 작동하는 방식에 대한 설명은 대단히 감사하겠습니다. 감사!

답변:


8

ddconv인수에서 지정한 선택적 변환을 사용하여 소스에서 대상으로 바이트 단위로 복사합니다 . *bs*flag옵션 으로 지정된 범위 count에서 skip, 및 seek옵션으로 정의 된 읽기 및 쓰기를 수행합니다 .

지정된 출력 파일이 너무 작아 지정된 입력 파일로 변환되지 않으면 어떻게됩니까?

of포함하기에 너무 작은 경우 if데이터가 적합하도록 잘립니다. of일반 파일 인 경우 덮어 씁니다.


1
of파일이 아니더라도 덮어 씁니다-이것은 실수로 파티션 / 드라이브를 파괴하는 아주 좋은 방법입니다! 따라서 드라이브 / 파티션 인 경우 대상을 두 배로 확인하고 삼중으로 확인하는 것이 매우 중요한 이유입니다.
Bob

1
기술적 으로 는 객체를 덮어 쓰지 않고 객체에 씁니다.
이그나시오 바스케스-아 브람스

답변 해주셔서 감사합니다. 인수를 포함하지 않지만 dd if=executable of=archive.tar둘 다 같은 크기라고 가정하면 과 같은 작업을 수행 합니다. 아카이브가 완벽하게 실행 파일로 변환됩니까?
ICoffeeConsumer

1
한 번 executablearchive.tar512 바이트에서 바이트 단위 로 바이트 복사를 수행 합니다 . 바이너리를 아카이브로 바꾸지 않습니다.
이그나시오 바스케스-아 브람스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.