舉個例子說明一下:
將硬碟a克隆到硬碟b:
ddif=/dev/sf=/dev/sdbbs=4M
可能在這個過程中的速度會比較慢,但是是有原因的,因為有用的和無用的數據都要復制。
——答案來自<xisai>Linux界大牛老師
『貳』 我想了解關於dd命令的具體使用方法及實例
dd 讀取,轉換並輸出數據
語法:dd 操作
Eg:dd if=/dev/zero of=./nullfile count=10000 bs=1024(創建一個大小為10M的空文件nullfile)
dd if=stdfile of=./newfile conv=ucase (將文件stdfile的內容拷貝到Newfiel中,並將小寫轉為大寫),更多關於dd命令的介紹,請查閱書籍《Linux就該這么學》
『叄』 linux裡面dd命令作用是什麼
Linux dd 命令用於讀取、轉換並輸出數據。
dd 可從標准輸入或文件中讀取數據,根據指定的格式來轉換數據,再輸出到文件、設備或標准輸出。
參數說明:
if=文件名:輸入文件名,默認為標准輸入。即指定源文件。
of=文件名:輸出文件名,默認為標准輸出。即指定目的文件。
ibs=bytes:一次讀入bytes個位元組,即指定一個塊大小為bytes個位元組。
obs=bytes:一次輸出bytes個位元組,即指定一個塊大小為bytes個位元組。
bs=bytes:同時設置讀入/輸出的塊大小為bytes個位元組。
cbs=bytes:一次轉換bytes個位元組,即指定轉換緩沖區大小。
skip=blocks:從輸入文件開頭跳過blocks個塊後再開始復制。
seek=blocks:從輸出文件開頭跳過blocks個塊後再開始復制。
count=blocks:僅拷貝blocks個塊,塊大小等於ibs指定的位元組數。
conv=<關鍵字>,關鍵字可以有以下11種:
conversion:用指定的參數轉換文件。
ascii:轉換ebcdic為ascii
ebcdic:轉換ascii為ebcdic
ibm:轉換ascii為alternate ebcdic
block:把每一行轉換為長度為cbs,不足部分用空格填充
unblock:使每一行的長度都為cbs,不足部分用空格填充
lcase:把大寫字元轉換為小寫字元
ucase:把小寫字元轉換為大寫字元
swap:交換輸入的每對位元組
noerror:出錯時不停止
notrunc:不截短輸出文件
sync:將每個輸入塊填充到ibs個位元組,不足部分用空(NUL)字元補齊。
--help:顯示幫助信息
--version:顯示版本信息
『肆』 dd命令的DD命令的解釋。
1.if=文件名:輸入文件名,預設為標准輸入。即指定源文件。<if=inputfile>3.ibs=bytes:一次讀入bytes個位元組,即指定一個塊大小為bytes個位元組。obs=bytes:一次輸出bytes個位元組,即指定一個塊大小為bytes個位元組。bs=bytes:同時設置讀入/輸出的塊大小為bytes個位元組。4.cbs=bytes:一次轉換bytes個位元組,即指定轉換緩沖區大小。5.skip=blocks:從輸入文件開頭跳過blocks個塊後再開始復制。6.seek=blocks:從輸出文件開頭跳過blocks個塊後再開始復制。注意:通常只用當輸出文件是磁碟或磁帶時才有效,即備份到磁碟或磁帶時才有效。7.count=blocks:僅拷貝blocks個塊,塊大小等於ibs指定的位元組數。8.conv=conversion:用指定的參數轉換文件。ascii:轉換ebcdic為asciiebcdic:轉換ascii為ebcdicibm:轉換ascii為alternateebcdicblock:把每一行轉換為長度為cbs,不足部分用空格填充unblock:使每一行的長度都為cbs,不足部分用空格填充lcase:把大寫字元轉換為小寫字元ucase:把小寫字元轉換為大寫字元swab:交換輸入的每對位元組noerror:出錯時不停止notrunc:不截短輸出文件sync:將每個輸入塊填充到ibs個位元組,不足部分用空(NUL)字元補齊。
『伍』 如何使用DD命令測試Linux磁碟的性能
首先要了解兩個特殊的設備:
/dev/null:回收站、無底洞
/dev/zero:產生字元
Ø 測試磁碟寫能力
1
time dd if=/dev/zero of=/test.dbf bs=64k count=16k
因為/dev/zero是一個偽設備,它只產生空字元流,對它不會產生IO,所以,IO都會集中在of文件中,of文件只用於寫,所以這個命令相當於測試磁碟的寫能力。
這個很不準確的,因為命令結束的時候數據還沒有真正寫到磁碟上去。
1
time dd if=/dev/zero of=/test.dbf bs=64k count=16k conv=fsync
這個還算準確,數據已經寫入磁碟。
1
time dd if=/dev/zero of=/test.dbf bs=64k count=4k oflag=dsync
這個可以當成是模擬資料庫插入操作,所以很慢。
Ø 測試磁碟讀能力
1
time dd if=/dev/sdb1 of=/dev/null bs=8k
因為/dev/sdb1是一個物理分區,對它的讀取會產生IO,/dev/null是偽設備,相當於黑洞,of到該設備不會產生IO,所以,這個命令的IO只發生在/dev/sdb1上,也相當於測試磁碟的讀能力。
Ø 測試同時讀寫能力
1
time dd if=/dev/sdb1 of=/test1.dbf bs=8k
這個命令下,一個是物理分區,一個是實際的文件,對它們的讀寫都會產生IO(對/dev/sdb1是讀,對/test1.dbf是寫),假設他們都在一個磁碟中,這個命令就相當於測試磁碟的同時讀寫能力
『陸』 LINUX dd命令
用法:dd [操作數] ...
或:dd 選項
Copy a file, converting and formatting according to the operands.
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.
Sending a USR1 signal to a running 'dd' process makes it
print I/O statistics to standard error and then resume ing.
18335302+0 records in
18335302+0 records out
9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
Options are:
GNU coreutils online help: http://www.gnu.org/software/coreutils/
請向 http://translationproject.org/team/zh_CN.html 報告dd 的翻譯錯誤
要獲取完整文檔,請運行:info coreutils 'dd invocation'
『柒』 如何使用linux下dd命令將我正在使用的系統(ubuntu)拷貝至CF卡上
推薦不要用dd,因為dd的原理導致這樣基本不可能成功。
可以把你的存儲卡格式化成ext4(當然別的文件系統格式也可以,不過經過測試,目前還是ext4最合適),然後將所有的文件復制到目的地(記得不要把目標自己復制過去),再寫入引導(推薦對目的地重安引導器)
假如你的系統在同一個磁盤分區內,CF卡是/dev/sdb,掛載在/mnt,那麼可以直接
sudocp-a-x//mnt
這樣就完成復制了。(假如不是單一分區,可以考慮自行分別復制目錄,跳過/mnt。或者用rsync的exclude)
然後安裝引導器,以grub2為例,假設目的地是mbr系統,執行
sudogrub-install--boot-directory=/mnt/boot/dev/sdb
sudogrub-mkconfig-o/mnt/boot/grub/grub.cfg
然後應該就可以了。
『捌』 如何用linux的dd命令製作windows的u盤啟動盤
linux dd命令[用於製作U盤啟動盤的神奇的命令]linux dd命令刻錄啟動U盤詳解dd命令做usb啟動盤十分方便,只須:sudo
dd if=xxx.iso of=/dev/sdb bs=1M
用以上命令前必須卸載u盤,sdb是你的u盤,bs=1M是塊的大小,後面的數值大,寫的速度相對塊一點,但也不是無限的,我一般選2M,注意,執行命令後很塊完成,但u盤還在閃,等不閃了,安全移除。
注意:你的鏡像需要支持dd命令。
dd命令的解釋。
定義
dd是Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
參數
1. if=文件名:輸入文件名,預設為標准輸入。即指定源文件。< if=input file >
2. of=文件名:輸出文件名,預設為標准輸出。即指定目的文件。< of=output file >
3. ibs=bytes:一次讀入bytes個位元組,即指定一個塊大小為bytes個位元組。
obs=bytes:一次輸出bytes個位元組,即指定一個塊大小為bytes個位元組。
bs=bytes:同時設置讀入/輸出的塊大小為bytes個位元組。
4. cbs=bytes:一次轉換bytes個位元組,即指定轉換緩沖區大小。
5. skip=blocks:從輸入文件開頭跳過blocks個塊後再開始復制。
6. seek=blocks:從輸出文件開頭跳過blocks個塊後再開始復制。
注意:通常只用當輸出文件是磁碟或磁帶時才有效,即備份到磁碟或磁帶時才有效。
7. count=blocks:僅拷貝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)字元補齊。
編輯本段dd應用實例。
1.將本地的/dev/hdb整盤備份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
2.將/dev/hdb全盤數據備份到指定路徑的image文件
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.備份磁碟開始的512個位元組大小的MBR信息到指定文件
dd if=/dev/hda of=/root/image count=1 bs=512
count=1指僅拷貝一個塊;bs=512指塊大小為512個位元組。
恢復:dd if=/root/image of=/dev/hda
7.備份軟盤
dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即塊大小為1.44M)
8.拷貝內存內容到硬碟
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定塊大小為1k)
9.拷貝光碟內容到指定文件夾,並保存為cd.iso文件
dd if=/dev/cdrom(hdc) of=/root/cd.iso
10.增加swap分區文件大小
第一步:創建一個大小為256M的文件:
dd if=/dev/zero of=/swapfile bs=1024 count=262144
第二步:把這個文件變成swap文件:
mkswap /swapfile
第三步:啟用這個swap文件:
swapon /swapfile
第四步:編輯/etc/fstab文件,使在每次開機時自動載入swap文件:
/swapfile swap swap default 0 0
11.銷毀磁碟數據
dd if=/dev/urandom of=/dev/hda1
注意:利用隨機的數據填充硬碟,在某些必要的場合可以用來銷毀數據。
12.測試硬碟的讀寫速度
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
通過以上兩個命令輸出的命令執行時間,可以計算出硬碟的讀、寫速度。
13.確定硬碟的最佳塊大小:
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
通過比較以上命令輸出中所顯示的命令執行時間,即可確定系統最佳的塊大小。
14.修復硬碟
dd if=/dev/sda of=/dev/sda
當硬碟較長時間(比如1,2年)放置不使用後,磁碟上會產生magnetic fluxpoint。當磁頭讀到這些區域時會遇到困難,並可能導致I/O錯誤。當這種情況影響到硬碟的第一個扇區時,可能導致硬碟報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。
『玖』 什麼命令可以從文本文件的每一行中截取指定內容的數據
cut命令
cut命令用來顯示行中的指定部分。該命令有兩項功能,其一是用來顯示文件的內容,它依次讀取由參數file所指 明的文件,將它們的內容輸出到標准輸出上。
其二是連接兩個或多個文件,如cut fl f2 > f3將把文件fl和幾的內容合並起來,然後通過輸出重定向符「>」的作用,將它們放入文件f3中。詳見:http://man.linuxde.net/cut。
cp命令
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復製成一個指定文件名的具體的文件或一個已經存在的目錄下。
fmt命令
fmt命令讀取文件的內容,根據選項的設置對文件格式進行簡單的優化處理,並將結果送到標准輸出設備 -c或--crown-margin:每段前兩列縮排。
-p或-prefix=:僅合並含有指定字元串的列,通常運用在程序語言的註解方面。
-s或--split-only:只拆開字數超出每列字元數的列,但不合並字數不足每列字元數的列。
-t或--tagged-paragraph:每列前兩列縮排,但第1列和第2列的縮排格式不同。
-u或--uniform-spacing:每列字元之間都以一個空格字元間隔,每個句子之間則兩個空格字元分隔。
-w或--width=或-:設置每列的最大字元數。
dd命令
dd命令用於復制文件並對原文件的內容進行轉換和格式化處理。dd命令功能很強大的,對於一些比較底層的問題,使用dd命令往往可以得到出人意料的效果。用的比較多的還是用dd來備份裸設備。
『拾』 如何用DD命令檢測磁碟
使用chkdsk/r命令,檢查、修復磁碟錯誤。1、點擊系統桌面左下角的開始,輸入CMD,打開命令提示符;2、復制chkdsk/r命令,左鍵點擊管理員命令提示符窗口左上角的小框,在下拉菜單中點擊:編輯-粘貼;3、點擊編輯-粘貼以後,chkdsk/r輸入到了管理員命令提示符窗口中(這樣操作可避免輸入錯誤),回車;4、如出現:由於該卷正被另一進程使用,無法運行Chkdsk。是否計劃在下一次系統重新啟動時檢查此卷?(Y/N)_,輸入:Y,回車,電腦在下一次重新啟動時會自動檢查、修復系統磁碟。