命令之美|如何创建一个 100M 的大文件?

目录

第一种:dd 命令

第二种:head 命令

第三种:truncate 命令


在日常工作中,总会遇到各种各样的场景,要准备各种各样特征的测试数据。现在有一个场景,需要准备一个100M的大文件,你会怎么去实现呢?

一般拿到这类需求,首先会默认理解和业务相关联,针对这类情况的常规思路不外乎是: 

  • 如果业务侧有,请业务侧直接提供。 

  • 如果业务侧没有,便会基于业务文件特征通过 多个文件合并 或者 填充几张高清大图 / N多页的文本 来实现。

抛开业务特性,对到文件本身来说,除此之外呢,还有没有其他高效办法呢?答案肯定是有的,可以通过 命令行的模式来生成

第一种:dd 命令

## 创建一个 2M 大小的文件
## 特殊设备文件除了 /dev/zero 还有 /dev/random、/dev/urandom
dd if=/dev/zero of=largefile.txt bs=1M count=2
dd if=/dev/random of=cc3.txt bs=1M count=2

## 复制文件内容,从 a 文件到 b 文件,
dd if=a.txt of=b.txt bs=1M

第二种:head 命令

## head 命令通常用于显示文件的开头部分,这里是非标准用法
## 102400 单位是字节
head -c 102400 /dev/urandom > largefile2.txt

第三种:truncate 命令

## truncate 命令是一个用于改变文件大小的命令行工具,比 dd 更快更高效
truncate -s 5M largefile3.txt

最后说明下,因为不同的操作系统环境,命令及实现可能存在些许不同,所以请以自身环境为主,寻找适用自身环境的命令。笔者这里是用 Mac 电脑完成的测试,这里有 2 点注意事项提醒下大家:

  1. 未提前创建好目标文件,通过命令行创建的文件,虽然文件类型正确,大小可达到,但是用常用的文档工具,比如 microsoft word、wps 等打不开,提示无法识别

  2. 已提前创建好的目标文件,通过命令行来完成大小的设置,这种情况下,大小可正常达到,且用常用的文档工具,是正常打开。

今日分享到这里就结束啦,大家可以去体验玩一玩,感受感受。欢迎一键三连,😄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值