busybox
Provide minimal tools for embedded systems
TLDR
Execute a BusyBox function
Display help and a list of functions
SYNOPSIS
busybox [utility] [arguments...]
PARAMETERS
[utility]
Specifies the utility to execute. If no utility is provided, Busybox will list the available utilities.
[arguments...]
Arguments passed to the specified utility. These will vary depending on the utility being called.
DESCRIPTION
Busybox is a single executable that provides a large number of common Unix utilities, offering a minimal environment suitable for embedded systems, recovery systems, and other resource-constrained environments. Instead of linking against the full glibc library, Busybox often uses its own highly optimized implementations, resulting in a significantly smaller footprint. This makes it ideal for systems where space and memory are at a premium.
It implements replacements for many of the utilities you usually find in GNU coreutils, util-linux, etc. These replacements generally offer fewer options than their full-featured counterparts, but provide the essential functionalities needed for system administration, networking, and other tasks. This reduced complexity and size contribute to faster boot times and reduced storage requirements.
Because it combines multiple utilities into a single executable, Busybox also benefits from reduced overhead compared to executing separate programs, as it avoids the need to load multiple executables into memory. This can improve performance on resource-constrained devices.
CAVEATS
The functionality of Busybox utilities is often a subset of their GNU counterparts. Not all options are supported, and behavior may differ slightly. Always check the Busybox-specific documentation for each utility using 'busybox utility --help'.
<B>UTILITIES</B>
Busybox includes a wide range of utilities, including but not limited to: ash, awk, basename, cat, chmod, chown, cp, cut, date, dd, df, echo, grep, gunzip, gzip, head, kill, ln, login, ls, mkdir, mount, mv, netstat, ping, ps, rm, rmdir, sed, sh, sleep, tail, tar, telnet, top, touch, tr, umount, vi, wget, and more. The exact set of available utilities depends on the build configuration.
<B>CONFIGURATION</B>
Busybox can be highly customized during compilation. The 'make menuconfig' option allows you to select which utilities to include, as well as various other options. This flexibility is critical for embedded systems developers who need to minimize the size of the final image.
<B>SHELL</B>
Busybox provides a very minimal shell (ash). The shell included in busybox is usually sufficient for most embedded systems and rescue systems usage.
HISTORY
Busybox was originally created by Bruce Perens in 1995. It was designed as a boot disk to fit on a single floppy disk. Since then, it has evolved into a general-purpose suite of utilities for embedded systems and has been widely adopted in various Linux distributions and embedded devices due to its small size and efficiency.
SEE ALSO
coreutils(1), util-linux(8)