공개하기부끄러운블로그
공개하기부끄러운블로그
공개하기부끄러운블로그
전체 방문자
오늘
어제
  • 🥇Home (100)
    • 👨🏻‍💻Infra (73)
      • 🌐Network (4)
      • 🐧Linux (27)
      • 🌎Cloud (9)
      • ⚫️Virtualization (2)
      • 🐳Docker & Kubernetes (1)
      • 🟦WEB & WAS (18)
      • 🟩IaC (0)
      • 🟨CI & CD (0)
      • ⚙️Application (6)
      • 💻Monitoring (2)
      • 📡HA (4)
    • 👨🏻‍💻Development (3)
      • 💻Frontend (2)
      • 💾Backend (0)
      • 🐍Bash (1)
    • 💾Data (16)
      • 🧩Database (13)
      • 📁Storage (3)
    • 🎓BBS (5)
    • 👨‍👧‍👧Git (0)

최근 글

인기 글

최근 댓글

태그

  • 다음 카카오 주소API
  • xe
  • log4j 취약점
  • Redmine
  • 라이믹스
  • RHCS
  • 취약점
  • 톰캣 HTTP 헤더
  • nginx
  • GFS2
  • 방화벽
  • 보안
  • Tomcat HTTP 헤더
  • CentOS8 PostgreSQL
  • 레드마인
  • 톰캣
  • Tomcat 취약점
  • WAF
  • CentOS7 PostgreSQL
  • 다음 주소API
  • pcs
  • 카카오 주소API
  • Tomcat 버전 노출
  • 제로보드
  • 레드마인 테마
  • tomcat
  • CentOS6 PostgreSQL
  • pacemaker
  • 톰캣 버전 노출
  • 웹방화벽

티스토리

hELLO · Designed By 정상우.
공개하기부끄러운블로그

공개하기부끄러운블로그

Linux dd 명령어
👨🏻‍💻Infra/🐧Linux

Linux dd 명령어

2020. 5. 11. 10:12
반응형

테스트를 할 때 파일의 크기에 관련된 테스트라면, 다양한 파일의 크기를 생성하기가 여간 귀찮은게 아니다. 

파일의 내용은 상관없고 원하는 파일의 크기를 얻고싶을때 사용하면 좋다

아니면 의미없는 문자들로 채워넣고 복사 붙여넣기 를 반복해야되기때문이다.

dd명령어를 사용하면 쉽게 원하는 파일의 크기를 생성 가능하다

 

[root@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/장치         // 부팅디스크 제작

 

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

bs : Bytes, 한번에 읽고 쓸 최대 바이트 크기를 지정합니다.

 

cbs : Bytes, 한번에 변환 작업 가능한 바이트 크기를 지정합니다.

 

ibs : Bytes, 한번에 읽어드리는 입력단위 바이트를 지정합니다.

 

count : Blocks, 지정한 블록 수 만큼 복사합니다.

 

conv : 기호목록에 따라 파일을 변환합니다.

- ascii : EBCDIC코드를 ASCII코드로 변환합니다.

- ebcdic : ASCII코드를 EBCDIC코드를 변환합니다.

- ibm : ASCII코드를 EBCDIC코드로 EBCDIC코드를 ASCII코드로 변환합니다.

- block : cbs 단위로 변환 할 때 줄바꿈 문자를 공백으로 변환합니다.

- unblock : cbs단위로 변환 할 때 공백문자를 줄바꿈 문자로 변환합니다.

- lcase : 영어 대문자를 소문자로 변환 합니다.

- ucase : 영어 소문자를 대문자로 변환 합니다.

- swab : 입력되는 두 바이트의 순서를 변경합니다.

- sync : ibs크기와 obs크기가 차이가 있을 경우 NULL 문자로 대체합니다.

- excl : 출력파일이 이미 존재 하면 수행하지 않습니다.

- nocreat : 출력파일이 존재해야 수행합니다.

- notrunc : 출력파일을 자르지 않고 출력합니다.

- noerror : 입력데이터를 읽을 때 에러가 발생하여도 계속 진행합니다.

 

if : File, 지정한 파일을 입력대상으로 설정합니다.

 

obs : Bytes, 한번에 작성하는 출력단위 바이트를 지정합니다.

 

of : File, 지정한 파일을 출력대상으로 설정합니다.

 

seek : N, 지정한 단위만큼 obs 크기를 건너뛰고 출력을 시작합니다.

 

skip : N, 지정한 단위 만큼 ibs크기를 건너뛰고 입력을 시작합니다.

 

 

dd 명령어 사용 ex)

# /var/log/dmesg의 내용을 읽고 /tmp/test/test파일에 쓰는것을 1024바이트 크기로 1번 반복한다.

 

 

# /var/log/dmesg의 내용을 읽고 /tmp/test/test파일에 쓰는것을 1024바이트 크기로 1번 반복한다.

# /tmp/test/test 파일의 내용은 대문자로 변환합니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'👨🏻‍💻Infra > 🐧Linux' 카테고리의 다른 글

iptables 로 DDOS 방어 하기  (0) 2020.12.15
GPT 볼륨 LVM 설정  (0) 2020.08.18
APM configure 옵션 확인  (0) 2020.05.08
SSH key 생성하기  (0) 2020.04.28
[Linux] 대기상태 D(uninterruptible sleep) PID 죽이기  (0) 2020.04.01
    '👨🏻‍💻Infra/🐧Linux' 카테고리의 다른 글
    • iptables 로 DDOS 방어 하기
    • GPT 볼륨 LVM 설정
    • APM configure 옵션 확인
    • SSH key 생성하기
    공개하기부끄러운블로그
    공개하기부끄러운블로그
    IT 기술 블로그

    티스토리툴바