项目简介
Toybox是一个一体化的Linux命令行工具,以多调用二进制文件的形式存在,如同“瑞士军刀”,依据调用它的名称(如cp、mv、cat等)展现不同功能。它可在多种环境下运行,支持交叉编译,还能用于构建基于它的Linux系统。
项目的主要特性和功能
- 多调用二进制文件:单个可执行文件能实现多种命令功能,安装时会为每个命令名称添加符号链接到系统路径。
- 支持交叉编译:可为不同的硬件架构生成对应版本。
- 命令配置灵活:类似Linux内核,可通过编辑
.config
文件选择要包含的功能特性。 - 提供帮助信息:使用
help
命令可获取每个命令的详细信息。 - 实现xargs命令功能:能从标准输入读取参数,并传递给指定命令执行,支持多种选项处理不同格式的参数,便于处理管道输出数据。
安装使用步骤
下载静态二进制文件
可从http://landley.net/toybox/bin
下载针对各种目标的静态二进制文件。以下是下载x86_64版本的示例:
bash
wget http://landley.net/toybox/bin/toybox-x86_64
chmod +x toybox-x86_64
./toybox-x86_64 echo hello world
构建Toybox
- 查看构建说明:
bash make help
- 常规构建步骤:
bash make defconfig make make install
- 交叉编译示例(以armv5l为例):
bash LDFLAGS="--static" CROSS_COMPILE=armv5l- make defconfig toybox PREFIX=/path/to/root/filesystem/bin make install_flat
交叉编译需下载合适的交叉编译器工具链,例如对于CROSS_COMPILE=armv5l-
,需下载cross-compiler-armv5l.tar.bz2
,解压后将其bin
子目录添加到$PATH
。
使用Toybox
- 不安装直接使用:
toybox
命令将其第一个参数作为要运行的命令,无参数时列出可用命令。 - 获取命令帮助:使用
toybox help <命令名>
获取指定命令的帮助信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】