Android shell 下dd命令浅析

发表于:2020-4-21 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:cys    来源:搜狗测试

  一、前言
  小编在最近的测试过程中遇到了一个需要构造Android手机存储空间不足的场景,并且还需要覆盖验证各种机型,而单个拷贝大文件到测试机器又太繁琐,小编查阅资料发现Linux下的dd命令可以协助小编完成此项任务,正好借此机会给大家分享一下dd命令在Android shell下的一些用法:
  二、dd命令介绍
  dd是Linux下一个非常有用的命令,该命令用于读取、转换并输出数据;
  dd命令在Android shell下也支持使用哦!
  Android shell中可支持的常用命令参数如下:
  1. if=文件名:输入文件名,即指定源文件。
  /dev/zero主要是用来创建一个指定长度用于初始化的空文件, 一般需要创建空文件的时候if参数值都会设置为此项哦!
  2. of=文件名:输出文件名,即指定目的文件。
  3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes字节。
  obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes字节。
  bs=bytes:同时设置读入/输出的块大小为bytes字节。
  4. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  三、操作实例
  1、在手机/mnt/sdcard/目录下生成一个10M的空文件
 adb shell dd if=/dev/zero of=/mnt/sdcard/yyybigfile bs=10485760 count=1
  
   注:bs不支持使用单位书写(例:bs=10M),此项与dd命令在linux系统下使用不同
  2、在手机/mnt/sdcard/目录下生成一个超大文件,填满整个手机存储空间
 adb shell dd if=/dev/zero of=/mnt/sdcard/yyybigfile bs=4294967295
  
   注:bs=4294967295(约4GB)为手机下最大读入/输出块大小,可以缩短大文件的填充时间
  3、将手机/mnt/sdcard/目录下的yysdk文件打包并使用gzip工具进行压缩
 adb shell “dd if=/mnt/sdcard/yysdk | gzip > /mnt/sdcard/yyybigfile.gz”
  
   注:将手机下的文件夹压缩后更方便于拷贝到本地
  四、小结
  当然,dd命令在linux环境下的使用场景并不止这些,感兴趣的小伙伴可以去了解下哦。在以后的工作中,大家可能也会遇到类似的问题,比如异常条件下(本地空间不足),文件及图片是否下载正常,是否有异常提示,希望此文可以给大家一些帮助及参考。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号