블럭 장치 읽고 쓰는 명령어, dd
`dd`는 리눅스와 유닉스 환경에서 데이터를 변환하고 복사하는 데 사용되는 명령어입니다. 주로 디스크 또는 파일의 날짜를 복사, 변환하거나 백업 및 복원 작업에 사용됩니다. `dd`는 "data duplicator"의 줄임말이며, 블록 단위로 데이터를 처리합니다.
기본 구문
`dd`의 기본 구문은 다음과 같습니다:
dd if=source of=target [options]
여기서:
- `if`: 입력 파일 (source)
- `of`: 출력 파일 (target)
주요 옵션
- `bs=BYTES`: 입력 및 출력을 위해 한 번에 읽고 쓸 바이트의 크기를 설정합니다.
- `count=NUM`: 복사할 블록의 수를 지정합니다.
- `skip=NUM`: 입력 파일에서 건너뛸 블록의 수를 지정합니다.
- `seek=NUM`: 출력 파일에서 건너뛸 블록의 수를 지정합니다.
- `conv=CONVS`: 데이터 변환 옵션을 지정합니다. 예를 들어 `noerror` (입력 오류를 무시), `sync` (입력 블록을 출력 블록 크기로 동기화) 등이 있습니다.
사용 사례
1. 디스크 이미지 생성
물리적 디스크 `/dev/sdb`의 이미지를 `backup.img` 파일로 백업:
dd if=/dev/sdb of=backup.img bs=4M
2. ISO 파일을 USB 드라이브에 기록
`linux.iso` 파일을 USB 드라이브 `/dev/sdb`에 기록:
dd if=linux.iso of=/dev/sdb bs=4M
3. 랜덤 데이터로 디스크 지우기
`/dev/sdb` 디스크에 랜덤 데이터를 기록하여 데이터를 완전히 지움:
dd if=/dev/urandom of=/dev/sdb bs=4M
4. 텍스트 파일의 일부분 추출
`file.txt`의 처음 10 바이트만 `output.txt`로 복사:
dd if=file.txt of=output.txt bs=1 count=10
정리
`dd` 명령어는 강력하지만 주의해서 사용해야 합니다. 특히 디스크 또는 파티션에 쓰기 작업을 수행할 때 실수로 중요한 데이터를 손상시킬 수 있으므로 항상 주의가 필요합니다.
'Linuxpia > Linux 명령어' 카테고리의 다른 글
[리눅스 명령어] 변수를 선언하거나 변수에 속성을 부여하는, declare (2) | 2023.08.17 |
---|---|
[리눅스 명령어] 파일 시스템 디버거, debugfs (4) | 2023.08.16 |
[리눅스 명령어] 터미널에서 시간과 날짜까지 볼수 있는 명령어, date (1) | 2023.08.14 |
[리눅스 명령어] 필요한 필드만 출력하는 명령어, cut (2) | 2023.08.13 |
[리눅스 명령어] 파일을 분할하는 명령어, csplit (3) | 2023.08.12 |