语法
BusyBox <function> [arguments...] # or
<function> [arguments...] # if symlinked
描述
BusyBox 联合许多通常的UNIX操作系统公用程式的缩微版本进入一单一可执行程序。 它为GNU核心工具程序,linux实用工具程序等提供一个最低限度的替代品。BusyBox内的公用程式通常比他们的GNU里对应命令程序有相对少的选择项;然而,被包括在内的选项提供了预期的功能,并且非常像他们的GNU里类似版本。
BusyBox 在优化大小和资源限制的思想下写就。它也被模块化,如此你在编译时能自由选择包括或去除某个指令(或功能)。 这使构建你自己的嵌入系统更容易。为了产生一个工作系统,仅仅需要 /dev,/etc, 和一个 Linux系统内核。 BusyBox 提供一个完全地的 POSIX 环境给任何的小或嵌入式系统。
BusyBox 是非常容易配置的。这允许你只包括你需要的单元,藉此减少二进制文件的大小。 运行 'make config' 或 'make menuconfig' 选择你需要的功能。 运行 'make' 用你的配置来编译 BusyBox 。
在编译完成后, 你应该使用 'make install' 安装 BusyBox。 这将会安装 '/bin/busybox'二进制文件, 并产生所有你预先定义好的实用工具的符号链接,这些了链接将指向 '/bin/busybox' 。缺省情况下,'make install' 将会将这些符号链接放在 './_install'目录,除非你在'PREFIX'中定义了其他位置, (也就是,'make PREFIX=/tmp/foo install'). 如果你想使用硬链接, 并不使用缺省的符号链接, 你可使用 'make PREFIX=/tmp/foo install-hardlinks'。
用法
BusyBox 是一个多呼叫(multi-call)二进制程序。一个多呼叫程序集成了多个实用工具的功能在同一个可执行程序上。 意思就是只有一个 BusyBox 二进制程序,但是这个单一二进制程序可以运行地象有多个实用工具。因为这些内建的程序(我们称他们小程式)可以共享一些通用代码,从而使得整个 BusyBox 看起来很小。
你可以将你需要的命令作为BusyBox的一个参数来使用BusyBox。例如,
/bin/busybox ls
将使BusyBox完成 ls 的功能。
当然,每次使用都需要将 '/bin/busybox' 加入到命令中实在很痛苦,所以很多人使用到BusyBox的符号链接。
比如,敲入
ln -s /bin/busybox ls
./ls
将使BusyBox可以直接使用‘ls'(前提使'ls'已被编译进BusyBox)。通常你并不需要全部手工做这些链接,因为在你"make install"时BusyBox将为你做好这些事情。
如果你不使用任何参数来调用BusyBox,它将显示所有编译进BusyBox的小程式名。
命令
现已定义的功能包括:
addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2,
busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
dumpleases, echo, egrep, env, expr, false, fbset, fdflush, fdformat, fdisk,
fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt,
getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
install, ip, ipcalc, iplink, iproute, iptunnel, kill, killall, klogd, lash,
last, length, linuxrc, ln, loadfont, loadkmap, logger, login, logname,
logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir, mkfifo,
mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt, mv,
nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping,
ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate,
readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm,
rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort,
start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, sync,
sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top,
touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs,
yes, zcat |