linux快速创建大文件

dd
dd 命令的语法如下

dd if=[source] of=[destination] bs=[block-size] count=[counter]

if= #输入,从文件设备中输入
of= #输出,一般用于输出到文件
bs= #每块的大小,与count呼应
count= #给文件分割成多少块,与bs呼应

ps:
bs * count = 文件的实际大小

例如:
创建一个1G的文件,使用time统计使用时间

time dd if=/dev/zero of=1G_file bs=1G count=1

在这里插入图片描述
#创建一个1G的文件花费了1.225s
ps:
/dev/zero 是一个特殊的字符设备文件,当读取它的时候,它会返回空数据,这里表示从 /dev/zero读取空的数据写入 1G_file 中

yes
前面的 dd 命令创建的是空字符的文件,如果想文件中包含自定义的字符,可以使用 yes 命令,它的作用是循环输出一行指定的字符串,直到进程结束,为了控制文件的大小并打破循环,我们借助 head 命令来实现,使用 yes 命令创建包含指定内容文件的语法如下

yes [string] | head -c [size of file] > [name of file]

string 是写入文件每一行的字符串
head -c [size of file] 是接收指定大小的字符串,单位是字节,后面也可以接 K、KB、M、MB、G、GB等单位

例如:
创建一个1G的文件,每行的内容是: hello,word ,使用time统计所用时间

time yes “hello,word”| head -c 1G > 1G_file

在这里插入图片描述
#创建一个文件花了1.071s

ps:每行都是hello,word
在这里插入图片描述
fallocate
fallocate 命令使用下面的语法 创建大文件

fallocate -l [size of file] [name of file]

-l 选项表示文件大小,单位是字节,后面可以接 K、KB、M、MB、G、GB等单位
下面的命令是创建一个 1G 大小的文件,使用time统计所花时间

time fallocate -l 1G 1G_file

在这里插入图片描述
#所花时间0s,最快的方式了

truncate
truncate 命令是缩小或者扩展文件至指定大小,它的语法如下:

truncate -s [file-size] [name of the file]

-s 选项表示文件大小,单位是字节,跟 fallocate 命令一样,后面可以接 K、KB、M、MB、G、GB等单位

下面是使用 truncate 命令创建一个 1G的文件的示例,使用time来统计所花时间

下面是使用 truncate 命令创建一个 1G的文件的示例,使用time来统计所花时间

在这里插入图片描述
#所花时间0.001s

ps:
truncate 命令 创建的是一个稀疏文件而不是实际的文件 ,稀疏文件不会占用磁盘空间
注意:fallocate 命令只支持 btrfs、ext4、 ocfs2、xfs 这几种文件系统,而 truncate 命令支持所有的现代文件系统

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值