Files
創建一個任意大的“假”文件
我想創建一個類似於
/dev/null
or的特殊文件/dev/random
,其中該文件實際上並不存在,但您可以從中讀取相同的內容,除了我實際上可以對文件的表觀大小設置上限。換句話說,我想創建一個特殊文件(假設我將上限設置為 500GB),當我“cat”該文件時,它將輸出所有 500GB 的文件,然後停止。它需要像實際的 500GB 文件一樣工作,但不佔用空間。這個文件的內容無關緊要,它可能都是
\0
’s like/dev/null
,或者只是一個反復發送的小字元串,或者其他什麼。這是可以做的嗎?我能找到的唯一遠端接近的是 man pages 談論
mknod
,但那些不是很有幫助。
您可以在某些文件系統上創建一個稀疏文件,該文件看起來有一定的大小,但實際上不會使用磁碟上的那麼多空間。
$ dd if=/dev/null of=sparse bs=1024 count=1 seek=524288000 0+0 records in 0+0 records out 0 bytes (0 B) copied, 2.4444e-05 s, 0.0 kB/s $ ls -l sparse -rw-rw-r--. 1 ignacio ignacio 536870912000 May 9 22:25 sparse $ du -h sparse 0 sparse
除了已經提到的基於攜帶式 dd/seek 的解決方案之外,一些 Unix 具有專門的命令:
mkfile -n 500m sparseFile