본문 바로가기
컴퓨터 활용/리눅스 활용

[쉘 스크립트] dd 명령어

by 호군 2011. 9. 22.
반응형

원문 : http://rooby.tistory.com/93


테스트를 할 때 파일의 크기에 관련된 테스트라면, 다양한 파일의 크기를 생성하기가 여간 귀찮은게 아니다.
어짜피 파일의 내용은 상관없는데.. 원하는 파일의 크기를 얻고 싶을 뿐인데.. 임의의 파일을 열어 의미없는 문자들로 채워넣자니 노가다가 너무 심하다. 이 dd명령어를 이용하면 쉽게 원하는 파일의 크기를 생성 할 수 있다.
[dhna@localhost] $ dd if=/dev/zero of=test.bin bs=1K count=100
이렇게 하면 100K 크기를 갖는 aa.bin 파일이 생성된다.



 dd : 블록단위로 파일을 복사하거나 파일변환을 할 수 있는 명령어

dd의 입출력시에 사용되는 단위들
c : Character, 1byte
w : Word, 2bytes
k : Kilo Bytes, 1024bytes
b : Block, 512bytes


주요옵션
bs=BYTES : 한번에 BYTES씩 읽어들이고 출력. 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 크기를 건너뛰고 입력을 시작함

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 문자로 채움



• 부팅디스크 제작
 # fdformat /dev/포멧할장치    // 포멧
 # dd if=/boot/vmlinuz of=/dev/장치         // 부팅디스크 제작

 


 
반응형