在程序的測試中有些場景需要大量的小文件或者幾個比較大的文件,而在我們的文件系統里一時無法找到那么多或者那么大的文件,此時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
dd命令功能很強大具體可以參考http://www.cnblogs.com/licheng/archive/2008/03/21/1116492.html