我们一般用 touch
命令创建一个空文件,但是如果有时候需要的话,如何创建特定大小的新文件呢
dd 命令
dd 命令用于复制和转换文件。它最常见的用途是创建实时 Linux USB。
dd if=/dev/zero of=test.img bs=2G count=1
上面创建了一个大小为 2 GB 的文件,其中有一个大小为 (bs, block size) 2 G 的块(计数 1)。该文件包含 NULL 字符 (/dev/zero)。
truncate 命令
truncate 命令将每个 FILE 的大小减少或增加到所需的大小。
如果 FILE 大于所需大小,则会丢失额外的数据。如果 FILE 太短,它会被扩展,额外的部分将作为零字节访问。
truncate -s 2G test.img
默认情况下,如果请求的输出文件不存在,truncate 命令将创建新文件。可以使用该选项-c来避免创建新文件。
fallocate 命令(推荐)
fallocate -l 2G test.img
dd 和 truncate 创建的文件是稀疏文件。稀疏文件的特点是,它分配的存储空间只在需要时使用,即只在文件实际填充内容的时候才会实际占用磁盘空间。 所以平时尽量使用 fallocate 命令。它速度更快,并且不会创建稀疏文件。