轻量化工具合集,好用,强大!
适合linux,工具地址在文末
BusyBox是一个开源项目,它提供了大约400个常见的UNIX/Linux命令的精简实现。BusyBox实现删除了不常见的、很少使用的命令选项,一切都小于1 MB,这个最小的图像是它在嵌入式系统和物联网领域以及云计算世界中流行的原因。本文将介绍BusyBox的特点、部署安装方法和类似工具,并做出总结。
BusyBox的特点
BusyBox的主要特点是将多个常用的UNIX/Linux命令打包成一个单一的可执行文件,从而节省了磁盘空间和系统内存
。BusyBox的单一可执行文件可以根据不同的命令名或参数来执行不同的功能,例如,如果将BusyBox的可执行文件链接到ls,那么当运行ls时,就会执行BusyBox的ls功能。
BusyBox的可执行文件还可以通过—install选项来自动创建所有支持的命令的符号链接。
BusyBox的另一个特点是它可以在各种POSIX环境中运行,如Linux、Android和FreeBSD,尽管它提供的许多工具是为Linux内核提供的接口而设计的。
BusyBox还可以根据需要定制,只包含所需的命令和选项,从而进一步减小体积。BusyBox还遵循GNU通用公共许可证第二版(GPLv2)的条款,作为自由软件发布。
BusyBox的部署安装
BusyBox的部署安装方法有多种,这里介绍两种常见的方法:使用预编译的二进制文件和从源代码编译。
使用预编译的二进制文件
BusyBox的官方网站¹提供了一些预编译的二进制文件,可以直接下载并使用。例如,可以使用以下命令下载一个适用于x86架构的BusyBox二进制文件:
wget https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-x86_64
然后,可以使用以下命令将其重命名为busybox,并赋予可执行权限:
mv busybox-x86_64 busybox
chmod +x busybox
接下来,可以使用以下命令来测试BusyBox的功能:
./busybox ls
./busybox date
./busybox --help
如果想要将BusyBox的所有支持的命令链接到系统的PATH中,可以使用以下命令:
sudo ./busybox --install
这样,就可以直接使用BusyBox的命令,而不需要加上./busybox前缀。
从源代码编译
如果想要从源代码编译BusyBox,可以使用以下命令下载最新的源代码:
git clone git://busybox.net/busybox.git
然后,进入源代码目录,并使用以下命令配置编译选项:
cd busybox
make menuconfig
这会弹出一个图形界面,可以选择需要的命令和功能,也可以使用默认的配置。完成后,保存并退出,然后使用以下命令编译BusyBox:
make
编译完成后,就可以在当前目录下找到busybox可执行文件,可以使用同样的方法测试和安装它。
BusyBox的类似工具
除了BusyBox,还有一些类似的工具,也可以提供多个UNIX/Linux命令的精简实现,例如:
- Toybox:由前BusyBox维护者Rob Landley发起的一个项目,目标是提供一个符合POSIX标准的、GPLv2兼容的、轻量级的命令集合。Toybox的特点是它使用了C99标准,支持多线程和多核处理,以及Android的bionic库。Toybox的官方网站是²。
- sbase:由suckless.org社区开发的一个项目,目标是提供一个简单、清晰、可移植的、符合POSIX标准的命令集合。sbase的特点是它使用了C99标准,避免了不必要的依赖和复杂性,以及GNU扩展。sbase的官方网站是³。
- asmutils:由Solar Designer开发的一个项目,目标是提供一个用汇编语言编写的、极小的、快速的、自包含的命令集合。asmutils的特点是它使用了NASM汇编器,支持多种架构和平台,以及Linux内核的系统调用。asmutils的官方网站是⁴。
总结
BusyBox是一个提供了大约400个常见的UNIX/Linux命令的精简实现的开源项目,它的主要特点是将多个命令打包成一个单一的可执行文件,从而节省了磁盘空间和系统内存。
BusyBox可以在各种POSIX环境中运行,也可以根据需要定制,遵循GPLv2的条款。
BusyBox的部署安装方法有多种,可以使用预编译的二进制文件,也可以从源代码编译。除了BusyBox,还有一些类似的工具,也可以提供多个UNIX/Linux命令的精简实现,例如Toybox、sbase和asmutils。BusyBox是一个适用于嵌入式系统和物联网领域以及云计算世界的强大的工具,值得学习和使用。
工具地址:
https://www.busybox.net/