프로그래밍/Unix

[유닉스] 파일 덤프 [ dd (data duplicate) ]

미냐님 2020. 4. 21. 20:54
728x90

dd (data duplicate)

  • 입력한 내용을 변환하여 출력
  • 형식 : dd [옵션] [if=입력파일] [of=출력파일]
  • 옵션
    • bs=n : 입출력 블록의 크기를 n 바이트로 지정 (기본 1블록 = 512바이트)
    • conv=lcase : 알파벳을 소문자로 변환
    • conv=ucase : 알파벳을 대문자로 변환
  • 사용 예
    • dd bs=2 if=/dev/null of=test
    • dd conv=lcase if=test1 of=test2

 

대소문자 전환하기

  • 변환 형식 옵션의 값을 lcase로 주면 test_cut 파일 내용을 소문자로 변환
$ dd conv=lcase if=test_cut of=test_dd1
0+1 records in
0+1 records out
146 bytes (146 B) copied, 0.0132024 s, 11.1 kB/s
$ more test_dd1
001 hong gil-dong 80 m
002 park ji-sung 76 m
003 cha doo-ri 90 m
004 park chan-ho 88 m
005 kim yun-a 50 f
006 bae sue-ji 48 f
007 han so-ri 49 f
$
  • 다시 대문자로 바꾸려면 변환 형식을 ucase로 사용
$ dd conv=ucase if=test_cut of=test_dd1
0+1 records in
0+1 records out
146 bytes (146 B) copied, 0.00951814 s, 15.3 kB/s
$ more test_dd2
001 HONG GIL-DONG 80 M
002 PARK JI-SUNG 76 M
003 CHA DOO-RI 90 M
004 PARK CHAN-HO 88 M
005 KIM YUN-A 50 F
006 BAE SUE-JI 48 F
007 HAN SO-RI 49 F
$

 

파일 지우기

  • dd 명령을 이용해 파일의 내용을 지울 수 있음
  • /dev/null 파일은 빈 파일
$ dd if=/dev/null of=test_dd2
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.0139501 s, 0.0 kB/s
$ more test_dd2
$ ls test_dd2
test_dd2
$
728x90