2022. 8. 9. 01:34ㆍ✨ Linux
Intro
dd 명령어는 파일을 복사하고 변환할 수 있는 명령어이다.
Linux에서는 하드 디스크도 파일로 간주 된다. dd 는 이러한 하드 디스크 및 파티션을 복제할 수 있다는 데서 사용성이 높다.
하드 디스크를 제어할 수 있는 만큼 주의 깊게 사용 해야 한다.
dd 명령어를 이용하여 다음을 수행할 수 있다.
- 디스크 복제
- 파티션 복제
- 전체 하드 디스크 또는 파티션 백업 및 복원
- 하드 디스크 데이터 삭제
Syntax
dd 명령어의 기본적인 문법과 사용법은 다음과 같다.
root@DESKTOP:~# dd --help
Usage: dd [OPERAND]...
or: dd OPTION
Copy a file, converting and formatting according to the operands.
bs=BYTES read and write up to BYTES bytes at a time (default: 512);
overrides ibs and obs
cbs=BYTES convert BYTES bytes at a time
conv=CONVS convert the file as per the comma separated symbol list
count=N copy only N input blocks
ibs=BYTES read up to BYTES bytes at a time (default: 512)
if=FILE read from FILE instead of stdin
iflag=FLAGS read as per the comma separated symbol list
obs=BYTES write BYTES bytes at a time (default: 512)
of=FILE write to FILE instead of stdout
oflag=FLAGS write as per the comma separated symbol list
seek=N skip N obs-sized blocks at start of output
skip=N skip N ibs-sized blocks at start of input
status=LEVEL The LEVEL of information to print to stderr;
'none' suppresses everything but error messages,
'noxfer' suppresses the final transfer statistics,
'progress' shows periodic transfer statistics
N and BYTES may be followed by the following multiplicative suffixes:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M,
GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.
# dd if=source-disk of=destination-disk [option]
if
: input file의 약자. source 파일의 위치를 지정한다. 디스크 복제의 경우, /dev/vdc 와 같이 지정할 수 있다.of
: output file의 약자. 복제한 파일들을 저장할 위치를 지정한다.bs
: block size로, 한번에 읽어들일 bytes 수를 의미한다. 기본값은 512bytes이다. block size가 클 수록 output file에 데이터가 더 빠르게 쓰인다. ex. bs=2048 (bytes 단위), bs=2K (kilobytes 단위)count
: 복제할 블록의 수를 의미한다. bs * count 값을 하면 복사하는 데이터의 전체 크기가 된다.status
: dd 작업의 진행 상황을 볼 수 있다. progress로 지정하면 복사 중인 block 을 표준 출력으로 보여준다.
🛑 block size가 클수록 속도가 빨라진다고 해서 무조건 수치를 높게 해서는 안된다. write 하는 장치가 무엇인지에 따라 적정한 값을 설정해야 한다. ex. cd, dvd 인지 hard disk 인지 등등
dd로 더미 파일 생성하기
/dev 디렉터리 하위에 있는 /dev/zero나 /dev/urandom 같은 special directory를 사용하여 더미 파일을 생성할 수 있다.
테스트할 때 원하는 크기의 파일을 쉽게 생성하는데 유용하다.
root@DESKTOP:~/script# dd if=/dev/zero of=dummy.txt bs=512 count=10
10+0 records in
10+0 records out
5120 bytes (5.1 kB, 5.0 KiB) copied, 0.0103007 s, 497 kB/s
root@DESKTOP:~/script# ls -alh
total 20K
drwxr-xr-x 1 wglee wglee 4.0K Aug 9 01:21 .
drwxr-xr-x 1 wglee wglee 4.0K Aug 9 00:13 ..
-rw-r--r-- 1 wglee wglee 5.0K Aug 9 01:21 dummy.txt
-rw-r--r-- 1 wglee wglee 57 Mar 22 23:39 test.txt
참고 문서
'✨ Linux' 카테고리의 다른 글
SNAT / DNAT 개념과 iptables 에 NAT 룰 적용해보기 (0) | 2022.08.13 |
---|---|
Shell Script 짜면서 찾아봤던 것들 (0) | 2022.08.11 |
find 명령어 -exec 옵션으로 검색된 파일에 대해 명령 실행하기 (0) | 2022.07.04 |
NFS 자동 마운트 autofs 설정하기 (0) | 2022.06.04 |
anacrontab 사용하여 job 스케줄링 하기 (0) | 2022.06.03 |