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的源代码下载。

目录
相关文章
|
Docker 容器
25-Docker-常用命令详解-docker images
25-Docker-常用命令详解-docker images
|
Docker 容器
20-Docker-常用命令详解-docker attach
20-Docker-常用命令详解-docker attach
|
网络协议 应用服务中间件 nginx
47-Dockerfile-VOLUME/EXPOSE指令
47-Dockerfile-VOLUME/EXPOSE指令
|
Ubuntu Linux 开发工具
docker build stress命令
stress 可以对linux机器做压力测试,是一个比较好用的命令
138 0
|
存储 Kubernetes NoSQL
podman pod
podman pod
276 0
|
存储 自然语言处理 Ubuntu
Docker unionfs(overlayfs) 实现 rootfs
Docker unionfs(overlayfs) 实现 rootfs
530 0
|
关系型数据库 Docker Python
什么是Docker Volume?
摘要:Docker Volume,通常翻译为数据卷,用于保存持久化数据。当我们将数据库例如MySQL运行在Docker容器中时,一般将数据通过Docker Volume保存在主机上,这样即使删除MySQL容器,数据依然保存在主机上,有效保证了数据的安全性。
3772 1
|
Linux Shell Docker
Alpine Docker 安装 bash
Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。
5576 0
|
Docker 容器
Docker-09-Volumes
Docker-09-Volumes
168 0
|
Docker 容器
Docker(7)- docker images 命令详解
Docker(7)- docker images 命令详解
225 0
Docker(7)- docker images 命令详解