busybox的使用

之前有总结关于安卓调试命令的东西

今天来看个大杀器—busybox

BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。(摘自百度百科)

一般用在Android上,解决adbshell命令不全

在Android安装BusyBox:

先要把手机给Root了,具体教程这里就不提供了,网上有很多。

1.下载BusyBox的binary,打开这个地址https://busybox.net/downloads/binaries/,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。

  1. 需要有一个命令行的环境,在电脑上使用adb或在手机上使用terminal emulator。

  2. 连接手机和电脑,手机的USB Mode设置成None(仅充电),并且开启USB调试模式。

安装:

  1. 将busybox-armv6l重命名为busybox

  2. 将busybox传入手机的SD卡,可以使用下面的命令或自己想其他办法。

打开terminal(Linux,Mac)或cmd(Windows)

adb push ~/Desktop/busybox /mnt/sdcard

其中的~/Desktop请根据自己的情况替换成正确的路径

  1. 输入以下命令,为了在/system目录写入文件

adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
使用 ls 检查一下 /system 里是否有 xbin 目录,没有的话输入 mkdir xbin 创建,因为本示例是要把busybox安装到 /system/xbin 。

  1. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限

cp /mnt/sdcard/busybox /system/xbin
chmod 755 busybox
5. 这时就可以使用 busybox 的命令了,例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能,使用完整版的 ls 只需输入 busybox ls 。

但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。

在 /system/xbin 下输入

busybox –install *(自己选目录)
如果想安装到别的目录,则把点替换成别的路径。

至此就安装完成了,比较一下原来的 ls 命令和 busybox 里的 ls 命令。

常见错误:

  1. 如果安装时出现这样的错误,

busybox: /bin/zcat: No such file or directory

busybox: /sbin/zcip: Invalid cross-device link

说明没有输入安装路径,正确的示例 busybox –install /data/local/

  1. 如果出现这样的错误,

cp: /system/xbin/busybox: Read-only file system

说明没有正确输入上面第三步的mount命令。

小技巧:

  1. busybox 里有 ash 和 hush 还有 sh 这几种 shell,在命令行输入 ash 或 hush,可以像在 bash 里那样,通过按上下键选择刚才输入的命令。

  2. android系统本身就有ls命令,busybox里也有ls,输入ls时调用的是android的ls,那么想用busybox的ls就要每次都在前面加个busybox吗?不用,使用alias命令可以搞定。

alias ls=’busybox ls’
同样的,cp、mv等二者都有的命令都可以这样搞定。也可以通过修改 /init.rc 来解决。

举个列子

lsof |busybox grep com.tencent.mobileqq

system_se   985     system  219       ???                ???       ???        ??? /data/app/com.tencent.mobileqq-1.apk
com.andro  1271        nfc   62       ???                ???       ???        ??? /data/app/com.tencent.mobileqq-1.apk

即可查看到qq安装包所在的目录

更多用法参考:
http://blog.csdn.net/jeffreyst_zb/article/details/7160984

BusyBox一个内核空间的工具集,它可以运行在嵌入式系统、手机、路由器等各种设备上。它可以提供很多常用的Linux命令和工具,如ls、cat、cp、grep、awk等等。在嵌入式系统中,它通常被用来代替独立的工具集,以减小系统的体积和复杂度。 下面是BusyBox使用说明: 1. 命令格式 BusyBox的命令格式和Linux的命令格式类似,通常是: ``` busybox <command> [options] [arguments] ``` 其中,`<command>`是需要执行的命令,`[options]`和`[arguments]`是命令的选项和参数。 2. 常用命令 BusyBox提供了很多常用的Linux命令和工具,下面是一些常用的命令: - ls:列出目录中的文件和子目录。 - cat:显示文件的内容。 - cp:复制文件或目录。 - mv:移动文件或目录。 - rm:删除文件或目录。 - mkdir:创建目录。 - rmdir:删除目录。 - touch:创建空文件或更新文件的时间戳。 - echo:输出文本。 - grep:查文件中的文本。 - awk:处理文本文件的工具。 3. 使用示例 以下是一些使用BusyBox的示例: - 列出当前目录下的文件和子目录: ``` busybox ls ``` - 复制文件: ``` busybox cp file1 file2 ``` - 移动文件: ``` busybox mv file1 file2 ``` - 删除文件: ``` busybox rm file ``` - 创建目录: ``` busybox mkdir dir ``` - 查文件中的文本: ``` busybox grep 'text' file ``` - 处理文本文件: ``` busybox awk '{print $1}' file ``` 以上是BusyBox的简单使用说明,如果需要了解更多命令和选项,请参考BusyBox的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值