使用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
⑵ 如何使用shell腳本生成一個大小為300M的文件
有時候,我們需要生成指定大小的隨機文件,比如在學習過程中使用的測試文件。
dd命令用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
注意:指定數字的地方若以下列字元結尾則乘以相應的數字:b=512;c=1;k=1024;w=2
命令:
Linux:/qinys # dd if=/dev/zero of=tmp.data bs=100m count=3
命令解釋:
該命令會創建一個大小為100m的文件tmp.data;if代表輸入文件(input file),of代表輸出文件(output file),bs代表以位元組為單位的塊大小(block size,BS),count代表被復制的塊數。(如果把count=3,那麼文件大小為300M)《Linux就該這么學》一起學習linux
/dev/zero是一個字元設備,他會不斷的返回0值位元組(\0)
⑶ 在linux中,能生成真正的隨機數嗎如何生成
linux 是個操作系統,和生成隨機數沒有關系。
你是不是要說在 linux 下的 c++ 程序中生成隨機數?
c++ 是標準的,無論在哪個系統下,都使用 srand 和 rand 配合生成真正的隨機數。