Android ADB shell 填充SD卡方法详解整理
来源:互联网 发布:淘宝联盟20号不能提现 编辑:程序博客网 时间:2024/06/18 04:43
应用场景
进行临界测试,手机盘空间存满的条件下应用会有何表现:
通常手动添加大文件但是还是不够,通过如下adb shell dd if=/dev/zero of=/storage/sdcard0/dummy_file bs=400000000 count=1 #bs=400000000 大概为3.7G
使用adb命令完成:
通过如下 adb 命令在 /mnt/sdcard/ 目录下产生一个名为 bigfile 的文件,让其自动增长到磁盘剩余空间大小。#在终端输入: adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile#最终显示结果如下:/mnt/sdcard/bigfile: write error: No space left on device3036001+0 records in3036000+0 records out1554432000 bytes transferred in 163.839 secs (9487557 bytes/sec)#能这样做的前提是 获取手机的 root 权限!并且 USB 设置不能设为 U盘功能!#dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。#注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2#if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >#of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
dd 命令:
- 详解
-dd命令用来复制文件,并根据参数将数据转换和格式化。 dd [options]
3.[opitions]主要参数 bs=字节:强迫 ibs=及obs=。 cbs=字节:每次转换指定的。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。 count=块数目:只复制指定的输入数据。
ibs=字节:每次读取指定的。 if=文件:读取内容,而非标准输入的数据。 obs=字节:每次写入指定的。
of=文件:将数据写入,而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定的输出数据。
skip=块数目:先略过以ibs为单位的指定的输入数据。 - 应用实例
dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘:
$rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0
上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。
/dev/null与/dev/zero详解
/dev/null 详解:
#把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用. #禁止标准输出: cat $filename >/dev/null # 文件内容丢失,而不会输出到标准输出. #禁止标准错误: rm $badname 2>/dev/null # 这样错误信息[标准错误]就被丢到太平洋去了. #禁止标准输出和标准错误的输出: cat $filename 2>/dev/null >/dev/null # 如果"$filename"不存在,将不会有任何错误信息提示. # 如果"$filename"存在, 文件的内容不会打印到标准输出. # 因此Therefore, 上面的代码根本不会输出任何信息. # 当只想测试命令的退出码而不想有任何输出时非常有用。 cat $filename &>/dev/null # 也可以 cat /dev/null > /var/log/messages #有同样的效果, 但不会产生新的进程.(因为:是内建的) cat /dev/null > /var/log/wtmp
自动清空日志文件的内容 (特别适合处理这些由商业Web站点发送的讨厌的”cookies”):
#例子 28-1. 隐藏cookie而不再使用if [ -f ~/.netscape/cookies ] #如果存在则删除.thenrm -f ~/.netscape/cookiesfiln -s /dev/null ~/.netscape/cookies #现在所有的cookies都会丢入黑洞而不会保存在磁盘上了
/dev/zero详解:
像/dev/null一样, /dev/zero也是一个伪文件, 但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的). 写入它的输出会丢失不见, 而从/dev/zero读出一连串的null也比较困难, 虽然这也能通过od或一个十六进制编辑器来做到. /dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件.
关于/dev/zero的另一个应用是为特定的目的而用零去填充一个指定大小的文件, 如挂载一个文件系统到环回设备
#!/bin/bash# 创建一个交换文件.ROOT_UID=0 # Root 用户的 $UID 是 0.E_WRONG_USER=65 # 不是 root?FILE=/swapBLOCKSIZE=1024MINBLOCKS=40SUCCESS=0# 这个脚本必须用root来运行.if [ "$UID" -ne "$ROOT_UID" ]thenecho; echo "You must be root to run this script."; echoexit $E_WRONG_USERblocks=${1:-$MINBLOCKS} # 如果命令行没有指定,#+ 则设置为默认的40块.# 上面这句等同如:# --------------------------------------------------# if [ -n "$1" ]# then# blocks=$1# else# blocks=$MINBLOCKS# fi# --------------------------------------------------if [ "$blocks" -lt $MINBLOCKS ]thenblocks=$MINBLOCKS # 最少要有 40 个块长.fi echo "Creating swap file of size $blocks blocks (KB)."dd if=/dev/zero of=$FILE bs=$BLOCKSIZE count=$blocks # 把零写入文件.mkswap $FILE $blocks # 将此文件建为交换文件(或称交换分区).swapon $FILE # 激活交换文件.echo "Swap file created and activated."exit $SUCCESS
阅读全文
0 0
- Android ADB shell 填充SD卡方法详解整理
- Android ADB shell 填充SD卡方法及说明
- android emulator挂载SD卡和adb shell
- Android adb shell 命令详解
- 解决在 Android Recovery ADB Shell 下不能挂载SD卡的问题
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android adb shell启动应用程序的方法
- Android Busybox 下的adb,linux shell命令整理备忘
- [android基础知识] 之十四: adb shell命令整理帖
- 【adb】adb shell 命令详解
- android 判断手机是否是国内的手机的方法
- The type ArrayDescriptor is deprecated问题解决方法
- 使用mycat实现mysql读写分离以及主备自动切换模式
- scrapy-culster集群之zookeeper安装
- ME909 之 AT返回
- Android ADB shell 填充SD卡方法详解整理
- jmeter完成md5
- iOS 跳转到Wi-Fi设置界面
- trinity运行原理及常见报错(三)
- http 错误代码表
- Hololens 项目导出 并使用wifi 部署到设备参考/ 报错信息信息参考
- Linux学习笔记 --- 目录结构介绍
- mysql5.6占用内存大,通过state优化
- CSharp中的数组和ArrayList及List