在 Linux 中快速创建大文件的几种方式

0    101    3

Tags:

👉 本文共约971个字,系统预计阅读时间或需4分钟。

平常,我们一般用 touch 命令创建一个空文件。

但是,当我们排除故障或想在某些特定场景中进行测试时,我们可能需要特定大小的大文件,比如 500 MB 或 2 GB。

这个时候,我们总不能创建一个空文件,然后开始在其中写入垃圾文本吧。

有没有什么办法可以创建特定大小的新文件呢?

下面就介绍几种创建大文件的方式,供大家参考。

使用 fallocate 命令创建大文件(推荐)

fallocate 命令是我比较推荐的创建大文件的方法,因为它创建大文件的速度是最快的。

假设我们要创建一个 1 GB 的文件,可以执行以下操作:

可以使用ls -lh rumenz.img查看生成的文件。

使用 dd 命令创建大文件

dd 命令用于复制和转换文件。它最常见的用途是创建实时 Linux USB。

dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

假设我们要创建一个名为 rumenz.img 的 2 GB 大小的文本文件,可以执行以下操作:

我们可以根据需要来更改块大小和块数。例如,可以使用 bs=1M 和 count=1024 来获得 1024 Mb 的文件。

使用 truncate 命令创建大文件

truncate 命令将一个文件缩小或者扩展到所需大小。使用 -s 选项来指定文件的大小。

接下来,我们使用 truncare 命令来创建一个 2GB 大小的文件。

可以使用ls -lh rumenz.img命令查看生成的文件。

默认情况下,如果请求的输出文件不存在,truncate 命令将创建新文件。我们可以使用 -c 选项来避免创建新文件。

其它

结论

dd 和 truncate 创建的文件是稀疏文件。在计算机世界中,稀疏文件是一种特殊文件,具有不同的表观文件大小(它们可以扩展到的最大大小)和真实文件大小(为磁盘上的数据分配了多少空间)。

fallocate 命令则不会创建稀疏文件,而且它的速度更快,这也是我比较推荐使用 fallocate 创建大文件的原因。

参考

https://mp.weixin.qq.com/s/S0hXXf_tNKtPHujAE1yoiQ

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部