운영 및 유지보수 리눅스 운영 및 유지 관리 Linux의 dd 명령에 대한 자세한 설명

Linux의 dd 명령에 대한 자세한 설명

Oct 23, 2020 am 10:46 AM
dd 명령에 대한 자세한 설명

Linux의 dd 명령에 대한 자세한 설명: 1. dd는 지정된 크기의 블록을 사용하여 파일을 복사하고 복사하는 동안 지정된 변환을 수행합니다. 2. [if=filename] 입력 파일 이름, 기본값은 표준 입력입니다. [of=파일 이름] 출력 파일 이름, 기본값은 표준 출력입니다.

Linux의 dd 명령에 대한 자세한 설명

관련 학습 권장사항: linux 비디오 튜토리얼

Linux의 dd 명령에 대한 자세한 설명:

1. dd 명령 설명

dd: 블록 사용 지정된 크기 파일을 복사하고 복사하는 동안 지정된 변환을 수행합니다.

참고: 지정된 숫자가 다음 문자로 끝나는 경우 해당 숫자는 다음과 같이 곱해집니다: b=512; c=1; w=2

매개변수 참고:

1. : 입력 파일 이름, 기본값은 표준 입력입니다. 즉, 소스 파일을 지정합니다. < if=입력 파일 >

2.of=파일 이름: 출력 파일 이름, 기본값은 표준 출력입니다. 즉, 대상 파일을 지정합니다. < of=출력 파일 >

ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
로그인 후 복사

3.bs=bytes: 동시에 읽기/출력 블록 크기를 바이트 바이트로 설정합니다.

4. cbs=bytes: 바이트를 한 번에 변환합니다. 즉, 변환 버퍼 크기를 지정합니다.

5.skip=blocks: 복사를 시작하기 전에 입력 파일의 시작 부분부터 블록을 건너뜁니다.

6.eek=blocks: 복사를 시작하기 전에 출력 파일의 시작 부분에서 블록을 건너뜁니다.

참고: 이는 일반적으로 출력 파일이 디스크나 테이프인 경우, 즉 디스크나 테이프에 백업된 경우에만 유효합니다.

7.count=blocks: 블록 블록만 복사하며 블록 크기는 ibs에서 지정한 바이트 수와 같습니다.

8.conv=conversion: 지정된 매개변수로 파일을 변환합니다.

ascii:转换ebcdic为ascii
 ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
 noerror:出错时不停止
 notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
로그인 후 복사

2.dd 애플리케이션 예제

1. 전체 로컬 /dev/hdb 디스크를 /dev/hdd

#dd if=/dev/hdb of=/dev/hdd
로그인 후 복사

에 백업합니다. 지정된 경로

#dd if=/dev/hdb of=/root/image
로그인 후 복사

3. 지정된 디스크

#dd if=/root/image of=/dev/hdb
로그인 후 복사

에 백업 파일을 복원합니다. 4. 전체 /dev/hdb 디스크 데이터를 백업하고 gzip 도구를 사용하여 압축한 후 지정된 경로

#dd if=/dev/hdb | gzip > /root/image.gz
로그인 후 복사

5에 저장합니다. 압축된 백업 파일을 지정된 디스크에 복원

#gzip -dc /root/image.gz | dd of=/dev/hdb
로그인 후 복사

6. MBR 백업 및 복원

디스크 시작 부분의 512바이트 MBR 정보를 지정된 파일에 백업:

#dd if=/dev/hda of=/root/image count=1 bs=512
로그인 후 복사

count=1은 한 블록만 복사한다는 의미입니다. ; bs=512는 블록 크기가 512바이트임을 의미합니다.

복구:

#dd if=/root/image of=/dev/had
로그인 후 복사

백업 MBR 정보를 디스크 시작 부분에 기록하세요

7. 플로피 디스크를 백업하세요

#dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即块大小为1.44M)
로그인 후 복사

8. 디스크 내용을 하드 디스크에 복사하세요. 지정된 폴더를 cd .iso 파일로 저장합니다.

#dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
로그인 후 복사

10. 스왑 파티션 파일 크기를 늘립니다.

1단계: 256M 크기의 파일 생성:

#dd if=/dev/cdrom(hdc) of=/root/cd.iso
로그인 후 복사

2단계: 이 파일을 스왑 파일로 변환 :

#dd if=/dev/zero of=/swapfile bs=1024 count=262144
로그인 후 복사

3단계: 이 스왑 파일 활성화:

#mkswap /swapfile
로그인 후 복사

4단계: 부팅할 때마다 스왑 파일이 자동으로 로드되도록 /etc/fstab 파일을 편집합니다.

#swapon /swapfile
로그인 후 복사

11 디스크 데이터 삭제

/swapfile    swap    swap    default   0 0
로그인 후 복사

참고 : 임의의 데이터를 사용하여 하드 디스크를 채우십시오. 필요한 특정 상황에서는 데이터가 파괴될 수 있습니다.

12. 하드디스크 읽기 및 쓰기 속도 테스트

#dd if=/dev/urandom of=/dev/hda1
로그인 후 복사

위의 두 명령으로 출력된 명령 실행 시간을 이용하여 하드디스크의 읽기 및 쓰기 속도를 계산할 수 있습니다.

13. 하드 디스크의 최적 블록 크기 결정:

#dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
#dd if=/root/1Gb.file bs=64k | dd of=/dev/null
로그인 후 복사

위 명령 출력에 표시된 명령 실행 시간을 비교하여 시스템의 최적 블록 크기를 결정할 수 있습니다.

14. 하드 드라이브 수리:

#dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
#dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
#dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
#dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
로그인 후 복사

하드 드라이브를 장기간(1년 이상) 사용하지 않으면 자기 헤드가 이러한 영역을 읽을 때 디스크에 자속점이 생성됩니다. 어려움을 겪고 I/O 오류가 발생할 수 있습니다. 이것이 하드 드라이브의 첫 번째 섹터에 영향을 미치면 하드 드라이브가 폐기될 수 있습니다. 위의 명령은 이 데이터를 다시 활성화할 수 있습니다. 그리고 그 과정은 안전하고 효율적입니다.

15. Netcat 원격 백업을 사용하세요

#dd if=/dev/sda of=/dev/sda 或dd if=/dev/hda of=/dev/hda
로그인 후 복사

/dev/hda

#dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234
로그인 후 복사

를 백업하려면 소스 호스트에서 이 명령을 실행하세요.

데이터를 받고 /dev/hdc

#netcat -l -p 1234 | dd of=/dev/hdc bs=16065b
로그인 후 복사

에 쓰려면 대상 호스트에서 이 명령을 실행하세요. 두 가지 지침 대상 호스트 지침의 변경 사항은 bzip2 및 gzip을 사용하여 데이터를 압축하고 현재 디렉터리에 백업 파일을 저장합니다.

16. 대용량 비디오 파일의 i번째 바이트 값을 0x41(대문자 A의 ASCII 값)로 변경합니다.

#netcat -l -p 1234 | bzip2 > partition.img
#netcat -l -p 1234 | gzip > partition.img
로그인 후 복사

17. Linux 가상 디스크를 생성하고 파일을 사용하여 디스크를 시뮬레이션합니다

. 실험 - 테스트할 추가 하드 드라이브가 없는 경우. Linux에서 파일을 사용하여 테스트 목적으로 디스크를 시뮬레이션할 수 있습니다.

시뮬레이션 과정은 도서 "오라클 데이터베이스 핵심 기술 및 실습 상세 설명 - Oracle 10g OCP가 되는 방법을 가르쳐 드립니다"에서 발췌한 내용입니다.

1) 루트 사용자로 ASM 디스크가 있는 디렉터리를 생성합니다.

#echo A | dd of=bigfile seek=$i bs=1 count=1 conv=notrunc
로그인 후 복사

2) dd 명령을 통해 400M 크기의 파일 6개를 생성합니다. 각 파일은 디스크를 나타냅니다.

# mkdir –p /u01/asmdisks
로그인 후 복사

3) 이 파일을 베어 장치와 연결하세요.

[root@book u01]# cd asmdisks
[root@book asmdisks]# dd if=/dev/zero of=asm_disk1 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk2 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk3 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk4 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk5 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk6 bs=1024k count=400
로그인 후 복사

참고: dd로 시뮬레이션한 가상 디스크 파일을 삭제하려면 시뮬레이션된 디스크 파일

(즉, asm_disk1, asm_disk2...asm_disk6)을 직접 삭제하는 것만으로는 충분하지 않으며, losstup도 실행해야 합니다. d /dev/loopN, 여기서 N의 범위는 1부터 6까지입니다. 그렇지 않으면 디스크 파일이 차지하는 디스크 공간을 해제할 수 없습니다

三、/dev/null和/dev/zero的区别

/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!

/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。

/dev/null------它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

#if=/dev/zero of=./test.txt bs=1k count=1
#ls –l
total 4
-rw-r--r--    1 oracle   dba          1024 Jul 15 16:56 test.txt
#find / -name access_log  2>/dev/null
로그인 후 복사

3.1 使用/dev/null

把/dev/null看作"黑洞", 它等价于一个只写文件,所有写入它的内容都会永远丢失.,而尝试从它那儿读取内容则什么也读不到。然而, /dev/null对命令行和脚本都非常的有用

禁止标准输出

#cat $filename >/dev/null
로그인 후 복사

文件内容丢失,而不会输出到标准输出.

禁止标准错误

#rm $badname 2>/dev/null
로그인 후 복사

这样错误信息[标准错误]就被丢到太平洋去了

禁止标准输出和标准错误的输出

#cat $filename 2>/dev/null >/dev/null
로그인 후 복사

因此,上面的代码根本不会输出任何信息。当只想测试命令的退出码而不想有任何输出时非常有用。

#cat $filename &>/dev/null
로그인 후 복사

这样其实也可以, 由 Baris Cicek 指出

自动清空日志文件的内容

Deleting contents of a file, but preserving the file itself, with all attendant permissions (from Example 2-1 and Example 2-
로그인 후 복사

3):

#cat /dev/null > /var/log/messages
#  : > /var/log/messages   有同样的效果, 但不会产生新的进程.(因为:是内建的)
#cat /dev/null > /var/log/wtmp
로그인 후 복사

特别适合处理这些由商业Web站点发送的讨厌的"cookies"

隐藏cookie而不再使用

#if [ -f ~/.netscape/cookies ]  # 如果存在则删除.
#then
#rm -f ~/.netscape/cookies
#fi
#ln -s /dev/null ~/.netscape/cookies
로그인 후 복사

现在所有的cookies都会丢入黑洞而不会保存在磁盘上了.

3.2 使用/dev/zero

像/dev/null一样, /dev/zero也是一个伪文件, 但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。 写入它的输出会丢失不见, 而从/dev/zero读出一连串的null也比较困难, 虽然这也能通过od或一个十六进制编辑器来做到。 /dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件

用/dev/zero创建一个交换临时文件

위 내용은 Linux의 dd 명령에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

패턴 매칭을 위해 Linux에서 정규식 (Regex)을 어떻게 사용합니까? 패턴 매칭을 위해 Linux에서 정규식 (Regex)을 어떻게 사용합니까? Mar 17, 2025 pm 05:25 PM

이 기사는 패턴 매칭, 파일 검색 및 텍스트 조작을 위해 Linux에서 정규식 (Regex)을 사용하는 방법, 구문, 명령 및 Grep, Sed 및 Awk와 같은 도구를 자세히 설명합니다.

Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까? Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까? Mar 17, 2025 pm 05:28 PM

이 기사는 Linux 시스템 성능을 모니터링하기위한 Top, HTOP 및 VMSTAT 사용에 대해 설명하고 효과적인 시스템 관리를위한 고유 한 기능 및 사용자 정의 옵션을 자세히 설명합니다.

Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까? Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까? Mar 17, 2025 pm 05:31 PM

이 기사는 Google Authenticator를 사용하여 Linux에서 SSH에 대한 2 단계 인증 (2FA) 설정, 설치, 구성 및 문제 해결 단계에 대한 가이드를 제공합니다. Enhanced SEC와 같은 2FA의 보안 이점을 강조합니다.

Linux의 보안을 향상시키기 위해 Selinux 또는 Apparmor를 어떻게 구성합니까? Linux의 보안을 향상시키기 위해 Selinux 또는 Apparmor를 어떻게 구성합니까? Mar 12, 2025 pm 06:59 PM

이 기사는 필수 액세스 제어를 제공하는 Linux 커널 보안 모듈 인 Selinux와 Apparmor를 비교합니다. 접근 방식의 차이 (정책 기반 대 프로필 기반) 및 잠재적 성능 영향을 강조하는 구성을 자세히 설명합니다.

Linux 시스템을 백업하고 복원하려면 어떻게해야합니까? Linux 시스템을 백업하고 복원하려면 어떻게해야합니까? Mar 12, 2025 pm 07:01 PM

이 기사는 Linux 시스템 백업 및 복원 방법에 대해 자세히 설명합니다. 전체 시스템 이미지 백업을 증분 백업과 비교하고 최적의 백업 전략 (규칙, 여러 위치, 버전, 테스트, 보안, 회전) 및 DA에 대해 설명합니다.

Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까? Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까? Mar 17, 2025 pm 05:32 PM

이 기사는 Linux의 Sudo 권한을 관리하는 방법, 보안 및 보안 모범 사례를 포함하여 Linux의 Sudo 권한을 관리하는 방법을 설명합니다. 주요 초점은 /etc /sudoers를 안전하게 편집하고 액세스를 제한하는 데 중점을 둡니다. 문자 수 : 159

패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까? 패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까? Mar 17, 2025 pm 05:26 PM

기사는 APT, YUM 및 DNF를 사용하여 Linux의 소프트웨어 패키지 관리, 설치, 업데이트 및 제거를 다루는 것에 대해 설명합니다. 다양한 분포에 대한 기능과 적합성을 비교합니다.

방화구 또는 iptables를 사용하여 Linux에서 방화벽을 어떻게 설정합니까? 방화구 또는 iptables를 사용하여 Linux에서 방화벽을 어떻게 설정합니까? Mar 12, 2025 pm 06:58 PM

이 기사는 방화구 및 iptables를 사용하여 Linux 방화벽 구성을 비교합니다. Firewalld는 영역 및 서비스 관리를위한 사용자 친화적 인 인터페이스를 제공하는 반면, iPtables는 NetFilter FRA의 명령 줄 조작을 통해 저수준 제어를 제공합니다.

See all articles