dd (Data Description) 명령어
블록 단위로 파일을 복사하거나 변환
용도
- 데이터 전송
- 마스터 부트 레코드 백업 및 복원
- 데이터 수정
- 디스크 완전 소거
- 데이터 복구
- 드라이브 성능 벤치마크
- 랜덤 데이터로 파일 생성
- 파일을 대문자로 변환 등
dd 명령어 옵션
1. dd 명령어 주요 옵션
- bs=BYTES : 한 번에 BYTES씩 읽어 들이고 출력. ibs와 obs를 한 번에 지정한 것과 같다.
- cbs=BYTES : 한 번에 BYTES씩 변환 작업을 한다.
- conv=CONVS : ,로 분리된 단어들을 파일로 변환한다.
- ascii : EBCDIC 코드를 ASCII 코드로 변환한다.
- ebcdic : ASCII 코드를 EBCDIC 코드로 변환한다.
- ibm : ASCII 코드를 EBCDIC 코드로, EBCDIC 코드를 ASCII 코드로 변환한다.
- block : cbs로 변환 작업과정에서 입력문자내에 있는 개행 문자들을 공백문자로 변환한다.
- unblock : block와는 반대로 cbs로 변환 작업과정에서 입력 문자내에 있는 공백 문자들을 개행 문자로 변환한다.
- lcase : 영문 대문자를 영문 소문자로 변환한다.
- ucase : 영문 소문자를 영문 대문자로 변환한다.
- swap : 입력된 두 바이트를 바꾼다.
- nocreate : 출력 파일이 존재해야 수행합니다.
- excl : 출력 파일이 이미 존재 하면 수행하지 않습니다.
- notrunc : 출력 파일을 자르지 않고 출력한다.
- noerror : 입력 데이터를 읽을 때에 에러가 발생하더라도 계속 진행한다.
- sync : 입력된 ibs와 출력하는 obs 사이에 차이가 있을 경우 그 여백공간을 NULL 문자로 채운다.
- count=BLOCKS : 입력 블록의 ibs 크기만큼만 복사한다.
- ibs=BYTES : 입력 단위로 한 번에 BYTES 단위로 읽어 들인다.
- if=FILE : 표준입력대신 지정한 파일을 입력으로 받는다.
- obs=BYTES : 출력 단위로 한번에 BYTES 단위로 출력한다.
- of=FILE : 표준 출력대신 지정된 파일에 출력한다.
- seek=BLOCKS : 출력 시작시 지정된 BLOCKS의 단위만큼 obs 크기를 건너뛰고 출력을 시작한다.
- skip=BLOCKS : 입력 시작시 지정된 BLOCKS의 단위만큼 ibs 크기를 건너뛰고 입력을 시작한다.
2. BYTES 단위
- c : Character, 1byte
- w : Word, 2byte
- b : Block, 512byte
- kB : 1000byte
- k : Kilo Bytes, 1024byte
- MB : 1000*1000
- M : 1024*1024
- GB : 100010001000
- G : 102410241024
- 기타 : T, P, E, Z, Y
3. 사용 예
- 부팅 디스크 제작
# fdformat /dev/<포맷할장치> //포맷
# dd if=/boot/vmlinuz of=/dev/장치 //부팅디스크 제작
- 원본파일에서 1024바이트를 제외하고 복사
# dd if=real.eml of=real2 bs=1024 skip=1
- /var/log/dmesg파일에서 1024바이트로 10번 읽어서 대문자로 변환한 후 test파일에 쓰기
# dd if=/var/log/dmesg of=./test bs=1024 count=10 conv=ucase
10+0 records in
10+0 records out
10240 bytes (10 kB) copied, 0.000163 seconds, 62.8 MB/s
# head -3 test
LINUX VERSION 2.6.18-274.EL5 (MOCKBUILD@BUILDER10.CENTOS.ORG) (GCC VERSION 4.1.2 20080704 (RED HAT 4.1.2-50)) #1 SMP FRI JUL 22 04:43:29 EDT 2011
COMMAND LINE: RO ROOT=LABEL=/ RHG
출처
'work' 카테고리의 다른 글
MAC OS Dock 이동하기 (0) | 2020.01.29 |
---|---|
[Elasticsearch] 특정 필드 삭제 (0) | 2020.01.28 |
[Flask] CORS - Access to XMLHttpRequest at * from origin * has been blocked by CORS policy (0) | 2020.01.17 |
신뢰할수 있는 루트 인증서 등록 (0) | 2020.01.14 |
[CentOS7] nginx 설치 (0) | 2019.11.05 |