BusyBox 是一款根据GPL 许可作为免费软件发布的应用程序。 Busybox 在单个可执行文件中提供了一组简化的Unix 工具,可以在多个POSIX 操作系统上运行,包括Linux(包括Android)、Hurd 和FreeBSD。 BusyBox 可执行文件的大小相对较小,并且通常使用Linux 内核,因此非常适合在嵌入式系统中使用。作者将BusyBox 称为“嵌入式Linux 的瑞士军刀”。
历史
BusyBox 最初是由Bruce Ferens 在1996 年编写的,用于Debian GNU/Linux 的软盘安装,最初的想法是将引导系统放在软盘上,并充当救援盘和安装盘。此后,它已成为嵌入式Linux 设备和系统以及Linux 发行版安装程序的事实上的标准。这是因为每个Linux 可执行文件都需要几KB 的空间,而集成了200 多个程序的BusyBox 可以为您节省大量空间。示例:Debian GNU/Linux 安装CD 使用BusyBox 作为shell 程序。
Enrique Zanardi 维护着BusyBox,专注于Debian 启动盘安装系统的需求,直到1998 年,他被Linux Router 项目负责人Dave Cinege 接任。 Cinege 做了一些补充。我们建立了模块化构建环境,并将BusyBox 的目标转移到流行的高端嵌入式系统。当LRP开发进度在1999年陷入停滞时,Lineo, Inc.(英语:Lineo)的Erik Andersen于1999年正式接手该项目,并继续维护到2006年3月。在此期间,Linux嵌入式系统市场显着增长,这也导致了BusyBox的成熟及其使用群体和功能的扩展。
Denis Vlasenko 是BusyBox 的当前维护者。
功能
BusyBox 可进行定制以提供200 多个功能的子集。它提供了单一UNIX 规范中详细介绍的大部分功能,以及用户希望在其Linux 系统上拥有的许多功能。 BusyBox 使用ash。完整的功能列表可以在BusyBox 网站上找到。
单个可执行文件
常见的计算机程序对于每个应用程序都有单独的二进制(可执行)文件。 BusyBox 是一个单一的二进制文件,它是许多应用程序的集合,每个应用程序都可以使用具有适当参数的特定方法以不同的名称(通过符号或硬链接)进行访问。链接)支持通话。用于访问的单个BusyBox 二进制文件。
BusyBox 受益于单一可执行策略,该策略消除了每个可执行文件(特别是ELF 可执行文件)的文件头的需要,并且无需库即可实现代码共享。这个技巧类似于FreeBSD 的crunchgen 命令。与使用crunchgen 创建的合并工具不同,Busybox 仅提供每个工具的简化版本(例如,ls 命令不提供排序功能)。
通过共享通用代码和优化程序大小,使用BusyBox 构建的系统所需的空间比完整的工具同类要少得多。这项研究比较了GNU、Busybox、asmutils 和Perl 实现的标准Unix 指令,发现BusyBox 在某些情况下比其他实现执行得更快,但并非总是如此,没有任何限制。
例子
要运行BusyBox 中包含的程序,只需将其名称添加到第一个参数即可。
/bin/busybox ls
更常见的是,这些命令链接到BusyBox 可执行文件(使用硬链接或符号链接),BusyBox 检测链接名称并运行相应的命令。例如,只需将/bin/ls 链接到/bin/busybox。
/bin/ls
命令
ash - 简单的POSIX 兼容shell
awk - 将文件解析为记录和字段,然后根据模式匹配操作其内容
cat - 在标准输出上端到端显示多个文件。
chmod - 更改文件权限设置
cp - 复制文件或目录
日期- 打印/设置日期和时间
DD
df - 打印文件系统使用统计信息。
dmesg - 显示内核信息
echo - 打印指定的内容
egrep - 接受扩展正则表达式的grep
fgrep - 接受固定字符串模式的grep
grep - 列出与文件或标准输入中的模式匹配的行。
压缩包
Kill——关闭程序
ln - 创建链接
登录- 以用户身份登录
ls - 列出目录或文件。
姆多
mkdir - 创建目录
更多的
mount挂载存储设备
mv——移动文件
netstat - 显示TCP/IP 连接信息
全国人大
时间同步
NVRAM
皮多夫
平
ps - 打印程序状态。
pwd - 打印工作目录。
rm - 删除文件
rmdir - 删除目录
统计数据
塞多
施
睡觉
同步- 将缓存写入磁盘
柏油
触碰
umount 删除已安装的存储设备
uname - 显示系统信息
睡觉
vi - 一个类似vi 的简单编辑器,具有简单模式提示
钟
wget - HTTP 或FTP 下载工具
祖卡特
实际的命令列表由编译时设置决定。在具有Busybox 的系统上,运行busybox --list 以查看列表。
标题:busybox v1.22,busybox是干嘛用的
链接:https://www.7kxz.com/news/gl/18728.html
版权:文章转载自网络,如有侵权,请联系删除!