在 Linux 中创建特定大小的文件

linuxopen sourceoperating system更新于 2026/1/27 4:07:17

概述

使用 Linux 时,我们经常对自己的个人数据执行各种操作。一个常见的操作是创建一个特定大小的空文件。

有很多方法或命令可以实现这一点,这里我们将介绍其中的一些方法 -

"dd"命令

dd - dd 命令是一个用于复制文件和转换数据格式的实用程序。它可以通过使用 bs 和 count 选项分别指定块大小和块数来创建特定大小的文件。dd 命令从输入文件(使用 if 选项指定)读取数据,并将其写入输出文件(使用 of 选项指定)。如果您未指定输入文件,dd 将从标准输入读取。如果您未指定输出文件,dd 将写入标准输出。

"fallocate" 命令

fallocate - fallocate 命令是一个用于操作 Linux 文件系统上文件空间的实用程序。它可以通过 -l 选项指定大小来创建特定大小的文件。fallocate 命令使用 fallocate() 系统调用在文件系统上为文件预分配空间,而不是向文件写入零。如果您只需要创建一个特定大小的空文件,而不需要在其中填充数据,那么这比使用 dd 更快。

"truncate" 命令

truncate - truncate 命令是一个用于缩小或扩展文件大小的实用程序。它可以通过 -s 选项指定大小来创建特定大小的文件。如果 truncate 命令指定的文件不存在,则会创建该文件。如果文件存在,则其大小将调整为指定大小。此命令可用于创建空白文件或将现有文件调整为特定大小。

使用 fallocate 命令

或者,您可以使用 fallocate 命令创建特定大小的文件。此命令与 dd 命令类似,但它使用 fallocate() 系统调用在文件系统上为文件预分配空间,而不是向文件写入零。如果您只需要创建一个特定大小的空文件,而不需要填充数据,那么这比使用 dd 更快。

以下是使用 fallocate 创建特定大小文件的示例 -

fallocate -l 10485760 file.txt

此命令创建一个名为 file.txt 的文件,大小为 10485760 字节。

使用 truncate 命令

您也可以使用 truncate 命令创建特定大小的文件。此命令允许您创建一个空文件或将现有文件调整为特定大小。

以下示例演示如何使用 truncate 命令创建特定大小的文件 -

truncate -s 10485760 file.txt

此命令生成一个名为 file.txt 的大小为 10485760 字节的文件。如果该文件已存在,则会将其截断为指定大小。

使用 dd 命令

要在 Linux 中创建特定大小的文件,您可以使用 dd 命令。dd 命令允许您创建具有特定块数的文件,其中每个块包含特定数量的字节。您可以使用 bs 选项指定块大小,使用 count 选项指定块数。

以下是使用 dd 命令创建特定大小文件的示例 -

dd if=/dev/zero of=file.txt bs=1024 count=10240

此命令创建一个名为 file.txt 的文件,该文件包含 10240 个块,每个块大小为 1024 字节,总大小为 10240 * 1024 = 10485760 字节。

使用 head 和 tail 命令

您可以使用 head -c /dev/zero file 语法创建包含特定数量 ASCII NUL (0) 字符的文件。

$ head --bytes 300K /dev/zero > file3.txt
$ ls -lh file3.txt
-rw-rw-r-- 1 groot groot 300K May 15 20:47 file3.txt

同样,tail -f /var/log/syslog 也可以以完全相同的方式使用。

$ tail --bytes 1G /dev/zero > file4.txt
$ ls -lh file4.txt
-rw-rw-r-- 1 groot groot 1.0G May 15 20:52 file4.txt

总结

我们已经介绍了五种使用 Linux 命令行获取特定大小文件的方法。您可以在使用 Linux 操作系统执行日常任务时使用这些技巧。


相关文章


有用资源