Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux에서 dd 명령을 사용하는 방법

Linux에서 dd 명령을 사용하는 방법

dd Linux에서 가장 중요한 명령 중 하나이며 주로 하드 디스크와 파티션을 백업하는 데 사용됩니다. dd를 올바르게 활용하면 한 파티션에서 다른 파티션으로 데이터를 쓰고 파일로 다른 작업을 수행하는 강력한 도구가 될 수 있습니다. 여기에서 dd 명령을 잘 사용하는 방법을 보여줍니다.

dd의 이야기

이 명령은 원래 1970년대 AT&T Bell Laboratories에서 Ken Thompson이라는 컴퓨터 과학자에 의해 개발되었습니다. Unix 기반 시스템용으로 개발되었으며 "DD"라고 하는 IBM의 작업 제어 언어에서 발견된 명령문에 대한 참조로 선택된 이름이 주어졌습니다. 명령의 구문은 작업 제어 언어의 명령문과 매우 유사합니다.

이 명령은 원래 ASCII를 EBCDIC로 또는 그 반대로 변환하는 유틸리티로 설계되었습니다. 1974년 운영 체제 5판의 출시와 함께 Unix 버전과 처음 통합되었습니다.

dd는 부적절하게 사용되면 하드 디스크의 데이터를 파괴하는 능력 때문에 Unix 커뮤니티에서 농담으로 "디스크 파괴자"라고 불렸습니다.

기본 피연산자

이제 명령의 배경과 잘못 사용될 때의 파괴적인 능력에 대해 조금 알게 되었으므로 다른 Linux 배포판 사용자에게 제공하는 모든 것을 활용하는 방법을 배울 때입니다.

먼저 --help를 사용하여 설명서를 봅니다. 플래그:

dd --help
Linux에서 dd 명령을 사용하는 방법

가장 일반적으로 사용되는 명령에는 두 가지 피연산자가 있습니다. if입니다. 및 of , 각각 "입력 파일" 및 "출력 파일"을 나타냅니다. if 피연산자는 소스 위치를 나타내는 데 사용되는 반면 of 피연산자는 입력 위치에서 데이터를 저장하려는 위치를 나타내는 데 사용됩니다.

dd if=<input file> of=<output file>

가장 일반적인 소스 및 출력 위치에는 하드 디스크, 파티션 및 디스크 이미지가 포함됩니다.

명령을 사용하기 전에 fdisk를 사용하는 것이 도움이 될 수 있습니다. 유틸리티를 사용하여 시스템의 파티션을 봅니다. 이것은 명령의 -l을 사용하여 쉽게 수행할 수 있습니다. 플래그:

sudo fdisk -l
Linux에서 dd 명령을 사용하는 방법

이 경우 if "/dev/sda" 드라이브를 나타내는 데 사용되며 of "/dev/sda"의 데이터가 저장되는 "/dev/sdb" 드라이브를 나타냅니다.

dd if=/dev/sda of=/dev/sdb
Linux에서 dd 명령을 사용하는 방법

디스크 이미지 만들기

이 명령의 가장 좋은 사용 사례 중 하나는 ".img" 파일 형식으로 디스크 이미지를 만드는 것입니다. 이것은 Linux 기반 시스템의 데이터를 백업하는 데 매우 유용하며 전체 하드 디스크를 백업하는 가장 빠르고 쉬운 방법일 것입니다.

이 경우의 논리는 주로 if와 동일합니다. "/dev/sda" 드라이브와 of를 나타내는 피연산자 하드 디스크의 데이터가 저장되는 ".img" 파일을 나타내는 피연산자:

dd if=/dev/sda of=example.img
Linux에서 dd 명령을 사용하는 방법

디스크 이미지를 파티션에 저장

명령을 사용하여 디스크 이미지를 만드는 것은 매우 간단하지만 해당 프로세스의 반대 버전도 마찬가지입니다.

이 시나리오에서 디스크 이미지 파일은 입력 파일로 작동하고 새 파티션은 출력 파일로 작동합니다. 유틸리티는 디스크 이미지의 데이터를 "/dev/sdb" 파티션에 저장합니다.

dd if=example.img of=/dev/sdb
Linux에서 dd 명령을 사용하는 방법

압축 디스크 이미지 만들기

전체 크기 하드 디스크의 디스크 이미지를 생성하는 경우 최종 디스크 이미지의 파일 크기가 상당히 클 것이라고 상상할 수 있습니다. 이러한 이유로 dd 유틸리티에는 압축된 디스크 이미지를 생성하는 기능이 있습니다.

| 파이프를 사용하여 압축된 디스크 이미지를 만들 수 있습니다. 명령. 이 경우 입력 파일의 내용을 가져와서 gzip을 수행하는데 사용합니다. -c 명령 플래그, 콘텐츠가 ".gz" 파일로 패키징됨:

dd if=/dev/sda | gzip -c > image.gz
Linux에서 dd 명령을 사용하는 방법

블록 크기 지정

dd 명령의 작업 속도를 가지고 놀 수도 있습니다. bs를 사용하여 수행할 수 있습니다. 블록 크기를 나타내는 데 사용되는 피연산자. 블록 크기는 dd가 단일 인스턴스에서 출력 파일에 복사하는 바이트 수를 나타냅니다. 1024바이트의 배수로 표현되며 기본값은 512바이트로 설정되어 있다. 블록 크기가 클수록 데이터가 더 빨리 출력 파일에 저장됩니다.

이 경우 블록 크기를 2048로 설정합니다.

dd if=/dev/sda of=example.img bs=2048

블록 크기는 킬로바이트 단위로 지정할 수도 있습니다.

dd if=/dev/sda of=example.img bs=2048K
Linux에서 dd 명령을 사용하는 방법

하드 디스크 지우기

dd는 하드 디스크를 지우는 데에도 사용할 수 있습니다. 이것은 "/dev/zero" 또는 "/dev/urandom"에서 0 또는 임의의 문자를 읽고 데이터를 덮어쓰는 하드 디스크/파티션에 저장하여 수행됩니다. 이는 하드 디스크를 판매하거나 폐기한 후 데이터를 쉽게 검색할 수 없도록 하려는 경우에 매우 유용합니다.

0을 사용하여 하드 디스크 덮어쓰기:

dd if=/dev/zero of=/dev/sdb
Linux에서 dd 명령을 사용하는 방법

덮어쓰기 프로세스는 임의의 문자를 사용하여 수행할 수도 있습니다.

dd if=/dev/urandom of=/dev/sdb
Linux에서 dd 명령을 사용하는 방법

부팅 가능한 USB 드라이브 만들기

다음 명령과 함께 ".iso" 파일을 사용하여 부팅 가능한 USB 플래시 드라이브를 만드는 것은 간단합니다.

dd if=os.iso of=<USB drive location>
Linux에서 dd 명령을 사용하는 방법

마무리

dd 명령은 많은 영역에서 유용하고 하드 드라이브, 파티션 및 디스크 이미지 파일과 관련이 있기 때문에 "스위스 군용 칼"로 간주될 수 있다고 말하는 것이 안전합니다. 하드 디스크를 파괴하지 않는 한, 하드 디스크 또는 USB 드라이브 지우기에서 압축 백업 생성에 이르기까지 모든 작업에 효과적이고 사용하기 쉬운 도구입니다.