busybox

1、简介

BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。

软件平台:类Unix系统

BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。

2、个人理解

相当于把linux下的shell命令集成到一个二进制文件之中,利于跨平台使用。

3、Android的toolbox及busybox,toybox

1 toolbox

看 system/core $ gitk toolbox/

toolbox应该是在5.0及5.0以前使用,14年年底后google已停止维护

2 toybox

6.0以后执行ls等基础linux命令都执行了toybox

What is Toybox

  • Fresh implementation of linux/android command line, BSD licensed.
    • Draws from Posix, LSB, LFS, toolbox, bash man page, etc.

What does toybox implement?

  • android toolbox - lives in "android core" git. - triage - container support for security - unshare - examine lxc. (Fix chroot in kernel.) - google has epic "not invented here" syndrome - install toybox, put first in $PATH. Leave toybox alone. - Eliminating need for toolbox won't eliminate safety blanket.

3 busybox

busybox在android上位于xbin,是android xbin下额外的工具,不是ls等默认指向的。

原来 Android 中的 busybox 与 toolbox 是两套程序。

busybox 是一个嵌入式领域常用的软件。它是一个命令集工具,像传统的PC端的Linux系统上的大多数命令的实现都被封装在 busybox 程序中。在嵌入式平台上就可以将这些命令以参数的形式传递给 busybox 工具集,进而实现相应的功能。

那为什么嵌入式平台不能直接像PC端那样,直接将各个命令所对应的程序预置在板端,而非要包装在一个 busybox 中呢?其最主要的原因还是因为这些命令所对应的程序加起来太过庞大,嵌入式平台的存储资源通常是比较有限的,为了节约存储空间,就将这些命令集合在一个程序中。那集合以后的程序又凭什么能比PC端那种分散开来的形式体积要小呢?一个主要的原因是因为这些命令中,有不少命令的实现都是相同的。busybox 就将这些相同的部分提取出来让多个命令共用。如此一来随着命令数量的增多,就能比较大程度地缩减程序体积了。

Android平台是基于嵌入式Linux的。通过串口或者 adb shell 可以像在嵌入式Linux平台上那样敲击命令以实现某些目的。

Android平台的命令系统一般而言可以认为分为两类:

1、busybox 实现的命令系统

2、toolbox 实现的命令系统

toolbox 命令系统是Android平台默认的命令系统。

Toybox A implementation of over 200 Unix command line utilities. BSD licenses.(和GPL区别在于基于BSD许可的开源软件所做的修改可以不开源,且在BSD上面新开发的部分可以商业使用)。 Android's command line tools.

BusyBox GNU GPL licenses. (copyleft) BusyBox 官网 - The Swiss Army Knife of Embedded Linux. 你可以看到 busybox 所支持的 COMMANDS(Currently available applets).

作者:michael_jia 链接:https://www.jianshu.com/p/8b52739c8f89 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

results matching ""

    No results matching ""