首页 > 系统相关 >Linux下4种快速创建大文件的方法

Linux下4种快速创建大文件的方法

时间:2023-12-18 15:57:41浏览次数:29  
标签:文件 img 创建 命令 Linux test fallocate

1. 使用 dd 命令创建大文件

dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。
创建一个名为 test.img 的 2 GB 大小的文本文件,执行以下操作:
dd if=/dev/zero of=test.img bs=2G count=1
其中根据需要来更改块大小和块数。例如,可以使用 bs=1M 和 count=1024 来获得 1024 Mb 的文件。

2. 使用 truncate 命令创建大文件

本命令缩减或扩充指定文件的大小为指定值,参数所指定的文件如果不存在,那么该命令会创建这个文件。
如果一个文件的大小比参数指定的大,那么超出的部分就会被丢弃;如果一个文件比参数指定的小,那么文件会被扩充,并且被扩充的部分(空洞)在被读取的时候是字节0。
truncate 命令将一个文件缩小或者扩展到所需大小,使用 -s 选项来指定文件的大小。
使用 truncare 命令来创建一个 2GB 大小的文件:
truncate -s 2G test.img
可以使用ls -lh test.img命令查看生成的文件。默认情况下,如果请求的输出文件不存在,truncate 命令将创建新文件,可以使用 -c 选项来避免创建新文件。

3. 使用 fallocate 命令创建大文件

fallocate命令可能是Linux中可以用来创建文件的鲜为人知的命令之一。fallocate用于将块预分配给文件。对于支持fallocate系统调用的文件系统,这可以通过分配块并将其标记为未初始化来快速完成,因此不需要对数据块进行I / O操作。
这是创建文件而不是用零填充的更快的方法,大文件几乎可以立即创建,而不必等待任何I / O操作完成。在以下文件系统上支持fallocate系统调用:btrfs、ext4、ocfs2和xfs文件系统(自内核版本v2.6.31起)。
fallocate 命令创建大文件的速度是最快的。
创建一个 2GB 的文件执行以下操作:
fallocate -l 2G test.img
可以使用ls -lh test.img查看生成的文件。

4. 代码创建一个累加数文件
    FILESIZE = 1*1024*1024*1024
    print(int(FILESIZE/256))
    file = open("./Fibonaci.txt",'w+')
    for i in range(int(FILESIZE/256)):
    for j in range(256):
            file.write(str(j))
    file.seek(0,0)
    file.close()

5. 结论
dd 和 truncate 创建的文件是稀疏文件。在计算机世界中,稀疏文件是一种特殊文件,具有不同的表观文件大小(它们可以扩展到的最大大小)和真实文件大小(为磁盘上的数据分配了多少空间)。
fallocate 命令则不会创建稀疏文件,而且它的速度更快。

标签:文件,img,创建,命令,Linux,test,fallocate
From: https://www.cnblogs.com/rzxiaojia/p/17911390.html

相关文章

  • springboot配置文件的优先级
     1配置文件不同位置优先级不同 文件路径相对目录级别 classpath:application.ymlresources目录最低-程序员classpath:config/application.yml resources目录下的config目录项目经理file:application.ymljar包所在目录下的config目录运维file:co......
  • Matlab 读取父文件下子文件夹内容
    1functionResizeImageofData2%读取文件夹下的所有数据3Files=dir('D:\1\');%父文件夹4LengthFiles=length(Files);5oldFolder=cd;%打开当前工作目录6spath=strcat(oldFolder,'\Data\');%在工程目录下创建名为'\Data\'的新文件夹78if~exis......
  • 标题:Python脚本:将Excel文件拆分成多个工作表
    简介:本博客介绍了一个实用的Python脚本,旨在帮助用户处理和重塑Excel数据。这个脚本允许用户将一个包含多列数据的Excel文件拆分成多个新的Excel文件,每个文件包含10列数据。特别适用于需要将大型数据集分解为更小、更易管理的部分的场合。功能特点:用户友好的交互:脚本通过命令行......
  • linux环境变量(转载)
    阅读目录一、Linux环境变量介绍1.1Linux环境变量介绍1.2Linux环境变量分类1.3Linux常用的环境变量二、Linux查看环境变量三、Linux添加环境变量3.1添加系统级环境变量(需root权限、针对所有用户、永久生效)3.2添加用户级环境变量3.3SSH/串口终端临时添加环境变量四、Lin......
  • Nginx配置文件解读
    Nginx安装完毕后,会产生相应的安装目录,根据前面的安装路径,Nginx的配置文件路径为/usr/local/nginx/conf其中nginx.conf为Nginx的主配置文件这里重点介绍下nginx.conf这个配置文件。Nginx配置文件默认有五个部分组成:分别是main、events、http、server和location其中:main部分设......
  • JavaWeb - Day09 - Mybatis - 基础操作、XML映射文件、动态SQL
    01.Mybatis-基础操作-环境准备需求需求说明:根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。通过分析以上的页面原型和需求,我们确定了功能列表:查询根据主键ID查询条件查询新增更新删除根据主键ID删除根据......
  • 实验7 文件应用编程
    1.实验任务1【验证性实验】2.实验任务2【验证性实验】3.实验任务3【验证性实验】4.实验任务4task4源代码:1#include<stdio.h>2#include<stdlib.h>34intmain(){5FILE*fp;6intt=0;7chara;89fp=fopen("D:/c语言/实验7......
  • C# 文件上传及下载
    一、文件上传首先创建一个简单的上传页面,如图: 然后,在后台编写文件上传方法:1///<summary>2///上传文件3///</summary>4///<returns></returns>5publicvoidFileUp()6{7//获取上传文件8......
  • Linux 安装 Harbor Docker镜像仓库&&远程访问
    Harbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。下面介绍如何在Linux安装并且使用cpolar内网穿透工具实现远程访问Har......
  • linux 使用 mwget 实现多线程下载
    mwget和curl/multicurl一样,m就是multi多线程的意思。mwget是wget的升级版,支持多线程下载【使用方法】gitclonehttps://github.com/rayylee/mwget.gitcdmwgetyum-yinstallpkg-configyum-yinstalllibssl-devyum-yinstallintltool./configuremake&&makeins......