Linux快速生成大文件方式
Linux快速生成大文件
dd命令
dd if=/dev/zero of=file bs=1M count=20000
会生成一个20G的file 文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)。
此命令可以生成一个实际的20G的文件,文件会写入硬盘,文件产生的速度和硬盘读写速度有关系,读写速度越快,产生文件越快。
如果只想产生一个大文件的数据,但是并不需要占用磁盘空间,则可以使用如下命令:
dd if=/dev/zero of=file bs=1M count=0 seek=20000
此时创建的文件在文件系统中的显示大小为20G,但是并不实际占用磁盘,因此创建速度与内存速度相当。
seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的。
当然,因为不实际写入硬盘,所以你在容量只有20G的硬盘上创建100G的此类文件都是可以的。
Linux使用dd命令拷贝/生成文件
一、dd命令
1. 作用
Copy a file, converting and formatting according to the operands.
复制一个文件,根据操作数进行转换和格式化。
2. 用法
dd [OPERAND]...
3. 常用参数
bs=BYTES
:一次读取和写入的大小(块大小),默认是512Bibs=BYTES
:一次读取到BYTES字节,默认是512count=N
:复制N个块if=FILE
:要读取的文件of=FILE
:要写入的文件iflag=FLAGS
:按照逗号分离的符号表读取oflag=FLAGS
:按照逗号分离的符号表写入seek=N
:在输出开始时跳过N个obs-sized的块
其中,N 和 BYTES 的值可以跟下面的这些单位后缀:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M, GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.
FLAGS符号表的值常用的有:
dsync
:对数据使用同步的I/O
二、Demo
1. 生成指定大小的空文件
生成1M大小的文件:
sudo dd if=/dev/zero of=test_1M.img bs=1M count=1
生成1G大小的文件:
sudo dd if=/dev/zero of=test_1G.img bs=1M count=1K
2. 烧录镜像到SD卡
sudo dd iflag=dsync oflag=dsync if=load.imx of=/def/sdb bs=512 seek=2
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux CentOS使用crontab设置定时重启的方法
本篇介绍 crontab 设置定时任务,并且把 crontab 加入到开机自启动中,感兴趣的朋友跟随脚本之家小编一起看看吧2018-08-08
最新评论