11.3.4. BusyBox Commands
11.3.4. BusyBox Commands
In a recent BusyBox snapshot, 197 commands (also called applets) were documented in the man page. There is sufficient support for reasonably complex shell scripts, including support for Bash shell scripting. BusyBox has support for awk and sed, frequently found in Bash scripts. BusyBox supports network utilities such as ping, ifconfig, TRaceroute, and netstat. Some commands are specifically included for scripting support, including true, false, and yes.
Spend a few moments perusing Appendix C, "BusyBox Commands," where you can find a summary of each BusyBox command. After you have done so, you will have a better appreciation for the capabilities of BusyBox and how it might be applicable to your own embedded Linux project.
As mentioned at the beginning of this chapter, many of the BusyBox commands contain a limited subset of features and options compared to their full-featured counterparts. In general, you can get help on any given BusyBox command at runtime by invoking the command with the --help option. This produces a usage message with a brief description of each supported command option. The BusyBox gzip applet is a useful example of a BusyBox command that has support for a limited set of options. Listing 11-10 displays the output from gzip-help on a BusyBox target.
Listing 11-10. BusyBox gzip Applet Usage
BusyBox v1.01 (2005.12.01-21:11+0000) multi-call binary
Usage: gzip [OPTION]... [FILE]...
Compress FILE(s) with maximum compression.
When FILE is '-' or unspecified, reads standard input. Implies -c.
-c Write output to standard output instead of FILE.gz
-f Force write when destination is a terminal
The BusyBox version of gzip supports just three command line options. Its full-featured counterpart contains support for more than 15 different command line options. For example, the full-featured gzip utility supports a --list option that produces compression statistics for each file on the command line. No such support exists for BusyBox gzip. This is usually not a significant limitation for embedded systems. We present this information so you can make an informed choice when deciding on BusyBox. When the full capabilities of a utility are needed, the solution is simple: Delete support for that particular utility in the BusyBox configuration and add the standard Linux utility to your target system.
- Appendix B. U-Boot Configurable Commands
- Appendix C. BusyBox Commands
- 11.1.1. BusyBox is Easy
- 11.3. BusyBox Operation
- Appendix A. Detailed explanations of special commands
- Use Essential Commands from the
- Using Basic Print Commands
- Using Commands in the ftpaccess File to Configure wu-ftpd
- Configure Commands Directed Toward the cdpath
- Using Commands for Server Administration
- Basic Commands