首页 > 其他分享 >快速创建2G的大文件

快速创建2G的大文件

时间:2022-12-06 23:02:50浏览次数:73  
标签:文件 truncate 创建 命令 2G Linux fallocate

怎么在Linux中几秒钟创建一个2GB的大文件?

原创 入门小站 入门小站 2022-12-06 21:50 发表于湖北 收录于合集#Linux642个 入门小站 分享运维技巧及10k+Stars的开源项目 210篇原创内容 公众号

【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

我们一般用touch命令创建一个空文件,但是如何创建特定大小的新文件呢?

当你排除故障或想在某些特定场景中进行测试时,你可能需要大于特定大小的大文件。假设 500 MB 或 2 GB。

你总不能创建一个空文件,然后开始在其中写入垃圾文本吧。下面介绍几种方式。

使用dd命令创建大文件

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

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

dd if=/dev/zero of=rumenz.img bs=2G count=1

根据文件的大小,该命令将需要一些时间才能完成。

使用 dd 命令创建大文本文件

在这里,你创建了一个大小为 2 GB 的文件,其中有一个大小为 (bs, block size) 2 G 的块(计数 1)。该文件包含 NULL 字符 (/dev/zero)。

你可以根据需要更改块大小和块数。例如,你可以使用 1M 作为 bs 和 1024 作为计数来获得 1024 Mb 的文件。

使用 truncate 命令创建大文件

truncate 命令将每个 FILE 的大小减少或增加到所需的大小。

如果 FILE 大于所需大小,则会丢失额外的数据。如果 FILE 太短,它会被扩展,额外的部分将作为零字节访问。

让我们使用 truncare 命令创建 2 GB 大小的文件。

truncate -s 2G rumenz.img

你将看不到上述命令的输出,但是,可以使用 ls 命令查看生成的文件:

ls -lh rumenz.img

使用 truncate 命令创建大文本文件

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

使用 fallocate 命令创建大文件

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

要创建一个 1 GB 的文件,可以这样:

fallocate -l 1G rumenzimg

检查输出文件:

ls -lh rumenz1.img

在 Linux 中使用 fallocate 命令创建大文件

fallocate使用它比通过用零填充文件来创建文件要快得多。

结论

dd和truncate 创建的文件是稀疏文件。在计算机世界中,稀疏文件是一种特殊文件,当分配给文件的块主要为空时,它会尝试以非常有效的方式利用文件系统上的空间。

稀疏文件具有不同的表观文件大小(它们可以扩展到的最大大小)和真实文件大小(为磁盘上的数据分配了多少空间)。

这就是为什么我更喜欢使用 fallocate 命令。它速度更快,并且不会创建稀疏文件。

【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

近期热文

Linux应急响应技巧整理

Linux中这些杀毒软件你听说过吗?

Linux中怎么监测磁盘IO性能

linux启动流程

进程、线程、进程池、进程三态、同步、异步、并发、并行、串行

30分钟精通Git,学不会来找我

UDP分片与丢包,UDP真的比TCP高效吗?

图片 入门小站 分享运维技巧及10k+Stars的开源项目 210篇原创内容 公众号 收录于合集 #Linux  642个 下一篇UDP分片与丢包,UDP真的比TCP高效吗? 阅读 369       写下你的留言      

标签:文件,truncate,创建,命令,2G,Linux,fallocate
From: https://www.cnblogs.com/cherishthepresent/p/16961687.html

相关文章

  • 04.(创建型模式)java设计模式之建造者模式
    一、什么是建造者模式使⽤多个简单的对象⼀步⼀步构建成⼀个复杂的对象,将⼀个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。允许⽤户只通过指定......
  • docker-compose 文件
    新建文件夹编写docker-compose.yaml文件,如下services:mysql-compose:image:mysqlenvironment:......
  • vue项目中上传文件到阿里云oss方法 结合element ui 中的 el-upload
       在项目需求中,关于图片、视频、文件等上传文件,一般不是直接放置在自己的后台服务器上,一般都会购买云服务进行存储。譬如阿里云的oss对象存储。   前端开发项......
  • 实验六 模板类和文件IO
    任务四代码:Vector.hpp:#pragmaonce#include<iostream>usingnamespacestd;template<classT>classVector{public:Vector(intsize0):size{size......
  • Python如何动态监控跟踪文件内容?
    需求:Python如何动态监控跟踪文件内容?写个小工具模仿linux中的tail来监控文件更新的内容?解答:利用文件的指针f.seek(0,2)importtimewithopen("a.txt",mode="r......
  • 实验六 模板类和文件IO
    Task4//VEctor.hpp#include<bits/stdc++.h>usingnamespacestd;template<typenameT>classVector{private:intlength;T*base;publ......
  • Linux 文件与目录管理
    Linux的目录结构为树状结构,最顶级的目录为根目录/。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对......
  • Redis 默认配置文件
    #redis配置文件示例#当你需要为某个配置项指定内存大小的时候,必须要带上单位,#通常的格式就是1k5gb4m等酱紫:##1k=>1000bytes#1kb=>1024bytes#1m......
  • 实验6 模板类和文件IO
    task3_1.cpp#include<iostream>#include<fstream>#include<array>#defineN5intmain(){ usingnamespacestd; array<int,N>x{97,98,99,100,101}; ofstr......
  • 1.5 HDFS分布式文件系统-hadoop-最全最完整的保姆级的java大数据学习资料
    目录1.5HDFS分布式文件系统1.5.1HDFS简介1.5.2HDFS的重要概念1.5.3HDFS架构1.5HDFS分布式文件系统1.5.1HDFS简介HDFS(全称:HadoopDistributeFileSystem,Hadoop......