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的此類檔案都是可以的。
JDSH0224