'Linux Command'에 해당되는 글 1건

  1. 2019.12.09 dd (디스크 백업,복사,속도측정,파일생성,...)

 

[usage]

 

dd if=소스  of=타겟 bs=버퍼사이즈 count=복사할섹터수 status=progress

 

[example]

 

dd if=/dev/sdb of=/dev/sdc bs=10M status=progress

(/dev/sdb 를 /dev/sdc 로 복사, 버퍼 사이즈를 크게 두면 속도가 빨라진다)

 

dd if=/dev/zero of=test.bin bs=1K count=100

(100K 크기를 갖는 aa.bin 파일이 생성)

 

dd if=/dev/zero of=/disk1/t1 bs=65536 count=2000 oflag=direct
(디스크 속도 측정하기 (or  Disk IO 부하주기))


[options]

status 옵션중 progress는 coreutils >= 8.24 부터 지원
Ubuntu 16.04 에서는 기본버전이 8.25가 탑재되어있어 사용이 가능하다.

 

bs=BYTES : 한번에 BYTES씩 읽어들이고 출력. ibs와 obs를 한번에 지정한 것과 같음 ((ibs, obs 값 무시)

cbs=BYTES : 한번에 BYTES씩 변환작업을 함

conv=CONVS : ,로 분리된 단어들을 파일로 변환

count=BLOCKS : 입력블록의 ibs크기만큼만 복사

ibs=BYTES : 입력단위로 한번에 BYTES 단위로 읽어 들임

 

if=FILE : 표준입력대신 지정된 파일을 입력으로 받음

obs=BYTES : 출력단위로 한번에 BYTES 단위로 출력

of=FILE : 표준출력대신 지정된 파일에 출력

seek=BLOCKS : 출력시작시 지정된 BLOCKS의 단위만큼 obs 크기를 건너뛰고 출력을 시작함

skip=BLOCKS : 입력시작시 지정된 BLOCKS의 단위만큼 ibs 크기를 건너뛰고 입력을 시작함

 

oflag=flag : 표준출력 파일에 사용되는  flag 옵션

(flag가 direct 시, output 파일에 buffer cache를 사용하지 않고 다이랙트로 I/O를 한다)

 

 

ascii : EBCDIC 코드를 ASCII 코드로 변환함

ebcdic : ASCII 코드를 EBCDIC 코드로 변환함

ibm : ASCII 코드를 EBCDIC 코드로, EBCDIC 코드를 ASCII 코드로 변환함

block : cbs로 변환작ㄱ업과정에서 입력문자내에 있는 개행문자들을 공백문자로 변환함

unblock : block와는 반대로 cbs로 변환작업과정에서 입력문자내에 있는 공백문자들을 개행문자로 변환함

 

lcase : 영문대문자를 영문소문자로 변환

notrunc : 출력파일을 자르지 않고 출력

ucase : 영문 소문자를 영문대문자로 변환

swap : 입력된 두바이트를 바꿈

noerror : 입력데이터를 읽을 때에 에러가 발생하더라도 계속 진행

sync : 입력된 ibs와 출력하는 obs사이에 차이가 있을 경우 그 여백공간을 NULL 문자로 채움

 

dd의 입출력시에 사용되는 단위들

c : Character, 1byte

w : Word, 2bytes

k : Kilo Bytes, 1024bytes

b : Block, 512bytes

 

 

[PV 를 이용한 진행 상태 보기, Example Assuming a 2GB disk being copied from /dev/sdb ]

 

- command

sudo dd if=/dev/sdb | pv -s 2G | dd of=DriveCopy1.dd bs=4096

 

- output

440MB 0:00:38 [11.6MB/s] [======> ] 21% ETA 0:02:19

 

 

 

[reference]

 

https://ko.wikipedia.org/wiki/Dd_(%EC%9C%A0%EB%8B%89%EC%8A%A4)

https://idchowto.com/?p=29229  

(Pipe Viewer  , dialog 화면과 연동한 방법도 소개)

https://m.blog.naver.com/PostView.nhn?blogId=hiru3300&logNo=90149308070&proxyReferer=https%3A%2F%2Fwww.google.com%2F

https://askubuntu.com/questions/215505/how-do-you-monitor-the-progress-of-dd

  
 «이전 1  다음»