A. linux 的dd是基於什麼原理寫到硬碟上的
無視文件系統,直接通過數據流從頭到尾。
B. Linux使用dd命令創建特定大小文件最簡單的方法及文件雜談
linux使用dd命令創建特定大小文件最簡單的方法及文件雜談創建特定大小文件最簡單的方法是使用
dd
命令。dd
if=inputFileName
of=outFileName
bs=塊大小
count=塊個數塊大小可以使用各種計量單位位元組(1B)
-
c
字(2B)
-
w
塊(512B)
-
b
千位元組(1024B)
-
k兆位元組(1024K)
-
M
吉位元組(1024M)
-
G例:dd
if=/dev/zero
of=test.file
bs=1M
count=10在當前文件夾下創建一個大小為10M的文件test.file
內容全為0/dev/zero
是一個字元設備,它會不斷返回0值位元組(/0).如果不指定輸入參數(if),默認情況會從stdin讀取輸入。如果不指定輸出參數(of),默認情況會將stdout作為輸出。也可用
dd
命令來傳輸大量數據來測試內存的操作速度。$
dd
if=/dev/zero
of=./testmm.file
bs=10M
count=10記錄了10+0
的讀入記錄了10+0
的寫出104857600位元組(105
MB)已復制,0.577581
秒,182
MB/秒$
ll
-h
|grep
'testmm.file'-rw-rw-r--.
1
itu
itu
100M
7月
16
18:14
testmm.file文件類型:一般文件:
-目錄文件:
d字元設備:
c塊設備:
b鏈接文件:
l套接字文件:
s管道文件:
p目錄的讀、寫、執行許可權意義:讀許可權:允許讀取目錄中文件和子目錄的列表寫許可權:允許在目錄中新建和刪除文件或子目錄執行許可權:可以訪問目錄中的文件和子目錄
C. 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是寫),假設它們都在一個磁碟中,這個命令就相當於測試磁碟的同時讀寫能力。
D. Linux dd 命令怎麼用具體例子
舉個例子說明一下:
將硬碟a克隆到硬碟b:
ddif=/dev/sf=/dev/sdbbs=4M
可能在這個過程中的速度會比較慢,但是是有原因的,因為有用的和無用的數據都要復制。
——答案來自<xisai>Linux界大牛老師
E. linux下怎麼用d d 命令創建一個100M的空文件
dd if=/dev/zero of=/file bs=1024 count=102400
或者
dd if=/dev/zero of=/file bs=1M count=100
F. 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:顯示版本信息
G. linux dd生成文件 dd是什麼意思
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
H. linux怎麼使用dd命令生成隨機內容的大量小文件
使用dd命令快速生成大文件或者小文件的方法
轉載請說明出處:http://blog.csdn.net/cywosp/article/details/9674757
在程序的測試中有些場景需要大量的小文件或者幾個比較大的文件,而在我們的文件系統里一時無法找到那麼多或者那麼大的文件,此時linux的dd命令就能快速的幫助你完成想要的文件。具體用法簡單總結如下:
1.
dd命令可以輕易實現創建指定大小的文件,如
dd
if=/dev/zero
of=test
bs=1M
count=1000
在當前目錄下會生成一個1000M的test文件,文件內容為全0(因從/dev/zero中讀取,/dev/zero為0源),但是這樣為實際寫入硬碟,文件產生速度取決於硬碟讀寫速度,如果欲產生超大文件,速度很慢。在某種場景下,我們只想讓文件系統認為存在一個超大文件在此,但是並不實際寫入硬碟
則可以
dd
if=/dev/zero
of=test
bs=1M
count=0
seek=100000
此時創建的文件在文件系統中的顯示大小為100000MB,但是並不實際佔用block,因此創建速度與內存速度相當,seek的作用是跳過輸出文件中指定大小的部分,這就達到了創建大文件,但是並不實際寫入的目的。當然,因為不實際寫入硬碟,所以你在容量只有10G的硬碟上創建100G的此類文件都是可以的。
2.
隨機生成1百萬個1K的文件
seq
1000000
|
xargs
-i
dd
if=/dev/zero
of={}.dat
bs=1024
count=1
I. Linux下執行dd命令創建文件
創建文件默認是使用緩存的,但緩存有限,而速度值是平均值,通過文件大小和使用的時間平均得來的,200兆比緩存大不多,所以時間肯定特別短,上邊你也看到了,200兆只用了0。085秒,平均下來就是2.5G一秒咯
J. linux——dd命令問題
dd命令的參數主要就是
if =輸入文件(或設備名稱)
of =輸出文件(或設備名稱)
題主輸入的sdc1不是設備文件名,是分區,設備是sdc,所以輸入sdc沒問題,我分析應該是這個原因