硬盤測試——dd

dd是一個Unix和類Unix系統上的命令,主要功能爲轉換和複製文件。dd的名字可能來源於IBM的工做控制語言(JCL)中的DD語句,意爲「Data Description」(數據描述)的縮寫,它也被用來在Linux和類Unix系統下對硬盤設備進行寫性能的檢測。緩存

參數說明:

if=FILE 從FILE文件中讀數據而不是標準輸出(dd命令默認從標準輸入讀數據)
of=FILE 輸出到FILE文件而不是標準輸出(dd命令默認輸出到標準輸出)
ibs=BYTES 設置輸入的塊大小爲BYTES字節,即dd命令一次讀多少個字節。(默認大小是512 bytes)
obs=BYTES 設置輸出的塊大小爲BYTES字節,即dd命令一次寫多少個字節。(默認大小是512 bytes)
bs=BYTES 同時設置輸入和輸出的塊大小爲BYTES字節,這個設置會覆蓋ibs和obs設置。另外,若是沒有設置conv選項,每個輸入塊會拷貝爲每個輸出塊。
cbs=BYTES 設置轉換的塊大小爲BYTES字節,即dd命令一次轉換多少個字節。
skip=BLOCKS 拷貝跳過輸入文件開頭的BLOCKS個塊,塊的大小由ibs指定。
seek=BLOCKS 拷貝跳過輸出文件開頭的BLOCKS個塊,塊的大小由obs指定。
count=BLOCKS 從輸入文件拷貝BLOCKS個塊,塊的大小由ibs指定。(默認拷貝整個輸入文件)
conv=CONVERSION[,CONVERSION]... 按照CONVERSION指定的參數轉換文件。CONVERSION參數後面有說明。
iflag=FLAG[,FLAG]... 以FLAG參數指定的方式試問輸入文件。FLAG參數後面介紹。
oflag=FLAG[,FLAG]... 以FLAG參數指定的方式試問輸出文件。FLAG參數後面介紹。

CONVERSION參數

ascii 從EBCDIC轉換爲ASCII, 這是1:1的轉換。
ebcdic 從ASCII轉換爲EBCDIC, 這是1:1的轉換。
ibm 從ASCII轉換爲交替的EBCDIC編碼,這不是1:1的轉換。acsii, ebcdic和ibm這3個參數是互斥的。
block 對輸入的每一行,輸出爲cbs參數指定的字節數。不夠的部分以空格填充。該選項與ascii, ebcdic, ibm, 和unblock選項衝突。
unblock 在的每個cbs大小的輸入塊上,去除多餘的尾隨空格。該選項與ascii, ebcdic, ibm, 和block選項衝突。
lcase 將全部字母轉換爲小寫。
ucase 將全部字母轉換爲大寫。
swab 交換輸入的每對字節。
noerror 當讀取錯誤時繼續轉換。
nocreat 不建立輸出文件,即命令執行前輸出文件必須存在。
excl 建立輸出文件,若是輸出文件已經存在,則發生錯誤。該選項與nocreate衝突。
notrunc 不截斷輸出文件。
sync 用zero字節將每一個輸入塊填充到由ibs值指定的長度,若是指定了block或者unblock選項,則用改用空格填充。
fdatasync 在命令結束以前將數據寫入磁盤。
fsync 在命令結果以前將數據和元信息寫入磁盤,與fdatasync的區別是fdatasync隻影響文件的數據部分,而fsync還影響文件的屬性部分。

FLAG參數

append 以append方式寫文件。
cio 以併發的I/O方式操做數據。
direct 以直接的I/O機制操做數據,避免進行數據緩存。
directory 若是文件不是一個目錄,則失敗。大多數的操做系統不容許I/O到一個目錄,因此這個參數被限制。
sync 使用同步的I/O方式對數據和文件屬性。
nonblock 使用非阻塞的I/O方式。
noatime 不更新文件的訪問時間。
nofollow 不進入符號連接。
nolinks 若是文件是multiple硬鏈接,則失敗。
binary 二進制I/O。
text 文本I/O。

經常使用參數使用舉例:

#寫測試:
dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
#讀測試:
dd if=/tmp/test1.img of=/dev/null oflag=dsync
相關文章
相關標籤/搜索