在Linux中使用fallocate命令创建特定大小的文件

时间:2020-03-05 15:26:42  来源:igfitidea点击:

为什么要创建特定大小的文件?
fallocate的一种实际用途是在Linux中增加交换文件。

使用fallocate,我们可以快速创建预定大小的交换文件。

这是创建大文件的更快方法,因为它分配了未初始化的块。
这比创建一个巨大的文件并用零填充它要快得多。

在Linux中使用fallocate命令

让我们看看如何使用fallocate命令。
这是语法:

fallocate [-o offset] -l length [-n] filename

虽然对fallocate命令有一些高级用法,但让我们着重于创建特定大小的文件。

假设我们要创建一个大小为10 MB的文件,可以使用如下所示的fallocate命令:

fallocate -l 10MB my_big_file

选项l确定要创建的文件的大小。
我们可以将以下内容用作文件的长度:

| KB | kib或者k |
| --- - | --- |
| MB | mib或者m |
| GB | gib或者g |
| TB | tib或者t |
| PB | PIB或者P |
| ZB | zib或者z |
| YB | yib或者y |

我希望我们知道MB和MiB之间的区别。
MB(兆字节)为1000 * 1000字节,而MiB(兆字节)为1024 * 1024字节。

我知道我们可能没有在计算机课上读过它,但这是IEC制定的标准。

这也是为什么当我们购买32 GB USB时,操作系统只能看到大约29 GB(29 GiB)的原因。
与硬盘制造商不同,操作系统以2的幂数工作。

现在我们已经学到了一些新知识,让我们再举一个创建1 GiB文件的示例。

fallocate -l 1G my_big_file

使用带有-h选项的ls命令,我们可以看到文件的大小:

-rw-r--r--  1 igi igi 1.0G Aug 28 18:41  my_big_file

使用dd命令可以实现相同的效果。