开发者社区> 观极> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

busybox

简介:
+关注继续查看

BusyBox是一个集成了一百多个最常用linux命令和工具的软件。BusyBox包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了Android系统的自带的shell。BusyBox将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils,shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。

简介/busybox 编辑

busybox图册
BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
发源/busybox 编辑
BusyBox 最初是由 Bruce Perens 在 1996 年为Debian GNU/Linux安装盘编写的。其目标是在一张软盘上创建一个可引导的 GNU/Linux 系统,这可以用作安装盘和急救盘。
编译安装/busybox 编辑

make

make install

编译好后在busybox目录下生成子目录_install,里面的内容:
drwxr-xr-x 2 root root 4096 11月 24 15:28 bin
rwxrwxrwx 1 root root 11 11月 24 15:28linuxrc -> bin/busybox
drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin
其中可执行文件busybox在需要制作文件系统映像烧入板子的情况下,busybox应放在根文件系统目录下的bin中,其他的都是指向他的符号链接.
配置/busybox 编辑
busybox的配置程序和linux内核菜单配置方式简直一模一样.熟悉用make menuconfig方式配置linux内核的朋友很容易上手.

cp busybox-1.00.tar.gz /babylinux

cd /babylinux

tar xvfz busybox-1.00.tar.gz

cd busybox-1.00

make menuconfig

下面是需要编译进busybox的功能选项。
General Configuration应该选的选项
Show verbose applet usage messages
Runtime SUID/SGID configuration via /etc/busybox.conf
Build Options
Build BusyBox as a static binary (no shared libs)
这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使它正常工作.
Installation Options
Don't use /usr
这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向它的链接.
其它选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了,配置好后退出并保存。[2]
使用技巧/busybox 编辑
可以这样用busybox

busybox ls

他的功能就相当运行ls命令
最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.

ln -s busybox ls

ln -s busybox rm

ln -s busybox mkdir

然后分别运行这三个链接:

./ls

./rm

./mkdir

就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox,但是只要链接名不同,完成的功能就不同,很多linux网站都提供busybox的源代码下载。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
busybox reboot 无效
/*********************************************************************** * busybox reboot 无效 * 说明: * 最近调传感器,使用的ssh连接设备,调完程序发现reboot命令无效,后来 * 经过使用uart口看启动过程,发现自启动程序是前台程序,没有放入后台,于是 * 将启动程序放入后台运行就可以了。
1056 0
busybox inetd tftpd
/*************************************************************************** * busybox inetd tftpd * 说明: * 在NXP官方主板上使能运行tftpd的,不过不知道为什么换块主板就不行了,于是 * 找原因,中间换过xinetd也不行,最后换成inetd才行。
1033 0
linux根文件系统制作之busybox编译和系统构建【转】
转自:http://blog.chinaunix.net/uid-29401328-id-5019660.html 介绍完相关文件后我们开始构建文件系统,涉及到的文件等到具体用到的时候再讲。一、编译busybox首先下载busybox源码,编译busybox,得到一些初始化文件及我们需要的各种命令。
1511 0
使用BusyBox制作Linux根文件系统
STEP 1:构建目录结构  创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin  /sys  #mkdir     /home/rootfs#cd        /home/...
1384 0
busybox filesystem ifup
/******************************************************************** * busybox filesystem ifup * 声明: * 本文主要是记录busybox文件系统中ifup使用报错的解决方式。
887 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
What'sNewinDocker
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载