Bash

生成一定大小的文件?

  • November 16, 2021

我想生成一個名為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 兼容的)。

引用自:https://unix.stackexchange.com/questions/101332