dd命令参数简介
- if=输入文件;
- of=输出文件;
- ibs=一次读取字节数;
- obs=一次写入字节数;
- bs=设置一次读取写入的字节数;
- skip=跳过的bs数;
- count=拷贝的块数;
黑洞文件/最大空白文件
null文件
是一个黑洞文件,把它理解为垃圾桶就行,什么废旧不需要的文件只需往里扔,进入它的内容都会永远丢失;zero文件
当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00),最长用的做法就是想你这样生产一个特定大小的空白文件。
测试写入速度
dd if=/dev/zero of=/mnt/udisk/a.txt bs=512 count=100
如果提示/mnt/udisk/a.txt: cannot open for write: Read-only file system
表示U盘这是个只读的分区,
需要重新mount
,如下命令:mount -o remount,rw /mnt/udisk
执行上述写入之后,会得到如下结果:
1 | 100+0 records in |
测试读取速度
#dd if=/mnt/udisk/a.txt of=/dev/null bs=512 count=100
1 | 100+0 records in |
一般做上述的测试,最好是要使用大文件来进行测试,得出的数据比较有说服力。
出现的问题
我测试写入U盘10G大写的内容,发现后面报错了:dd if=/dev/zero of=/mnt/udisk/a.txt bs=512 count=20000000
1 | /mnt/udisk/a.txt: write error: File too large |
4294967295自己约等于4G,也就是说U盘不支持单个文件超过4G的大小。
查看U盘的mount情况,发现使用的是vfat,vfat是FAT32衍生出来的,单个文件大小不能超过4G。
1 | /dev/block/vold/8:0 /mnt/udisk vfat rw,dirsync,relatime,uid=1000,gid=1023,fmask=0702,dmask=0702,allow_utime=0020,codepage=437 |