반응형
    
    
    
  How to use "dd" command
파일을 변환하고 복사합니다.

| 연산자 | 내용 | 
| bs=BYTES | 한 번에 최대 BYTES bytes까지 읽고 씁니다. | 
| cbs=BYTES | 한 번에 BYTES bytes를 변환합니다. | 
| conv=CONV | 쉼표(,)로 구분된 기호 목록에 따라 파일을 변환합니다. | 
| count=N | N개의 입력된 블록만 복사합니다. | 
| ibs=BYTES | 한 번에 최대 BYTES bytes까지 읽습니다. (기본값 512) | 
| if=FILE | stdin 대신 파일을 읽습니다. | 
| iflag=FLAGS | 쉼표(,)로 구분된 기호 목록에 따라 읽습니다. | 
| obs=BYTES | 한 번에 최대 BYTES bytes까지 씁니다. (기본값 512) | 
| of=FILE | stdout 대신 파일을 씁니다. | 
| oflag=FLAGS | 쉼표(,)로 구분된 기호 목록에 따라 씁니다. | 
| seek=N | N 만큼 obs block 크기를 건너뛰고 출력을 시작합니다. | 
| skip=N | N 만큼 ibs block 크기를 건너뛰고 입력을 시작합니다. | 
| status=LEVEL | stderr에 출력 될 정보의 레벨을 지정합니다. 'none' : 오류 메시지를 제외한 모든 것을 제한합니다. 'noxfer' : 최종 전송 통계를 제한합니다. 'progress' : 주기적으로 전송 통계를 보여줍니다. | 
| CONV | 내용 | 
| ascii | EBCDIC코드를 ASCII 코드로 변환합니다. | 
| ebcdic | ASCII코드를 EBCDIC코드로 변환합니다. | 
| ibm | EBCDIC코드를 ASCII코드로, ASCII코드를 EBCDIC코드로 변환합니다. | 
| block | cbs단위로 변환할 때 줄 바꿈 문자를 공백으로 변환합니다. | 
| unblock | cbs단위로 변환할 때 공백 문자를 줄 바꿈 문자로 변환합니다. | 
| lcase | 대문자를 소문자로 변환합니다. | 
| ucase | 소문자를 대문자로 변환합니다. | 
| sparse | try to seek rather than write the output for NUL input blocks | 
| swab | 입력되는 두 byte 순서를 변경합니다. | 
| sync | ibs 크기와 cbs 크기가 차이가 있는 경우 NULL 문자로 대체합니다. | 
| excl | 출력 파일이 이미 존재하면 수행하지 않습니다. | 
| nocreate | 출력 파일이 존재해야 수행합니다. | 
| notrunc | 출력 파일 끝을 잘라내지 않습니다. | 
| noerror | 읽기 에러가 발생해도 계속 진행합니다. | 
| fdatasync | 작업이 완료되기 전에 물리적으로 출력 파일에 쓰기를 진행합니다. | 
| fsync | fdatasync와 마찬가지로 메타데이터를 작성합니다. | 
| FLAG | 내용 | 
| append | append mode (출력에만 적합; conv=notrunc 에 추천) | 
| direct | 데이터에 직접 입출력하는데 사용 | 
| directory | 디렉토리가 없으면 실패합니다. | 
| dsync | 데이터에 동기화된 입출력을 사용합니다. | 
| sync | dsync와 마찬가지이며 메타데이터도 포함합니다. | 
| fullblock | 입력 전체 블록을 누적합니다. (iflag에서만 사용) | 
| nonblock | non-blocking 입출력에 사용합니다. | 
| noatime | atime (access time)을 갱신하지 않습니다. | 
| nocache | 캐시 데이터를 버립니다. | 
| noctty | 제어 터미널을 파일에 할당하지 않습니다. | 
| nofollow | 심볼릭 링크를 따라가지 않습니다. | 
| count_bytes | 'count=N'을 byte count로 처리합니다. (iflag에서만 사용) | 
| skip_bytes | 'skip=N'을 byte count로 처리합니다. (iflag에서만 사용) | 
| seek_bytes | 'seek=N'을 byte count로 처리합니다. (oflag에서만 사용) | 
사용 예시
▶ /var/log/dmesg 파일을 /tmp/test/test로 최대 1024byte로 읽기와 쓰기를 10개 블록으로 나눠 진행합니다.
# dmesg 파일 용량 확인
$> ls -lh /var/log/dmesg
# 폴더 생성
$> mkdir /tmp/test
# /var/log/dmesg파일을 /tmp/test/test로 블록 복사
$>dd if=/var/log/dmesg of=/tmp/test/test bs=1024 count=10
# /tmp/test/test 파일 용량 확인
$> ls -lh /tmp/test/test
▶ /var/log/dmesg에서 블록 복사 된 /tmp/test/test의 파일의 내용을 대문자로 변환하여 덮어 씌우기
# 기존 /temp/test/test 내용 중 첫 3줄 확인
$> head -3 /tmp/test/test
# /var/log/dmesg파일을 /tmp/test/test로 블록 복사 (소문자를 대문자로 변환하여 복사)
$> dd if=/var/log/dmesg of=/tmp/test/test bs=1024 count=10 conv=ucase
# 치환 된 /temp/test/test 내용 중 첫 3줄 확인
$> head -3 /tmp/test/test
반응형
    
    
    
  '개발 창고 > Server' 카테고리의 다른 글
| [Linux] How to use some log file (0) | 2023.10.29 | 
|---|---|
| [Linux] How to use "lastlog" command (0) | 2023.10.29 | 
| [Linux] How to use commands related to file properties (0) | 2023.10.28 | 
| [Linux] How to use "chkconfig" command (0) | 2023.10.27 | 
| [Linux] How to use "chmod" command (0) | 2023.10.27 |