
dd (Data Dumper)
- 디스크를 이미지 형태로 백업하거나 파일의 포맷 즉, 형식을 바꾸는 명령으로 텍스트 파일의 대소문자변환과 부팅 디스크를 만들때도 쓰임
- 스왑 파일을 만들거나 디바이스 초기화 시킬 때도 사용
dd if=입력파일 [conv=conversion type] of=출력파일 [bs=] [count=] [skip=]
옵션
| 옵션 | 설명 |
| if= | 입력 파일을 지정 장치명이나 이미지 파일도 지정할 수 있음 |
| of= | 출력 파일을 지정 장치명이나 이미지 파일도 지정 |
| conv= | 변환하는 데이터 유형을 지정 예) lcase, ucase |
| bs= | 출력되는 블록 사이즈를 지정 한 번에 변환하는 블록 사이즈를 지정하는 항목 |
| count= | 변환되는 블록의 수를 지정 |
| skip= | 입력 파일의 시작되는 블록 번호를 지정 보통 데이터를 나누어 이미지를 만들 때 사용 |
| oflag= | 표준 출력에 사용되는 FLAG를 지정 대표적인 flag에는 direct가 있는데, output 파일에 buffer cache를 사용하지 않고, 다이렉트로 I/O를 함 |
사용 예
- 현재 디렉터리에 있는 a.txt 파일의 모든 글자를 대문자(upper case)로 변환하여 b.txt 파일을 생성함 대소문자 변환시 if와 of의 파일명을 같게 해서는 안됨. 같을 경우 파일의 크기가 0인 빈 파일로 변환
dd if=a.txt conv=ucase of=b.txt
- 현재 디렉터리에 있는 c.txt 파일의 모든 글자를 소문자(lower case)로 변환하여 d.txt 파일을 생성
dd if=c.txt conv=lcase of=d.txt
- /dev/sda의 내용을 /dev/sdb로 디스크 백업하고 블록 사이즈는 1MB로 함
dd if=/dev/sda of=/dev/sdb bs=1M
- /dev/sda5의 내용을 /dev/sdb1에 그대로 옮김. 파티션의 내용 및 LABEL도 그대로 옮겨짐. 복사하는 대상인 /dev/sdb1은 /dev/sda5보다 크거나 같아야 함. 만약 파티션이 큰 경우에는 /dev/sda5의 크기로 지정됨. 나머지 용량을 사용하려면 resize2fs를 사용해야 함
dd if=/dev/sda5 of=/dev/sdb1
- 특정 디스크의 내용을 백업할 때 CD로 구울 수 있는 620MB의 크기로 나눈 것. 여기서 of에 기록되는 디스크는 /dev/sdb와 같은 다른 디스크 영역이어야 함
dd if=/dev/sda of=/media/disk1.img bs=1M count=620
dd if=/dev/sda of=/media/disk2.img bs=1M count=620 skip=621
dd if=/dev/sda of=/media/disk3.img bs=1M count=620 skip=1241
dd if=/dev/sda of=/media/disk4.img bs=1M count=620 skip=1861
- 블록 사이즈는 1MB 단위로 10MB 용량의 file1 파일을 생성. 출력시에는 buffer cache를 사용하지 않고 직접 I/O를 사용함
dd if=/dev/zero of=file1 bs=1M count=10 oflag=direct
💡 dd 명령을 사용하는 경우
- 텍스트 파일의 문자들을 대/소문자로 전환할 때 사용
- 부팅 디스크 또는 설치 디스크를 만들 때 사용 (RHEL 4 버전 이후에는 사용되지 않음)
- 디스크나 파티션 단위로 백업할 때 사용
- 스왑 파일 만들 때 사용
- 디스크를 초기화시킬 때 사용. RAID나 LVM 구성시 오류가 발생한 경우에 사용하면 유용함
'Linux' 카테고리의 다른 글
| [Linux] 디스크 쿼터 - xfs_quota / edquota / repquota / quota / setquota (1) | 2025.08.04 |
|---|---|
| [Linux] 스왑(Swap) (0) | 2025.08.01 |
| [Linux] 파일시스템 점검 및 관리 - fsck / e2fsck / xfs_repair (2) | 2025.07.25 |
| [Linux] Block Device 명령어 - blkid / lsblk (1) | 2025.07.24 |
| [Linux] 파일 시스템 관련 파일 - /etc/fstab, /etc/mtab (1) | 2025.07.21 |