Bash
生成一定大小的文件?
我想生成一個名為
example.file
. 我可以使用touch example.file
但我希望文件大小正好為 24MB。我已經檢查了 touch 的手冊頁,但是沒有這樣的參數。有沒有一種簡單的方法來生成一定大小的文件?
您可以使用 dd:
dd if=/dev/zero of=output.dat bs=24M count=1
或者
dd if=/dev/zero of=output.dat bs=1M count=24
或者,在 Mac 上,
dd if=/dev/zero of=output.dat bs=1m count=24
在非嵌入式 Linux 或 Cygwin(或任何具有 GNU coreutils 的系統)和 FreeBSD 下:
truncate -s 24m example.file
這將創建一個充滿空字節的文件。如果文件已存在且較小,則將其擴展為使用空字節請求的大小。如果文件已經存在並且更大,則被截斷為請求的大小。
空字節不消耗任何磁碟空間,該文件是一個稀疏文件。
在許多系統上,
head -c 24m </dev/zero >example.file
創建一個充滿空字節的非稀疏文件。如果您的系統上head
沒有-c
選項(這很常見,但在 POSIX 中沒有),您可以使用dd bs=1024k count=24 </dev/zero >example.file
(這是 POSIX 兼容的)。