『壹』 linux dd生成文件 dd是什麼意思
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
『貳』 linux dd 需要多少時間
dd經常用來測試IO速度,傳輸大小/dd需要多少時間=連續IO的速度,因此如果傳輸數據的大小和IO速度定下來了dd的時間就能估算出來了……
『叄』 在Unix/Linux中,dd和cp的區別是什麼
cp 就是復制文件和目錄。有使用軟/硬鏈接的選項,保持許可權的選項,失敗時刪掉目標再重試的選項,目標存在時詢問的選項,等等。但是怎麼寫數據它自己說了算,不給你多少選項。
dd 是把數據從一個文件寫到另一個文件,不支持多個文件和目錄。只管數據,不管文件本身的各種屬性和特性。寫數據時它可以指定進行轉換、從指定位置開始、指定每次寫的大小(塊大小)、指定寫入多少塊,等等。
『肆』 Linux系統DD恢復鏡像的用法
DD(1) General Commands Manual DD(1)
NAME
dd - 轉換和拷貝文件
摘要
dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes]
[bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks]
[conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror,
notrunc, sync}]
描述
當進行非強制的轉換的時候,使用指定的輸入和輸出塊大小拷貝文件
(默認是從標准輸入到標准輸出。)
它每次從輸入讀取指定大小的一個塊(默認是512位元組)。 如果使用 bs=bytes
選項,並且沒有轉換,除了指定 sync, noerror, 或 notrunc 之外,
那麼dd將把全部讀到的數據(可以比請求讀的少) 寫到獨立的輸出塊去。
這個輸出塊的長度和讀到的數據 完全一樣,除非指定使用 sync(同步)
轉換,那樣的話,數據結尾處將追加NUL字元(或空格,見下)。
其他情況下,輸入的時候每次讀一個塊,然後處理,並將
輸出結果收集起來,最後寫到指定大小的數據塊中去。最
終的輸出塊可能會比指定的大小短一些。
數字值選項(以位元組或塊為單位)後面可以跟一個乘數:
k=1024,b=512,w=2,c=1(w和c是GNU擴展語法。最好別 使用w,因為在system
V中,它表示2,在4.2 BSD中,它
表示4)。兩個或更多的數值表達式可以通過「x」乘起來。 GEU fileutils
4.0並且允許在數據塊大小的敘述中使用
下列乘法後綴(用bs=,cbs=,obs=):M=1048576,G=1073741824,
同理可得T,P,E,Z,Y。D後綴表示數值是以 十進製表示的:kD=1000
MD=1000000 GD=1000000000等等。
(注意,在ls、df、命令中,M等標記的大小是由環境
變數確定的,而在DD中,它的值是固定的。)
選項
if=file
從 file 中讀而不是標准輸入。
of=file
寫到 file 里去而不是標准輸出。除非指定 conv=notrunc ,否則, dd
將把 file 截為O位元組(或由 seek= 選項指定的大小)
ibs=bytes
一次讀 bytes 位元組。默認是512。
obs=bytes
一次寫 bytes 位元組。默認是512。
bs=bytes
一次讀和寫 bytes 位元組。這將覆蓋 ibs 和 obs 設定的值(並且,設定
bs 不等於同時將 ibs 和 obs 設為同一個值,至少在 只使用 sync,
noerror 或 notrunc
轉換時是這樣的。因為bs規定,每個輸入塊都應作為單獨
的數據塊拷貝到輸出,而不把較短的塊組合到一起)。
cbs=bytes
為 block 轉換和 unblock 轉換指定轉換塊的大小。
skip=blocks
在拷貝之前,跳過輸入文件的前 blocks 塊,每塊大小為 ibs-byte
位元組。
seek=blocks
在拷貝之前,跳過輸出文件的前 blocks 塊,每塊大小為 obs-byte
位元組。
count=blocks
只拷貝輸入文件的前 blocks 塊(每塊的大小為 ibs-byte
位元組),而不是全部內容,直到文件末尾。
conv=轉換"[,"轉換"]..."
將文件按 轉換 參數指定的方式轉換(在「,」兩邊沒有空格)。
轉換方式包括:
ascii 將EBCDIC轉換成ascii。
ebcdic 將ascii轉換成ebcdic。
ibm 將ascii轉換成alternative ebcdic。
block 每一行輸入,無論長短,輸出都是 cbs
位元組,並且其中的「換行」(NEWLINE,即c中的'0)用
空格替換。如有必要,行尾會填充空格。
unblock
用「換行」替換每個輸入塊( cbs 位元組大小)末尾的空格。
lcase 將大寫字母轉換成小寫。
ucase 將小寫字母轉換成大寫。
swab 交換每對輸入位元組。如果讀入的位元組數是奇數,最後
一個位元組只是簡單的復制到輸出(因為沒有能跟它交換的
位元組了)(POSIX 1003.26,PASC翻譯1003.2 3號和4號)。
noerror
發生讀錯誤時,繼續進行。
notrunc
不截斷輸出文件。
sync 用0填充到每個輸入塊的末尾,使其大小為 ibs 位元組。
GNU標准選項
--help 將用法信息列印到標准輸出,並成功退出。
--version
將版本信息列印到標准輸出,並成功退出。
-- 結束選項列表。
環境變數
LANG, LC_ALL, LC_CTYPE和LC_MESSAGES具有其通常含義。
遵循標准
POSIX 1003.2
舉例
磁帶機通常不能接受任意大小的數據塊,當最後一個數據片
段不能充滿整個塊時, dd 將出現I/O錯誤。用'dd if=myfile of=/dev/mytape
conv=sync' 就可以使全部內容存到磁帶上。當然,這樣做,把文件從磁
帶上讀回時回產生一個稍大些的文件,因為其尾部填充了一 些NUL(空字元)。
以上是man手冊的資料
dd就是分區的拷貝操作,一個分區或者說硬碟上某些扇區的某些塊(指定位置)都可以被視為一個磁帶,dd就是把固定的塊上保存的二進制內容做拷貝操作.
『伍』 linux的dd命令測試讀寫,怎麼確定bs參數設置多少合適
1、先熟悉兩個特殊的設備:
(1)/dev/null:回收站、無底洞。
(2)/dev/zero:產生字元。
2、測試磁碟寫能力
time dd if=/dev/zero of=/testw.dbf bs=4k count=100000
rm -f /testw.dbf
因為/dev//zero是一個偽設備,它只產生空字元流,對它不會產生IO,所以,IO都會集中在of文件中,of文件只用於寫,所以這個命令相當於測試磁碟的寫能力。命令結尾添加oflag=direct將跳過內存緩存,添加oflag=sync將跳過hdd緩存。
3、測試磁碟讀能力
time dd if=/dev/sdb of=/dev/null bs=4k
因為/dev/sdb是一個物理分區,對它的讀取會產生IO,/dev/null是偽設備,相當於黑洞,of到該設備不會產生IO,所以,這個命令的IO只發生在/dev/sdb上,也相當於測試磁碟的讀能力。(Ctrl+c終止測試)
4、測試同時讀寫能力
time dd if=/dev/sdb of=/testrw.dbf bs=4k
rm -f /testrw.dbf
在這個命令下,一個是物理分區,一個是實際的文件,對它們的讀寫都會產生IO(對/dev/sdb是讀,對/testrw.dbf是寫),假設它們都在一個磁碟中,這個命令就相當於測試磁碟的同時讀寫能力。
『陸』 linux dd和linux text的區別
這兩個區別也太大了。dd 可以創建出一個特殊的文件,cp是復制一個文件。
更多關於這兩個命令的區別,可以參考書籍《Linux就該這么學》
『柒』 linux dd主要適用於什麼場景
dd是Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
很多場景用的到,比如製作U盤引導盤,再比如獲取底層硬碟數據,比如mbr
『捌』 linux中dd命令和df命令是什麼單詞的縮寫,意思是什麼
dd = Disk Dump
df = Disk Free
要學會在linux下用在線幫助。
man dd
man df
你會得到詳細的介紹