溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux常用命令dd怎么用

發(fā)布時(shí)間:2022-02-16 14:14:14 來(lái)源:億速云 閱讀:198 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Linux常用命令dd怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Linux常用命令dd 命令用于讀取、轉(zhuǎn)換并輸出數(shù)據(jù),dd 可從標(biāo)準(zhǔn)輸入或文件中讀取數(shù)據(jù),根據(jù)指定的格式來(lái)轉(zhuǎn)換數(shù)據(jù),再輸出到文件、設(shè)備或標(biāo)準(zhǔn)輸出。

Linux常用命令dd怎么用

參數(shù)說(shuō)明:

  • if=文件名:輸入文件名,默認(rèn)為標(biāo)準(zhǔn)輸入。即指定源文件。

  • of=文件名:輸出文件名,默認(rèn)為標(biāo)準(zhǔn)輸出。即指定目的文件。

  • ibs=bytes:一次讀入bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。 obs=bytes:一次輸出bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。 bs=bytes:同時(shí)設(shè)置讀入/輸出的塊大小為bytes個(gè)字節(jié)。

  • cbs=bytes:一次轉(zhuǎn)換bytes個(gè)字節(jié),即指定轉(zhuǎn)換緩沖區(qū)大小。

  • skip=blocks:從輸入文件開(kāi)頭跳過(guò)blocks個(gè)塊后再開(kāi)始復(fù)制。

  • seek=blocks:從輸出文件開(kāi)頭跳過(guò)blocks個(gè)塊后再開(kāi)始復(fù)制。

  • count=blocks:僅拷貝blocks個(gè)塊,塊大小等于ibs指定的字節(jié)數(shù)。

  • conv=,關(guān)鍵字可以有以下11種:

    • conversion:用指定的參數(shù)轉(zhuǎn)換文件。

    • ascii:轉(zhuǎn)換ebcdic為ascii

    • ebcdic:轉(zhuǎn)換ascii為ebcdic

    • ibm:轉(zhuǎn)換ascii為alternate ebcdic

    • block:把每一行轉(zhuǎn)換為長(zhǎng)度為cbs,不足部分用空格填充

    • unblock:使每一行的長(zhǎng)度都為cbs,不足部分用空格填充

    • lcase:把大寫(xiě)字符轉(zhuǎn)換為小寫(xiě)字符

    • ucase:把小寫(xiě)字符轉(zhuǎn)換為大寫(xiě)字符

    • swap:交換輸入的每對(duì)字節(jié)

    • noerror:出錯(cuò)時(shí)不停止

    • notrunc:不截短輸出文件

    • sync:將每個(gè)輸入塊填充到ibs個(gè)字節(jié),不足部分用空(NUL)字符補(bǔ)齊。

  • –help:顯示幫助信息

  • –version:顯示版本信息

#### 1.將本地的/dev/hdb整盤(pán)備份到/dev/hdd

 dd` `if``=``/dev/hdb` `of=``/dev/hdd

#### 2.將/dev/hdb全盤(pán)數(shù)據(jù)備份到指定路徑的image文件

 dd` `if``=``/dev/hdb` `of=``/root/image

#### 3.將備份文件恢復(fù)到指定盤(pán)

 dd` `if``=``/root/image` `of=``/dev/hdb

#### 4.備份/dev/hdb全盤(pán)數(shù)據(jù),并利用gzip工具進(jìn)行壓縮,保存到指定路徑

 dd` `if``=``/dev/hdb` `| ``gzip` `> ``/root/image``.gz

#### 5.將壓縮的備份文件恢復(fù)到指定盤(pán)

 gzip` `-``dc` `/root/image``.gz | ``dd` `of=``/dev/hdb
6.備份與恢復(fù)MBR

備份磁盤(pán)開(kāi)始的512個(gè)字節(jié)大小的MBR信息到指定文件:

 dd` `if``=``/dev/hda` `of=``/root/image` `count=1 bs=512

count=1指僅拷貝一個(gè)塊;bs=512指塊大小為512個(gè)字節(jié)。

恢復(fù):

 dd` `if``=``/root/image` `of=``/dev/had

將備份的MBR信息寫(xiě)到磁盤(pán)開(kāi)始部分

#### 7.備份軟盤(pán)

 dd` `if``=``/dev/fd0` `of=disk.img count=1 bs=1440k (即塊大小為1.44M)

#### 8.拷貝內(nèi)存內(nèi)容到硬盤(pán)

 dd` `if``=``/dev/mem` `of=``/root/mem``.bin bs=1024 (指定塊大小為1k)

#### 9.拷貝光盤(pán)內(nèi)容到指定文件夾,并保存為cd.iso文件

 dd` `if``=``/dev/cdrom``(hdc) of=``/root/cd``.iso
10.增加swap分區(qū)文件大小

第一步:創(chuàng)建一個(gè)大小為256M的文件:

 dd` `if``=``/dev/zero` `of=``/swapfile` `bs=1024 count=262144

第二步:把這個(gè)文件變成swap文件:

 mkswap ``/swapfile

第三步:?jiǎn)⒂眠@個(gè)swap文件:

 swapon ``/swapfile

第四步:編輯/etc/fstab文件,使在每次開(kāi)機(jī)時(shí)自動(dòng)加載swap文件:

 /swapfile` `swap swap default 0 0

#### 11.銷毀磁盤(pán)數(shù)據(jù)

 dd` `if``=``/dev/urandom` `of=``/dev/hda1

注意:利用隨機(jī)的數(shù)據(jù)填充硬盤(pán),在某些必要的場(chǎng)合可以用來(lái)銷毀數(shù)據(jù)。

#### 12.測(cè)試硬盤(pán)的讀寫(xiě)速度

 dd` `if``=``/dev/zero` `bs=1024 count=1000000 of=``/root/1Gb``.``file``dd` `if``=``/root/1Gb``.``file` `bs=64k | ``dd` `of=``/dev/null

通過(guò)以上兩個(gè)命令輸出的命令執(zhí)行時(shí)間,可以計(jì)算出硬盤(pán)的讀、寫(xiě)速度。

#### 13.確定硬盤(pán)的最佳塊大?。?/p>

 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

通過(guò)比較以上命令輸出中所顯示的命令執(zhí)行時(shí)間,即可確定系統(tǒng)最佳的塊大小。

#### 14.修復(fù)硬盤(pán):

 dd` `if``=``/dev/sda` `of=``/dev/sda` `或``dd` `if``=``/dev/hda` `of=``/dev/hda

當(dāng)硬盤(pán)較長(zhǎng)時(shí)間(一年以上)放置不使用后,磁盤(pán)上會(huì)產(chǎn)生magnetic flux point,當(dāng)磁頭讀到這些區(qū)域時(shí)會(huì)遇到困難,并可能導(dǎo)致I/O錯(cuò)誤。當(dāng)這種情況影響到硬盤(pán)的第一個(gè)扇區(qū)時(shí),可能導(dǎo)致硬盤(pán)報(bào)廢。上邊的命令有可能使這些數(shù) 據(jù)起死回生。并且這個(gè)過(guò)程是安全、高效的。

#### 15.利用netcat遠(yuǎn)程備份

 dd` `if``=``/dev/hda` `bs=16065b | netcat  1234

在源主機(jī)上執(zhí)行此命令備份/dev/hda

 netcat -l -p 1234 | ``dd` `of=``/dev/hdc` `bs=16065b

在目的主機(jī)上執(zhí)行此命令來(lái)接收數(shù)據(jù)并寫(xiě)入/dev/hdc

 netcat -l -p 1234 | ``bzip2` `> partition.img` `netcat -l -p 1234 | ``gzip` `> partition.img

以上兩條指令是目的主機(jī)指令的變化分別采用bzip2、gzip對(duì)數(shù)據(jù)進(jìn)行壓縮,并將備份文件保存在當(dāng)前目錄。

#### 16.將一個(gè)很大的視頻文件中的第i個(gè)字節(jié)的值改成0x41(也就是大寫(xiě)字母A的ASCII值)

 echo` `A | ``dd` `of=bigfile seek=$i bs=1 count=1 conv=notrunc

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux常用命令dd怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI