linux使用dd命令快速生成大文件
2015-09-07 16:06
344 查看
一、
dd命令可以轻易实现创建指定大小的文件,如
dd if=/dev/zero of=test bs=1M count=1000
会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)
但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢
在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘
则可以
dd if=/dev/zero of=test bs=1M count=0 seek=100000
此时创建的文件在文件系统中的显示大小为100000MB,但是并不实际占用block,因此创建速度与内存速度相当
seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的
当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的
本文链接地址: http://www.chenhuan.net/dd-large-file.html
二、dd 如果是个大文件的话,会消耗很长时间,如何查看进度呢?
linux下显示dd命令的进度:
想要查看上面的dd命令的执行进度,可以使用下面几种方法:
比如:每5秒输出dd的进度
方法一:
方法二:
方法三:
方法四:
上述四种方法中使用三个命令:pkill、killall、kill向dd命令发送SIGUSR1信息,dd命令进程接收到信号之后就打印出自己当前的进度。
dd命令可以轻易实现创建指定大小的文件,如
dd if=/dev/zero of=test bs=1M count=1000
会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)
但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢
在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘
则可以
dd if=/dev/zero of=test bs=1M count=0 seek=100000
此时创建的文件在文件系统中的显示大小为100000MB,但是并不实际占用block,因此创建速度与内存速度相当
seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的
当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的
本文链接地址: http://www.chenhuan.net/dd-large-file.html
二、dd 如果是个大文件的话,会消耗很长时间,如何查看进度呢?
linux下显示dd命令的进度:
dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000
想要查看上面的dd命令的执行进度,可以使用下面几种方法:
比如:每5秒输出dd的进度
方法一:
watch -n 5 pkill -USR1 ^dd$
方法二:
watch -n 5 killall -USR1 dd
方法三:
while killall -USR1 dd; do sleep 5; done
方法四:
while (ps auxww |grep " dd " |grep -v grep |awk '{print $2}' |while read pid; do kill -USR1 $pid; done) ; do sleep 5; done
上述四种方法中使用三个命令:pkill、killall、kill向dd命令发送SIGUSR1信息,dd命令进程接收到信号之后就打印出自己当前的进度。
相关文章推荐
- Linux┊理解devfs、sysfs、udev、tmpfs
- 2015年9月01日课程作业(练习)
- Linux在mysql中新建库和新建表
- Linux平台Cpu使用率的计算
- Linux如何统计进程的CPU利用率
- linux运维实战练习-2015年9月01日课程作业
- linux 中搜狗输入法的安装
- Linux管道实现机制
- linux设备驱动归纳总结(九):1.platform设备驱动
- Linux服务器常用命令
- linux cut 例子
- linux设备驱动归纳总结(八):4.总线热插拔
- (二)linux下配置jenkins--用户配置
- linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想
- linux设备驱动归纳总结(八):2.match.probe.remove
- linux mysql 安装
- Linux下常用的快捷键
- (一)linux下配置jenkins--安装
- Linux系统下proc目录详解
- Linux线程-互斥锁pthread_mutex_t