查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小
dd status=progress if=/dev/zero of=/tmp/testfile.zer bs=100M count=10
dd status=progress if=/dev/urandom of=/tmp/testfile1.ran bs=100M count=10
dd status=progress if=/dev/urandom of=/tmp/testfile2.ran bs=100M count=20
输出是:
-rw-rw-r-- 1 dorinand dorinand 320M dub 21 12:37 testfile1.ran
-rw-rw-r-- 1 dorinand dorinand 640M dub 21 12:37 testfile2.ran
-rw-rw-r-- 1 dorinand dorinand 1000M dub 21 12:37 testfile.zer
为什么输出测试文件从/ dev / urandom生成的三倍小?我希望testfile1.ran的大小为1000M,testfile2.ran的大小为2000M.有人为什么会这样?我该如何生成随机测试文件?
解决方法:
使用较大的块大小,存在获取不完整读取的风险.从管道而不是块设备读取时也会发生这种情况.
如果您希望收到一定的大小(计数* bs),您还必须提供iflag = fullblock.
对于bs = 1M或更小,它可能没有必要,但仍然推荐它.
dd还会尝试向您展示它获得了多少不完整的读数.它复制n m个块,n个完整块和m个不完整块.复制不是blocksize的多个文件时,最后一个块的不完整是正常的.
例:
$dd status=progress if=/dev/urandom of=/dev/null bs=100M count=20
dd: warning: partial read (33554431 bytes); suggest iflag=fullblock
536870896 bytes (537 MB, 512 MiB) copied, 2 s, 254 MB/s
0+20 records in
0+20 records out
671088620 bytes (671 MB, 640 MiB) copied, 2.64391 s, 254 MB/s
在这种情况下,它只有不完整的读取,而不是一个完整的100M块.显然/ dev / urandom不愿意在一次读取中提供那么多数据.我的dd版本甚至告诉你直接使用iflag = fullbock.
使用fullblock,一切正常:
$dd status=progress if=/dev/urandom of=/dev/null bs=100M count=20 iflag=fullblock
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 8 s, 255 MB/s
20+0 records in
20+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 8.22914 s, 255 MB/s
它需要更长的时间,因为它实际上复制了两倍以上的数据量.
标签:linux,dd
来源: https://codeday.me/bug/20190809/1629419.html
查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小相关推荐
- 如何查看linux系统的存储空间大小,linux 如何查看硬盘大小,存储空间大小等系统信息及硬件信息...
一.linux CPU大小 [root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpui ...
- linux查看usb设备文件,技术|在 Linux 系统里识别 USB 设备名字的 4 种方法
对于初学者来说,在 Linux 系统里你必须掌握的技术之一就是识别出插入系统里的各种设备.这也许是你的系统硬盘.外部的存储设备或者是可移动设备,比如 USB 设备或 SD 闪存卡等. 现如今,使用 U ...
- linux 查看 pci 设备驱动,如何写linux pci设备驱动程序
PCI总线应用领域及其广泛并且令人惊奇.不同的pci设备有不同的需求以及不同的问题.因此,在linux内核中pci层支持就非常重要啦.本文档就是想为驱动程序设计开发人员解决pci处理中的各种问题. 0 ...
- linux设备和驱动注册,Linux驱动第五篇-----驱动注册和生成设备节点
加载驱动的指令是:insmod xx.ko 查看驱动的指令是: lsmod 卸载驱动的指令是:rmmod xx 在include/linux/platform_device.h这个文件中定义了平台驱动 ...
- Linux设备驱动01:Linux设备驱动概述
目录 1. 设备驱动的作用 2. 有无操作系统时的设备驱动 2.1 无操作系统 2.1.1 硬件.驱动和应用程序的关系 2.1.2 单任务软件典型架构 2.2 有操作系统 2.2.1 硬件.驱动.操作 ...
- linux fdisk调整root大小,Linux下分区大小改变及fdisk应用
改变Linux分区大小 一般来说,Linux系统根分区(一般是Ext2.Ext3.ReiserFS格式)是无法改变容量的,这一点与Windows下的FAT32.NTFS 颇有不同.我曾经试了一下,不但 ...
- 嵌入式linux设备驱动开发,嵌入式Linux设备驱动开发简介.pdf
清远见--嵌入式培训专家 http :// "黑色经典"系列之<嵌入式Linux 应用程序开发详解> 11 章 嵌入式Linux 设备驱动开发 本章目标 本书从 6 章 ...
- linux 设备文件分区命令,Linux常见设备及相应/dev/xxx文件名、Mount Point、挂载点、Mount命令、fstab、挂载分区(示例代码)...
Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理 ...
- linux设备驱动程序调试方法,Linux设备驱动程序学习(2)-调试技术
Linux设备驱动程序学习(2)-调试技术 Linux设备驱动程序学习(2)-调试技术 今天进入<Linux设备驱动程序(第3版)>第四章调试技术的学习. 一.内核中的调试支持 在前面已经 ...
最新文章
- RedHat 年度报告:只索取不贡献的开源消费“大户”不受待见
- 教程:14、系统性能分析
- 全国计算机等级二级证书foxbase,2002年4月全国计算机等级考试二级FOXBASE笔试试题...
- ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调
- Excel VBA遍历文件
- 电脑安装python后开不了机_Python学习第145课——关于无法正常启动centOS问题的解决方案...
- bat脚本交互输入_windows 10 如何设定计划任务自动执行 python 脚本?
- java微信公众号支付开发平台_Java微信公众平台开发之公众号支付(微信内H5调起支付)...
- bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
- SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面
- AVR单片机(ATmega128)单片机运算乘除法大约所需时间
- dns预获取(dns-prefetch)link rel="dns-prefetch"优化载入速度
- 计算机新建里没有word,为什么电脑右键新建里头没有WORD文档,如何加上
- php+未找到驱动程序,显示未找到驱动程序,怎么办?
- 如何下载Eclipse?
- CDA Level1知识点总结之数据分析概述与职业操守
- 数据分析:数据处理篇1
- [UER #1] DZY Loves Graph
- 【51单片机实例】智能小车(一)--------小车的前进、后退和停止
- Android获取手机的卡槽数量和sim卡数量