Android shell 下dd命令浅析

2020/04/15 12:52
阅读数 1.7K

一、前言

小编在最近的测试过程中遇到了一个需要构造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环境下的使用场景并不止这些,感兴趣的小伙伴可以去了解下哦。在以后的工作中,大家可能也会遇到类似的问题,比如异常条件下(本地空间不足),文件及图片是否下载正常,是否有异常提示,希望此文可以给大家一些帮助及参考。


本文分享自微信公众号 - 搜狗测试(SogouQA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部