mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
2480 lines
49 KiB
Plaintext
2480 lines
49 KiB
Plaintext
# vi: set sw=4 ts=4:
|
|
|
|
=head1 NAME
|
|
|
|
BusyBox - The Swiss Army Knife of Embedded Linux
|
|
|
|
=head1 SYNTAX
|
|
|
|
BusyBox <function> [arguments...] # or
|
|
|
|
<function> [arguments...] # if symlinked
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
BusyBox combines tiny versions of many common UNIX utilities into a single
|
|
small executable. It provides minimalist replacements for most of the utilities
|
|
you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
|
|
tar, etc. BusyBox provides a fairly complete POSIX environment for any small
|
|
or embedded system. The utilities in BusyBox generally have fewer options than
|
|
their full-featured GNU cousins; however, the options that are included provide
|
|
the expected functionality and behave very much like their GNU counterparts.
|
|
|
|
BusyBox has been written with size-optimization and limited resources in mind.
|
|
It is also extremely modular so you can easily include or exclude commands (or
|
|
features) at compile time. This makes it easy to customize your embedded
|
|
systems. To create a working system, just add a kernel, a shell (such as ash),
|
|
and an editor (such as elvis-tiny or ae).
|
|
|
|
=head1 USAGE
|
|
|
|
When you create a link to BusyBox for the function you wish to use, when BusyBox
|
|
is called using that link it will behave as if the command itself has been invoked.
|
|
|
|
For example, entering
|
|
|
|
ln -s ./BusyBox ls
|
|
./ls
|
|
|
|
will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
|
|
into BusyBox).
|
|
|
|
You can also invoke BusyBox by issuing the command as an argument on the
|
|
command line. For example, entering
|
|
|
|
./BusyBox ls
|
|
|
|
will also cause BusyBox to behave as 'ls'.
|
|
|
|
=head1 COMMON OPTIONS
|
|
|
|
Most BusyBox commands support the B<--help> option to provide a
|
|
terse runtime description of their behavior.
|
|
|
|
=head1 COMMANDS
|
|
|
|
Currently defined functions include:
|
|
|
|
ar, basename, busybox, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp,
|
|
cut, date, dc, dd, deallocvt, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du,
|
|
dumpkmap, dutmp, echo, expr, false, fbset, fdflush, find, free, freeramdisk,
|
|
fsck.minix, getopt, grep, gunzip, gzip, halt, head, hostid, hostname, id,
|
|
ifconfig, init, insmod, kill, killall, klogd, length, ln, loadacm, loadfont,
|
|
loadkmap, logger, logname, ls, lsmod, makedevs, md5sum, mkdir, mkfifo,
|
|
mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, nslookup, ping,
|
|
pivot_root, poweroff, printf, ps, pwd, rdate, readlink, reboot, renice, reset,
|
|
rm, rmdir, rmmod, route, rpmunpack, sed, setkeycodes, sh, sleep, sort, stty,
|
|
swapoff, swapon, sync, syslogd, tail, tar, tee, telnet, test, tftp, touch, tr,
|
|
true, tty, umount, uname, uniq, unix2dos, update, uptime, usleep, uudecode,
|
|
uuencode, watchdog, wc, wget, which, whoami, xargs, yes, zcat, [
|
|
|
|
=over 4
|
|
|
|
=item I<ar>
|
|
|
|
ar -[ovR]{ptx} archive filenames
|
|
|
|
Extract or list files from an ar archive.
|
|
|
|
Options:
|
|
|
|
-o preserve original dates
|
|
-p extract to stdout
|
|
-t list
|
|
-x extract
|
|
-v verbosely list files processed
|
|
-R recursive action
|
|
|
|
-------------------------------
|
|
|
|
=item I<basename>
|
|
|
|
basename FILE [SUFFIX]
|
|
|
|
Strips directory path and suffixes from FILE.
|
|
If specified, also removes any trailing SUFFIX.
|
|
|
|
Example:
|
|
|
|
$ basename /usr/local/bin/foo
|
|
foo
|
|
$ basename /usr/local/bin/
|
|
bin
|
|
$ basename /foo/bar.txt .txt
|
|
bar
|
|
|
|
-------------------------------
|
|
|
|
=item I<cat>
|
|
|
|
cat [FILE]...
|
|
|
|
Concatenates FILE(s) and prints them to stdout.
|
|
|
|
Example:
|
|
|
|
$ cat /proc/uptime
|
|
110716.72 17.67
|
|
|
|
-------------------------------
|
|
|
|
=item I<chgrp>
|
|
|
|
chgrp [OPTION]... GROUP FILE...
|
|
|
|
Change the group membership of each FILE to GROUP.
|
|
|
|
Options:
|
|
|
|
-R Changes files and directories recursively.
|
|
|
|
Example:
|
|
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chgrp root /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
|
|
|
|
-------------------------------
|
|
|
|
=item I<chmod>
|
|
|
|
chmod [B<-R>] MODE[,MODE]... FILE...
|
|
|
|
Each MODE is one or more of the letters ugoa, one of the
|
|
symbols +-= and one or more of the letters rwxst.
|
|
|
|
Options:
|
|
|
|
-R Changes files and directories recursively.
|
|
|
|
Example:
|
|
|
|
$ ls -l /tmp/foo
|
|
-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
$ chmod u+x /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
|
|
$ chmod 444 /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
|
|
-------------------------------
|
|
|
|
=item I<chown>
|
|
|
|
chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
|
|
|
|
Change the owner and/or group of each FILE to OWNER and/or GROUP.
|
|
|
|
Options:
|
|
|
|
-R Changes files and directories recursively.
|
|
|
|
Example:
|
|
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chown root /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chown root.root /tmp/foo
|
|
ls -l /tmp/foo
|
|
-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
|
|
-------------------------------
|
|
|
|
=item I<chroot>
|
|
|
|
chroot NEWROOT [COMMAND...]
|
|
|
|
Run COMMAND with root directory set to NEWROOT.
|
|
|
|
Example:
|
|
|
|
$ ls -l /bin/ls
|
|
lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
|
|
$ mount /dev/hdc1 /mnt -t minix
|
|
$ chroot /mnt
|
|
$ ls -l /bin/ls
|
|
-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
|
|
|
|
-------------------------------
|
|
|
|
=item I<chvt>
|
|
|
|
chvt N
|
|
|
|
Changes the foreground virtual terminal to /dev/ttyN
|
|
|
|
-------------------------------
|
|
|
|
=item I<clear>
|
|
|
|
clear
|
|
|
|
Clear screen.
|
|
|
|
-------------------------------
|
|
|
|
=item I<cmp>
|
|
|
|
cmp FILE1 [FILE2]
|
|
|
|
Compare files.
|
|
|
|
-------------------------------
|
|
|
|
=item I<cp>
|
|
|
|
cp [OPTION]... SOURCE DEST
|
|
|
|
Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
|
|
|
|
-a Same as -dpR
|
|
-d Preserves links
|
|
-p Preserves file attributes if possible
|
|
-f force (implied; ignored) - always set
|
|
-R Copies directories recursively
|
|
|
|
-------------------------------
|
|
|
|
=item I<cut>
|
|
|
|
cut [OPTION]... [FILE]...
|
|
|
|
Prints selected fields from each input FILE to standard output.
|
|
|
|
Options:
|
|
|
|
-b LIST Output only bytes from LIST
|
|
-c LIST Output only characters from LIST
|
|
-d CHAR Use CHAR instead of tab as the field delimiter
|
|
-s Output only the lines containing delimiter
|
|
-f N Print only these fields
|
|
-n Ignored
|
|
|
|
Example:
|
|
|
|
$ echo Hello world | cut -f 1 -d ' '
|
|
Hello
|
|
$ echo Hello world | cut -f 2 -d ' '
|
|
world
|
|
|
|
-------------------------------
|
|
|
|
=item I<date>
|
|
|
|
date [OPTION]... [+FORMAT]
|
|
|
|
Displays the current time in the given FORMAT, or sets the system date.
|
|
|
|
Options:
|
|
|
|
-R Outputs RFC-822 compliant date string
|
|
-d STRING display time described by STRING, not `now'
|
|
-s Sets time described by STRING
|
|
-u Prints or sets Coordinated Universal Time
|
|
|
|
Example:
|
|
|
|
$ date
|
|
Wed Apr 12 18:52:41 MDT 2000
|
|
|
|
-------------------------------
|
|
|
|
=item I<dc>
|
|
|
|
dc expression ...
|
|
|
|
This is a Tiny RPN calculator that understands the
|
|
following operations: +, -, /, *, and, or, not, eor.
|
|
i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \* 2 2 + /' -> 16
|
|
|
|
Example:
|
|
|
|
$ dc 2 2 +
|
|
4
|
|
$ dc 8 8 * 2 2 + /
|
|
16
|
|
$ dc 0 1 and
|
|
0
|
|
$ dc 0 1 or
|
|
1
|
|
$ echo 72 9 div 8 mul | dc
|
|
64
|
|
|
|
-------------------------------
|
|
|
|
=item I<dd>
|
|
|
|
dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N]
|
|
[seek=N] [conv=notrunc|sync]
|
|
|
|
Copy a file, converting and formatting according to options
|
|
|
|
if=FILE read from FILE instead of stdin
|
|
of=FILE write to FILE instead of stdout
|
|
bs=N read and write N bytes at a time
|
|
count=N copy only N input blocks
|
|
skip=N skip N input blocks
|
|
seek=N skip N output blocks
|
|
conv=notrunc don't truncate output file
|
|
conv=sync pad blocks with zeros
|
|
|
|
Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),
|
|
MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824).
|
|
|
|
Example:
|
|
|
|
$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
|
|
4+0 records in
|
|
4+0 records out
|
|
|
|
-------------------------------
|
|
|
|
=item I<deallocvt>
|
|
|
|
deallocvt N
|
|
|
|
Deallocate unused virtual terminal /dev/ttyN
|
|
|
|
-------------------------------
|
|
|
|
=item I<df>
|
|
|
|
df [B<-hmk>] [filesystem ...]
|
|
|
|
Print the filesystem space used and space available.
|
|
|
|
Options:
|
|
|
|
-h print sizes in human readable format (e.g., 1K 243M 2G )
|
|
-m print sizes in megabytes
|
|
-k print sizes in kilobytes(default)
|
|
|
|
Example:
|
|
|
|
$ df
|
|
Filesystem 1k-blocks Used Available Use% Mounted on
|
|
/dev/sda3 8690864 8553540 137324 98% /
|
|
/dev/sda1 64216 36364 27852 57% /boot
|
|
$ df /dev/sda3
|
|
Filesystem 1k-blocks Used Available Use% Mounted on
|
|
/dev/sda3 8690864 8553540 137324 98% /
|
|
|
|
-------------------------------
|
|
|
|
=item I<dirname>
|
|
|
|
dirname [FILENAME ...]
|
|
|
|
Strips non-directory suffix from FILENAME
|
|
|
|
Example:
|
|
|
|
$ dirname /tmp/foo
|
|
/tmp
|
|
$ dirname /tmp/foo/
|
|
/tmp
|
|
|
|
-------------------------------
|
|
|
|
=item I<dmesg>
|
|
|
|
dmesg [B<-c>] [B<-n> LEVEL] [B<-s> SIZE]
|
|
|
|
Prints or controls the kernel ring buffer
|
|
|
|
Options:
|
|
|
|
-c Clears the ring buffer's contents after printing
|
|
-n LEVEL Sets console logging level
|
|
-s SIZE Use a buffer of size SIZE
|
|
|
|
-------------------------------
|
|
|
|
=item I<dos2unix>
|
|
|
|
dos2unix [option] [file]
|
|
|
|
Converts a text file to/from dos format to unix format.
|
|
|
|
Options:
|
|
|
|
-u output will be in UNIX format
|
|
-d output will be in DOS format
|
|
|
|
- when no option is given then input format will be automaticaly detected
|
|
|
|
and converted to the oposite format on output
|
|
- when no file is given, then stdin is used as input and stdout as output
|
|
|
|
-------------------------------
|
|
|
|
=item I<dpkg>
|
|
|
|
dpkg [B<-i>|B<-r>|-B<-unpack>|-B<-configure>] my.deb
|
|
|
|
WORK IN PROGRESS, only usefull for debian-installer
|
|
|
|
-------------------------------
|
|
|
|
=item I<dpkg_deb>
|
|
|
|
dpkg_deb [B<-cexX>] file directory
|
|
|
|
Perform actions on debian packages (.debs)
|
|
|
|
Options:
|
|
|
|
-c List contents of filesystem tree (verbose)
|
|
-l List contents of filesystem tree (.list format)
|
|
-e Extract control files to directory
|
|
-x Exctract packages filesystem tree to directory
|
|
-X Verbose extract
|
|
|
|
Example:
|
|
|
|
$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp
|
|
|
|
-------------------------------
|
|
|
|
=item I<du>
|
|
|
|
du [B<-lshmk>] [FILE]...
|
|
|
|
Summarizes disk space used for each FILE and/or directory.
|
|
Disk space is printed in units of 1024 bytes.
|
|
|
|
Options:
|
|
|
|
-l count sizes many times if hard linked
|
|
-s display only a total for each argument
|
|
-h print sizes in human readable format (e.g., 1K 243M 2G )
|
|
-m print sizes in megabytes
|
|
-k print sizes in kilobytes(default)
|
|
|
|
Example:
|
|
|
|
$ du
|
|
16 ./CVS
|
|
12 ./kernel-patches/CVS
|
|
80 ./kernel-patches
|
|
12 ./tests/CVS
|
|
36 ./tests
|
|
12 ./scripts/CVS
|
|
16 ./scripts
|
|
12 ./docs/CVS
|
|
104 ./docs
|
|
2417 .
|
|
|
|
-------------------------------
|
|
|
|
=item I<dumpkmap>
|
|
|
|
dumpkmap > keymap
|
|
|
|
Prints out a binary keyboard translation table to standard output.
|
|
|
|
Example:
|
|
|
|
$ dumpkmap > keymap
|
|
|
|
-------------------------------
|
|
|
|
=item I<dutmp>
|
|
|
|
dutmp [FILE]
|
|
|
|
Dump utmp file format (pipe delimited) from FILE
|
|
or stdin to stdout. (i.e. 'dutmp /var/run/utmp')
|
|
|
|
Example:
|
|
|
|
$ dutmp /var/run/utmp
|
|
8|7||si|||0|0|0|955637625|760097|0
|
|
2|0|~|~~|reboot||0|0|0|955637625|782235|0
|
|
1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
|
|
8|125||l4|||0|0|0|955637629|998367|0
|
|
6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
|
|
6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
|
|
7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
|
|
|
|
-------------------------------
|
|
|
|
=item I<echo>
|
|
|
|
echo [B<-neE>] [ARG ...]
|
|
|
|
Prints the specified ARGs to stdout
|
|
|
|
Options:
|
|
|
|
-n suppress trailing newline
|
|
-e interpret backslash-escaped characters (i.e. \t=tab etc)
|
|
-E disable interpretation of backslash-escaped characters
|
|
|
|
Example:
|
|
|
|
$ echo Erik is cool
|
|
Erik is cool
|
|
$ echo -e Erik
|
|
is
|
|
cool
|
|
Erik
|
|
is
|
|
cool
|
|
$ echo Erik
|
|
is
|
|
cool
|
|
Erik
|
|
is
|
|
cool
|
|
|
|
-------------------------------
|
|
|
|
=item I<expr>
|
|
|
|
expr EXPRESSION
|
|
|
|
Prints the value of EXPRESSION to standard output.
|
|
|
|
EXPRESSION may be:
|
|
|
|
ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2
|
|
ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0
|
|
ARG1 < ARG2 ARG1 is less than ARG2
|
|
ARG1 <= ARG2 ARG1 is less than or equal to ARG2
|
|
ARG1 = ARG2 ARG1 is equal to ARG2
|
|
ARG1 != ARG2 ARG1 is unequal to ARG2
|
|
ARG1 >= ARG2 ARG1 is greater than or equal to ARG2
|
|
ARG1 > ARG2 ARG1 is greater than ARG2
|
|
ARG1 + ARG2 arithmetic sum of ARG1 and ARG2
|
|
ARG1 - ARG2 arithmetic difference of ARG1 and ARG2
|
|
ARG1 * ARG2 arithmetic product of ARG1 and ARG2
|
|
ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2
|
|
ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2
|
|
STRING : REGEXP anchored pattern match of REGEXP in STRING
|
|
match STRING REGEXP same as STRING : REGEXP
|
|
substr STRING POS LENGTH substring of STRING, POS counted from 1
|
|
index STRING CHARS index in STRING where any CHARS is found,
|
|
or 0
|
|
length STRING length of STRING
|
|
quote TOKEN interpret TOKEN as a string, even if
|
|
it is a keyword like `match' or an
|
|
operator like `/'
|
|
( EXPRESSION ) value of EXPRESSION
|
|
|
|
Beware that many operators need to be escaped or quoted for shells.
|
|
Comparisons are arithmetic if both ARGs are numbers, else
|
|
lexicographical. Pattern matches return the string matched between
|
|
\( and \) or null; if \( and \) are not used, they return the number
|
|
of characters matched or 0.
|
|
|
|
-------------------------------
|
|
|
|
=item I<false>
|
|
|
|
false
|
|
|
|
Return an exit code of FALSE (1).
|
|
|
|
Example:
|
|
|
|
$ false
|
|
$ echo $?
|
|
1
|
|
|
|
-------------------------------
|
|
|
|
=item I<fbset>
|
|
|
|
fbset [options] [mode]
|
|
|
|
Show and modify frame buffer settings
|
|
|
|
Example:
|
|
|
|
$ fbset
|
|
mode 1024x768-76
|
|
geometry 1024 768 1024 768 16
|
|
timings 12714 128 32 16 4 128 4
|
|
accel false
|
|
rgba 5/11,6/5,5/0,0/0
|
|
endmode
|
|
|
|
-------------------------------
|
|
|
|
=item I<fdflush>
|
|
|
|
fdflush DEVICE
|
|
|
|
Forces floppy disk drive to detect disk change
|
|
|
|
-------------------------------
|
|
|
|
=item I<find>
|
|
|
|
find [PATH...] [EXPRESSION]
|
|
|
|
Search for files in a directory hierarchy. The default PATH is
|
|
the current directory; default EXPRESSION is 'B<-print>'
|
|
|
|
EXPRESSION may consist of:
|
|
|
|
-follow Dereference symbolic links.
|
|
-name PATTERN File name (leading directories removed) matches PATTERN.
|
|
-type X Filetype matches X (where X is one of: f,d,l,b,c,...)
|
|
-perm PERMS Permissions match any of (+NNN); all of (-NNN);
|
|
or exactly (NNN)
|
|
-mtime TIME Modified time is greater than (+N); less than (-N);
|
|
or exactly (N) days
|
|
|
|
Example:
|
|
|
|
$ find / -name /etc/passwd
|
|
/etc/passwd
|
|
|
|
-------------------------------
|
|
|
|
=item I<free>
|
|
|
|
free
|
|
|
|
Displays the amount of free and used system memory
|
|
|
|
Example:
|
|
|
|
$ free
|
|
total used free shared buffers
|
|
Mem: 257628 248724 8904 59644 93124
|
|
Swap: 128516 8404 120112
|
|
Total: 386144 257128 129016
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<freeramdisk>
|
|
|
|
freeramdisk DEVICE
|
|
|
|
Frees all memory used by the specified ramdisk.
|
|
|
|
Example:
|
|
|
|
$ freeramdisk /dev/ram2
|
|
|
|
-------------------------------
|
|
|
|
=item I<fsck_minix>
|
|
|
|
fsck_minix [B<-larvsmf>] /dev/name
|
|
|
|
Performs a consistency check for MINIX filesystems.
|
|
|
|
Options:
|
|
|
|
-l Lists all filenames
|
|
-r Perform interactive repairs
|
|
-a Perform automatic repairs
|
|
-v verbose
|
|
-s Outputs super-block information
|
|
-m Activates MINIX-like mode not cleared warnings
|
|
-f Force file system check.
|
|
|
|
-------------------------------
|
|
|
|
=item I<getopt>
|
|
|
|
getopt [OPTIONS]...
|
|
|
|
Parse command options
|
|
|
|
-a, --alternative Allow long options starting with single -
|
|
-l, --longoptions=longopts Long options to be recognized
|
|
-n, --name=progname The name under which errors are reported
|
|
-o, --options=optstring Short options to be recognized
|
|
-q, --quiet Disable error reporting by getopt(3)
|
|
-Q, --quiet-output No normal output
|
|
-s, --shell=shell Set shell quoting conventions
|
|
-T, --test Test for getopt(1) version
|
|
-u, --unqote Do not quote the output
|
|
|
|
Example:
|
|
|
|
$ cat getopt.test
|
|
GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \
|
|
-n 'example.busybox' -- $@`
|
|
if [ $? != 0 ] ; then exit 1 ; fi
|
|
eval set -- $GETOPT
|
|
while true ; do
|
|
case $1 in
|
|
-a|--a-long) echo Option a ; shift ;;
|
|
-b|--b-long) echo Option b, argument `$2' ; shift 2 ;;
|
|
-c|--c-long)
|
|
case $2 in
|
|
\) echo Option c, no argument; shift 2 ;;
|
|
*) echo Option c, argument `$2' ; shift 2 ;;
|
|
esac ;;
|
|
--) shift ; break ;;
|
|
*) echo Internal error! ; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
-------------------------------
|
|
|
|
=item I<grep>
|
|
|
|
grep [B<-ihHnqvs>] pattern [files...]
|
|
|
|
Search for PATTERN in each FILE or standard input.
|
|
|
|
Options:
|
|
|
|
-H prefix output lines with filename where match was found
|
|
-h suppress the prefixing filename on output
|
|
-i ignore case distinctions
|
|
-n print line number with output lines
|
|
-q be quiet. Returns 0 if result was found, 1 otherwise
|
|
-v select non-matching lines
|
|
-s suppress file open/read error messages
|
|
|
|
Example:
|
|
|
|
$ grep root /etc/passwd
|
|
root:x:0:0:root:/root:/bin/bash
|
|
$ grep ^[rR]oo. /etc/passwd
|
|
root:x:0:0:root:/root:/bin/bash
|
|
|
|
-------------------------------
|
|
|
|
=item I<gunzip>
|
|
|
|
gunzip [OPTION]... FILE
|
|
|
|
Uncompress FILE (or standard input if FILE is '-').
|
|
|
|
Options:
|
|
|
|
-c Write output to standard output
|
|
-t Test compressed file integrity
|
|
|
|
Example:
|
|
|
|
$ ls -la /tmp/BusyBox*
|
|
-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
|
|
$ gunzip /tmp/BusyBox-0.43.tar.gz
|
|
$ ls -la /tmp/BusyBox*
|
|
-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
|
|
|
|
-------------------------------
|
|
|
|
=item I<gzip>
|
|
|
|
gzip [OPTION]... FILE
|
|
|
|
Compress FILE with maximum compression.
|
|
When FILE is '-', reads standard input. Implies B<-c>.
|
|
|
|
Options:
|
|
|
|
-c Write output to standard output instead of FILE.gz
|
|
-d decompress
|
|
|
|
Example:
|
|
|
|
$ ls -la /tmp/BusyBox*
|
|
-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
|
|
$ gzip /tmp/BusyBox-0.43.tar
|
|
$ ls -la /tmp/BusyBox*
|
|
-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
|
|
|
|
-------------------------------
|
|
|
|
=item I<halt>
|
|
|
|
halt
|
|
|
|
Halt the system.
|
|
|
|
-------------------------------
|
|
|
|
=item I<head>
|
|
|
|
head [OPTION] [FILE]...
|
|
|
|
Print first 10 lines of each FILE to standard output.
|
|
With more than one FILE, precede each with a header giving the
|
|
file name. With no FILE, or when FILE is -, read standard input.
|
|
|
|
Options:
|
|
|
|
-n NUM Print first NUM lines instead of first 10
|
|
|
|
Example:
|
|
|
|
$ head -n 2 /etc/passwd
|
|
root:x:0:0:root:/root:/bin/bash
|
|
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
|
|
|
-------------------------------
|
|
|
|
=item I<hostid>
|
|
|
|
hostid
|
|
|
|
Print out a unique 32-bit identifier for the machine.
|
|
|
|
-------------------------------
|
|
|
|
=item I<hostname>
|
|
|
|
hostname [OPTION] {hostname | B<-F> file}
|
|
|
|
Get or set the hostname or DNS domain name. If a hostname is given
|
|
(or a file with the B<-F> parameter), the host name will be set.
|
|
|
|
Options:
|
|
|
|
-s Short
|
|
-i Addresses for the hostname
|
|
-d DNS domain name
|
|
-F, --file FILE Use the contents of FILE to specify the hostname
|
|
|
|
Example:
|
|
|
|
$ hostname
|
|
slag
|
|
|
|
-------------------------------
|
|
|
|
=item I<id>
|
|
|
|
id [OPTIONS]... [USERNAME]
|
|
|
|
Print information for USERNAME or the current user
|
|
|
|
Options:
|
|
|
|
-g prints only the group ID
|
|
-u prints only the user ID
|
|
-n print a name instead of a number (with for -ug)
|
|
-r prints the real user ID instead of the effective ID (with -ug)
|
|
|
|
Example:
|
|
|
|
$ id
|
|
uid=1000(andersen) gid=1000(andersen)
|
|
|
|
-------------------------------
|
|
|
|
=item I<ifconfig>
|
|
|
|
ifconfig [B<-a>] <interface> [<address>]
|
|
|
|
configure a network interface
|
|
|
|
Options:
|
|
|
|
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
|
|
[netmask <address>] [dstaddr <address>]
|
|
[outfill <NN>] [keepalive <NN>]
|
|
[hw ether <address>] [metric <NN>] [mtu <NN>]
|
|
[[-]trailers] [[-]arp] [[-]allmulti]
|
|
[multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]
|
|
[mem_start <NN>] [io_addr <NN>] [irq <NN>]
|
|
[up|down] ...
|
|
|
|
-------------------------------
|
|
|
|
=item I<init>
|
|
|
|
init
|
|
|
|
Init is the parent of all processes.
|
|
|
|
This version of init is designed to be run only by the kernel.
|
|
|
|
BusyBox init doesn't support multiple runlevels. The runlevels field of
|
|
the /etc/inittab file is completely ignored by BusyBox init. If you want
|
|
runlevels, use sysvinit.
|
|
|
|
BusyBox init works just fine without an inittab. If no inittab is found,
|
|
it has the following default behavior:
|
|
|
|
::sysinit:/etc/init.d/rcS
|
|
::askfirst:/bin/sh
|
|
|
|
if it detects that /dev/console is _not_ a serial console, it will also run:
|
|
|
|
tty2::askfirst:/bin/sh
|
|
|
|
If you choose to use an /etc/inittab file, the inittab entry format is as follows:
|
|
|
|
<id>:<runlevels>:<action>:<process>
|
|
|
|
<id>:
|
|
|
|
WARNING: This field has a non-traditional meaning for BusyBox init!
|
|
The id field is used by BusyBox init to specify the controlling tty for
|
|
the specified process to run on. The contents of this field are
|
|
appended to /dev/ and used as-is. There is no need for this field to
|
|
be unique, although if it isn't you may have strange results. If this
|
|
field is left blank, the controlling tty is set to the console. Also
|
|
note that if BusyBox detects that a serial console is in use, then only
|
|
entries whose controlling tty is either the serial console or /dev/null
|
|
will be run. BusyBox init does nothing with utmp. We don't need no
|
|
stinkin' utmp.
|
|
|
|
<runlevels>:
|
|
|
|
The runlevels field is completely ignored.
|
|
|
|
<action>:
|
|
|
|
Valid actions include: sysinit, respawn, askfirst, wait,
|
|
once, and ctrlaltdel.
|
|
|
|
The available actions can be classified into two groups: actions
|
|
that are run only once, and actions that are re-run when the specified
|
|
process exits.
|
|
|
|
Run only-once actions:
|
|
|
|
'sysinit' is the first item run on boot. init waits until all
|
|
sysinit actions are completed before continuing. Following the
|
|
completion of all sysinit actions, all 'wait' actions are run.
|
|
'wait' actions, like 'sysinit' actions, cause init to wait until
|
|
the specified task completes. 'once' actions are asyncronous,
|
|
therefore, init does not wait for them to complete. 'ctrlaltdel'
|
|
actions are run immediately before init causes the system to reboot
|
|
(unmounting filesystems with a 'ctrlaltdel' action is a very good
|
|
idea).
|
|
|
|
Run repeatedly actions:
|
|
|
|
'respawn' actions are run after the 'once' actions. When a process
|
|
started with a 'respawn' action exits, init automatically restarts
|
|
it. Unlike sysvinit, BusyBox init does not stop processes from
|
|
respawning out of control. The 'askfirst' actions acts just like
|
|
respawn, except that before running the specified process it
|
|
displays the line Please press Enter to activate this console.
|
|
and then waits for the user to press enter before starting the
|
|
specified process.
|
|
|
|
Unrecognized actions (like initdefault) will cause init to emit an
|
|
error message, and then go along with its business. All actions are
|
|
run in the reverse order from how they appear in /etc/inittab.
|
|
|
|
<process>:
|
|
|
|
Specifies the process to be executed and it's command line.
|
|
|
|
Example /etc/inittab file:
|
|
|
|
::sysinit:/etc/init.d/rcS
|
|
|
|
::askfirst:-/bin/sh
|
|
tty2::askfirst:-/bin/sh
|
|
tty3::askfirst:-/bin/sh
|
|
tty4::askfirst:-/bin/sh
|
|
|
|
tty4::respawn:/sbin/getty 38400 tty5
|
|
tty5::respawn:/sbin/getty 38400 tty6
|
|
|
|
|
|
|
|
::ctrlaltdel:/bin/umount -a -r
|
|
::ctrlaltdel:/sbin/swapoff -a
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<insmod>
|
|
|
|
insmod [OPTION]... MODULE [symbol=value]...
|
|
|
|
Loads the specified kernel modules into the kernel.
|
|
|
|
Options:
|
|
|
|
-f Force module to load into the wrong kernel version.
|
|
-k Make module autoclean-able.
|
|
-v verbose output
|
|
-L Lock to prevent simultaneous loads of a module
|
|
-x do not export externs
|
|
|
|
-------------------------------
|
|
|
|
=item I<kill>
|
|
|
|
kill [B<-signal>] process-id [process-id ...]
|
|
|
|
Send a signal (default is SIGTERM) to the specified process(es).
|
|
|
|
Options:
|
|
|
|
-l List all signal names and numbers.
|
|
|
|
Example:
|
|
|
|
$ ps | grep apache
|
|
252 root root S [apache]
|
|
263 www-data www-data S [apache]
|
|
264 www-data www-data S [apache]
|
|
265 www-data www-data S [apache]
|
|
266 www-data www-data S [apache]
|
|
267 www-data www-data S [apache]
|
|
$ kill 252
|
|
|
|
-------------------------------
|
|
|
|
=item I<killall>
|
|
|
|
killall [B<-signal>] process-name [process-name ...]
|
|
|
|
Send a signal (default is SIGTERM) to the specified process(es).
|
|
|
|
Options:
|
|
|
|
-l List all signal names and numbers.
|
|
|
|
Example:
|
|
|
|
$ killall apache
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<klogd>
|
|
|
|
klogd B<-n>
|
|
|
|
Kernel logger.
|
|
Options:
|
|
|
|
-n Run as a foreground process.
|
|
|
|
-------------------------------
|
|
|
|
=item I<length>
|
|
|
|
length STRING
|
|
|
|
Prints out the length of the specified STRING.
|
|
|
|
Example:
|
|
|
|
$ length Hello
|
|
5
|
|
|
|
-------------------------------
|
|
|
|
=item I<ln>
|
|
|
|
ln [OPTION] TARGET... LINK_NAME|DIRECTORY
|
|
|
|
Create a link named LINK_NAME or DIRECTORY to the specified TARGET
|
|
|
|
You may use '--' to indicate that all following arguments are non-options.
|
|
|
|
Options:
|
|
|
|
-s make symbolic links instead of hard links
|
|
-f remove existing destination files
|
|
-n no dereference symlinks - treat like normal file
|
|
|
|
Example:
|
|
|
|
$ ln -s BusyBox /tmp/ls
|
|
$ ls -l /tmp/ls
|
|
lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<loadacm>
|
|
|
|
loadacm < mapfile
|
|
|
|
Loads an acm from standard input.
|
|
|
|
Example:
|
|
|
|
$ loadacm < /etc/i18n/acmname
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<loadfont>
|
|
|
|
loadfont < font
|
|
|
|
Loads a console font from standard input.
|
|
|
|
Example:
|
|
|
|
$ loadfont < /etc/i18n/fontname
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<loadkmap>
|
|
|
|
loadkmap < keymap
|
|
|
|
Loads a binary keyboard translation table from standard input.
|
|
|
|
Example:
|
|
|
|
$ loadkmap < /etc/i18n/lang-keymap
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<logger>
|
|
|
|
logger [OPTION]... [MESSAGE]
|
|
|
|
Write MESSAGE to the system log. If MESSAGE is omitted, log stdin.
|
|
|
|
Options:
|
|
|
|
-s Log to stderr as well as the system log.
|
|
-t Log using the specified tag (defaults to user name).
|
|
-p Enter the message with the specified priority.
|
|
This may be numerical or a ``facility.level'' pair.
|
|
|
|
Example:
|
|
|
|
$ logger hello
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<logname>
|
|
|
|
logname
|
|
|
|
Print the name of the current user.
|
|
|
|
Example:
|
|
|
|
$ logname
|
|
root
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<logread>
|
|
|
|
logread
|
|
|
|
Shows the messages from syslogd (using circular buffer).
|
|
|
|
-------------------------------
|
|
|
|
=item I<ls>
|
|
|
|
ls [B<-1AacCdeFilnpLRrSsTtuvwxXhk>] [filenames...]
|
|
|
|
List directory contents
|
|
|
|
Options:
|
|
|
|
-1 list files in a single column
|
|
-A do not list implied . and ..
|
|
-a do not hide entries starting with .
|
|
-C list entries by columns
|
|
-c with -l: show ctime
|
|
-d list directory entries instead of contents
|
|
-e list both full date and full time
|
|
-F append indicator (one of */=@|) to entries
|
|
-i list the i-node for each file
|
|
-l use a long listing format
|
|
-n list numeric UIDs and GIDs instead of names
|
|
-p append indicator (one of /=@|) to entries
|
|
-L list entries pointed to by symbolic links
|
|
-R list subdirectories recursively
|
|
-r sort the listing in reverse order
|
|
-S sort the listing by file size
|
|
-s list the size of each file, in blocks
|
|
-T NUM assume Tabstop every NUM columns
|
|
-t with -l: show modification time
|
|
-u with -l: show access time
|
|
-v sort the listing by version
|
|
-w NUM assume the terminal is NUM columns wide
|
|
-x list entries by lines instead of by columns
|
|
-X sort the listing by extension
|
|
-h print sizes in human readable format (e.g., 1K 243M 2G )
|
|
-k print sizes in kilobytes(default)
|
|
|
|
-------------------------------
|
|
|
|
=item I<lsmod>
|
|
|
|
lsmod
|
|
|
|
List the currently loaded kernel modules.
|
|
|
|
-------------------------------
|
|
|
|
=item I<makedevs>
|
|
|
|
makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
|
|
|
|
Creates a range of block or character special files
|
|
|
|
TYPEs include:
|
|
|
|
b: Make a block (buffered) device.
|
|
c or u: Make a character (un-buffered) device.
|
|
p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
|
|
|
|
FIRST specifies the number appended to NAME to create the first device.
|
|
LAST specifies the number of the last item that should be created.
|
|
If 's' is the last argument, the base device is created as well.
|
|
|
|
For example:
|
|
|
|
makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63
|
|
makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8
|
|
|
|
Example:
|
|
|
|
$ makedevs /dev/ttyS c 4 66 2 63
|
|
[creates ttyS2-ttyS63]
|
|
$ makedevs /dev/hda b 3 0 0 8 s
|
|
[creates hda,hda1-hda8]
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<md5sum>
|
|
|
|
md5sum [OPTION] [FILE]...
|
|
or: md5sum [OPTION] B<-c> [FILE]
|
|
|
|
Print or check MD5 checksums.
|
|
|
|
Options:
|
|
With no FILE, or when FILE is -, read standard input.
|
|
|
|
-b read files in binary mode
|
|
-c check MD5 sums against given list
|
|
-t read files in text mode (default)
|
|
-g read a string
|
|
|
|
The following two options are useful only when verifying checksums:
|
|
|
|
-s don't output anything, status code shows success
|
|
-w warn about improperly formated MD5 checksum lines
|
|
|
|
Example:
|
|
|
|
$ md5sum < busybox
|
|
6fd11e98b98a58f64ff3398d7b324003
|
|
$ md5sum busybox
|
|
6fd11e98b98a58f64ff3398d7b324003 busybox
|
|
$ md5sum -c -
|
|
6fd11e98b98a58f64ff3398d7b324003 busybox
|
|
busybox: OK
|
|
^D
|
|
|
|
-------------------------------
|
|
|
|
=item I<mkdir>
|
|
|
|
mkdir [OPTION] DIRECTORY...
|
|
|
|
Create the DIRECTORY(ies), if they do not already exist
|
|
|
|
Options:
|
|
|
|
-m set permission mode (as in chmod), not rwxrwxrwx - umask
|
|
-p no error if existing, make parent directories as needed
|
|
|
|
Example:
|
|
|
|
$ mkdir /tmp/foo
|
|
$ mkdir /tmp/foo
|
|
/tmp/foo: File exists
|
|
$ mkdir /tmp/foo/bar/baz
|
|
/tmp/foo/bar/baz: No such file or directory
|
|
$ mkdir -p /tmp/foo/bar/baz
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<mkfifo>
|
|
|
|
mkfifo [OPTIONS] name
|
|
|
|
Creates a named pipe (identical to 'mknod name p')
|
|
|
|
Options:
|
|
|
|
-m create the pipe using the specified mode (default a=rw)
|
|
|
|
-------------------------------
|
|
|
|
=item I<mkfs_minix>
|
|
|
|
mkfs_minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
|
|
|
|
Make a MINIX filesystem.
|
|
|
|
Options:
|
|
|
|
-c Check the device for bad blocks
|
|
-n [14|30] Specify the maximum length of filenames
|
|
-i INODES Specify the number of inodes for the filesystem
|
|
-l FILENAME Read the bad blocks list from FILENAME
|
|
-v Make a Minix version 2 filesystem
|
|
|
|
-------------------------------
|
|
|
|
=item I<mknod>
|
|
|
|
mknod [OPTIONS] NAME TYPE MAJOR MINOR
|
|
|
|
Create a special file (block, character, or pipe).
|
|
|
|
Options:
|
|
|
|
-m create the special file using the specified mode (default a=rw)
|
|
|
|
TYPEs include:
|
|
|
|
b: Make a block (buffered) device.
|
|
c or u: Make a character (un-buffered) device.
|
|
p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
|
|
|
|
Example:
|
|
|
|
$ mknod /dev/fd0 b 2 0
|
|
$ mknod -m 644 /tmp/pipe p
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<mkswap>
|
|
|
|
mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
|
|
|
|
Prepare a disk partition to be used as a swap partition.
|
|
|
|
Options:
|
|
|
|
-c Check for read-ability.
|
|
-v0 Make version 0 swap [max 128 Megs].
|
|
-v1 Make version 1 swap [big!] (default for kernels >
|
|
2.1.117).
|
|
block-count Number of block to use (default is entire partition).
|
|
|
|
-------------------------------
|
|
|
|
=item I<mktemp>
|
|
|
|
mktemp [B<-q>] TEMPLATE
|
|
|
|
Creates a temporary file with its name based on TEMPLATE.
|
|
TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).
|
|
|
|
Example:
|
|
|
|
$ mktemp /tmp/temp.XXXXXX
|
|
/tmp/temp.mWiLjM
|
|
$ ls -la /tmp/temp.mWiLjM
|
|
-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<more>
|
|
|
|
more [FILE ...]
|
|
|
|
More is a filter for viewing FILE one screenful at a time.
|
|
|
|
Example:
|
|
|
|
$ dmesg | more
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<mount>
|
|
|
|
mount [flags] device directory [B<-o> options,more-options]
|
|
|
|
Mount a filesystem
|
|
|
|
Flags:
|
|
|
|
-a: Mount all filesystems in fstab.
|
|
-f: Fake Add entry to mount table but don't mount it.
|
|
-n: Don't write a mount table entry.
|
|
-o option: One of many filesystem options, listed below.
|
|
-r: Mount the filesystem read-only.
|
|
-t fs-type: Specify the filesystem type.
|
|
-w: Mount for reading and writing (default).
|
|
|
|
Options for use with the B<-o> flag:
|
|
|
|
async/sync: Writes are asynchronous / synchronous.
|
|
atime/noatime: Enable / disable updates to inode access times.
|
|
dev/nodev: Allow use of special device files / disallow them.
|
|
exec/noexec: Allow use of executable files / disallow them.
|
|
loop: Mounts a file via loop device.
|
|
suid/nosuid: Allow set-user-id-root programs / disallow them.
|
|
remount: Re-mount a mounted filesystem, changing its flags.
|
|
ro/rw: Mount for read-only / read-write.
|
|
|
|
There are EVEN MORE flags that are specific to each filesystem.
|
|
You'll have to see the written documentation for those.
|
|
|
|
Example:
|
|
|
|
$ mount
|
|
/dev/hda3 on / type minix (rw)
|
|
proc on /proc type proc (rw)
|
|
devpts on /dev/pts type devpts (rw)
|
|
$ mount /dev/fd0 /mnt -t msdos -o ro
|
|
$ mount /tmp/diskimage /opt -t ext2 -o loop
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<mt>
|
|
|
|
mt [B<-f> device] opcode value
|
|
|
|
Control magnetic tape drive operation
|
|
|
|
Available Opcodes:
|
|
|
|
bsf bsfm bsr bss datacompression drvbuffer eof eom erase
|
|
fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2
|
|
ras3 reset retension rew rewoffline seek setblk setdensity
|
|
setpart tell unload unlock weof wset
|
|
|
|
-------------------------------
|
|
|
|
=item I<mv>
|
|
|
|
mv SOURCE DEST
|
|
or: mv SOURCE... DIRECTORY
|
|
|
|
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
|
|
|
|
Example:
|
|
|
|
$ mv /tmp/foo /bin/bar
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<nc>
|
|
|
|
nc [IP] [port]
|
|
|
|
Netcat opens a pipe to IP:port
|
|
|
|
Example:
|
|
|
|
$ nc foobar.somedomain.com 25
|
|
220 foobar ESMTP Exim 3.12 help
|
|
214-Commands supported:
|
|
214- HELO EHLO MAIL RCPT DATA AUTH
|
|
214 NOOP QUIT RSET HELP
|
|
quit
|
|
221 foobar closing connection
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<nslookup>
|
|
|
|
nslookup [HOST]
|
|
|
|
Queries the nameserver for the IP address of the given HOST
|
|
|
|
Example:
|
|
|
|
$ nslookup localhost
|
|
Server: default
|
|
Address: default
|
|
|
|
Name: debian
|
|
Address: 127.0.0.1
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<ping>
|
|
|
|
ping [OPTION]... host
|
|
|
|
Send ICMP ECHO_REQUEST packets to network hosts.
|
|
|
|
Options:
|
|
|
|
-c COUNT Send only COUNT pings.
|
|
-s SIZE Send SIZE data bytes in packets (default=56).
|
|
-q Quiet mode, only displays output at start
|
|
and when finished.
|
|
|
|
Example:
|
|
|
|
$ ping localhost
|
|
PING slag (127.0.0.1): 56 data bytes
|
|
64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
|
|
|
|
--- debian ping statistics ---
|
|
1 packets transmitted, 1 packets received, 0% packet loss
|
|
round-trip min/avg/max = 20.1/20.1/20.1 ms
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<pivot_root>
|
|
|
|
pivot_root new_root put_old
|
|
|
|
Move the current root file system to put_old and make new_root
|
|
the new root file system.
|
|
|
|
-------------------------------
|
|
|
|
=item I<poweroff>
|
|
|
|
poweroff
|
|
|
|
Halt the system and request that the kernel shut off the power.
|
|
|
|
-------------------------------
|
|
|
|
=item I<printf>
|
|
|
|
printf FORMAT [ARGUMENT...]
|
|
|
|
Formats and prints ARGUMENT(s) according to FORMAT,
|
|
Where FORMAT controls the output exactly as in C printf.
|
|
|
|
Example:
|
|
|
|
$ printf Val=%d
|
|
5
|
|
Val=5
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<ps>
|
|
|
|
ps
|
|
|
|
Report process status
|
|
|
|
This version of ps accepts no options.
|
|
|
|
Example:
|
|
|
|
$ ps
|
|
PID Uid Gid State Command
|
|
1 root root S init
|
|
2 root root S [kflushd]
|
|
3 root root S [kupdate]
|
|
4 root root S [kpiod]
|
|
5 root root S [kswapd]
|
|
742 andersen andersen S [bash]
|
|
743 andersen andersen S -bash
|
|
745 root root S [getty]
|
|
2990 andersen andersen R ps
|
|
|
|
-------------------------------
|
|
|
|
=item I<pwd>
|
|
|
|
pwd
|
|
|
|
Print the full filename of the current working directory.
|
|
|
|
Example:
|
|
|
|
$ pwd
|
|
/root
|
|
|
|
-------------------------------
|
|
|
|
=item I<rdate>
|
|
|
|
rdate [OPTION] HOST
|
|
|
|
Get and possibly set the system date and time from a remote HOST.
|
|
|
|
Options:
|
|
|
|
-s Set the system date and time (default).
|
|
-p Print the date and time.
|
|
|
|
-------------------------------
|
|
|
|
=item I<readlink>
|
|
|
|
readlink
|
|
|
|
Read a symbolic link.
|
|
|
|
-------------------------------
|
|
|
|
=item I<reboot>
|
|
|
|
reboot
|
|
|
|
Reboot the system.
|
|
|
|
-------------------------------
|
|
|
|
=item I<renice>
|
|
|
|
renice priority pid [pid ...]
|
|
|
|
Changes priority of running processes. Allowed priorities range
|
|
from 20 (the process runs only when nothing else is running) to 0
|
|
(default priority) to B<-20> (almost nothing else ever gets to run).
|
|
|
|
-------------------------------
|
|
|
|
=item I<reset>
|
|
|
|
reset
|
|
|
|
Resets the screen.
|
|
|
|
-------------------------------
|
|
|
|
=item I<rm>
|
|
|
|
rm [OPTION]... FILE...
|
|
|
|
Remove (unlink) the FILE(s). You may use '--' to
|
|
indicate that all following arguments are non-options.
|
|
|
|
Options:
|
|
|
|
-i always prompt before removing each destinations
|
|
-f remove existing destinations, never prompt
|
|
-r or -R remove the contents of directories recursively
|
|
|
|
Example:
|
|
|
|
$ rm -rf /tmp/foo
|
|
|
|
-------------------------------
|
|
|
|
=item I<rmdir>
|
|
|
|
rmdir [OPTION]... DIRECTORY...
|
|
|
|
Remove the DIRECTORY(ies), if they are empty.
|
|
|
|
Example:
|
|
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<rmmod>
|
|
|
|
rmmod [OPTION]... [MODULE]...
|
|
|
|
Unloads the specified kernel modules from the kernel.
|
|
|
|
Options:
|
|
|
|
-a Try to remove all unused kernel modules.
|
|
|
|
Example:
|
|
|
|
$ rmmod tulip
|
|
|
|
-------------------------------
|
|
|
|
=item I<route>
|
|
|
|
route [{add|del|flush}]
|
|
|
|
Edit the kernel's routing tables
|
|
|
|
-------------------------------
|
|
|
|
=item I<rpmunpack>
|
|
|
|
rpmunpack < package.rpm | gunzip | cpio B<-idmuv>
|
|
|
|
Extracts an rpm archive.
|
|
|
|
-------------------------------
|
|
|
|
=item I<sed>
|
|
|
|
sed [B<-Vhnef>] pattern [files...]
|
|
|
|
Options:
|
|
|
|
-n suppress automatic printing of pattern space
|
|
-e script add the script to the commands to be executed
|
|
-f scriptfile add the contents of script-file to the commands to be executed
|
|
-h display this help message
|
|
|
|
If no B<-e> or B<-f> is given, the first non-option argument is taken as the
|
|
sed script to interpret. All remaining arguments are names of input
|
|
files; if no input files are specified, then the standard input is read.
|
|
|
|
Example:
|
|
|
|
$ echo foo | sed -e 's/f[a-zA-Z]o/bar/g'
|
|
bar
|
|
|
|
-------------------------------
|
|
|
|
=item I<setkeycodes>
|
|
|
|
setkeycodes SCANCODE KEYCODE ...
|
|
|
|
Set entries into the kernel's scancode-to-keycode map,
|
|
allowing unusual keyboards to generate usable keycodes.
|
|
|
|
SCANCODE may be either xx or e0xx (hexadecimal),
|
|
and KEYCODE is given in decimal
|
|
|
|
Example:
|
|
|
|
$ setkeycodes e030 127
|
|
|
|
-------------------------------
|
|
|
|
=item I<sh>
|
|
|
|
sh [FILE]...
|
|
or: sh B<-c> command [args]...
|
|
|
|
lash: The BusyBox LAme SHell (command interpreter)
|
|
|
|
This command does not yet have proper documentation.
|
|
|
|
Use lash just as you would use any other shell. It properly handles pipes,
|
|
redirects, job control, can be used as the shell for scripts, and has a
|
|
sufficient set of builtins to do what is needed. It does not (yet) support
|
|
Bourne Shell syntax. If you need things like if-then-else, while, and such
|
|
use ash or bash. If you just need a very simple and extremely small shell,
|
|
this will do the job.
|
|
|
|
-------------------------------
|
|
|
|
=item I<sleep>
|
|
|
|
sleep N
|
|
|
|
Pause for N seconds.
|
|
|
|
Example:
|
|
|
|
$ sleep 2
|
|
[2 second delay results]
|
|
|
|
-------------------------------
|
|
|
|
=item I<sort>
|
|
|
|
sort [B<-n>] [B<-r>] [FILE]...
|
|
|
|
Sorts lines of text in the specified files
|
|
|
|
Example:
|
|
|
|
$ echo -e e
|
|
f
|
|
b
|
|
d
|
|
c
|
|
a | sort
|
|
a
|
|
b
|
|
c
|
|
d
|
|
e
|
|
f
|
|
|
|
-------------------------------
|
|
|
|
=item I<stty>
|
|
|
|
stty [B<-a>|g] [B<-F> device] [SETTING]...
|
|
|
|
Without arguments, prints baud rate, line discipline,
|
|
and deviations from stty sane.
|
|
|
|
Options:
|
|
|
|
-F device open device instead of stdin
|
|
-a print all current settings in human-readable form
|
|
-g print in stty-readable form
|
|
[SETTING] see documentation
|
|
|
|
-------------------------------
|
|
|
|
=item I<swapoff>
|
|
|
|
swapoff [OPTION] [device]
|
|
|
|
Stop swapping virtual memory pages on the given device.
|
|
|
|
Options:
|
|
|
|
-a Stop swapping on all swap devices
|
|
|
|
-------------------------------
|
|
|
|
=item I<swapon>
|
|
|
|
swapon [OPTION] [device]
|
|
|
|
Start swapping virtual memory pages on the given device.
|
|
|
|
Options:
|
|
|
|
-a Start swapping on all swap devices
|
|
|
|
-------------------------------
|
|
|
|
=item I<sync>
|
|
|
|
sync
|
|
|
|
Write all buffered filesystem blocks to disk.
|
|
|
|
-------------------------------
|
|
|
|
=item I<syslogd>
|
|
|
|
syslogd [OPTION]...
|
|
|
|
Linux system and kernel logging utility.
|
|
Note that this version of syslogd ignores /etc/syslog.conf.
|
|
|
|
Options:
|
|
|
|
-m NUM Interval between MARK lines (default=20min, 0=off)
|
|
-n Run as a foreground process
|
|
-O FILE Use an alternate log file (default=/var/log/messages)
|
|
-R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)
|
|
-L Log locally and via network logging (default is network only)
|
|
|
|
Example:
|
|
|
|
$ syslogd -R masterlog:514
|
|
$ syslogd -R 192.168.1.1:601
|
|
|
|
-------------------------------
|
|
|
|
=item I<tail>
|
|
|
|
tail [OPTION]... [FILE]...
|
|
|
|
Print last 10 lines of each FILE to standard output.
|
|
With more than one FILE, precede each with a header giving the
|
|
file name. With no FILE, or when FILE is -, read standard input.
|
|
|
|
Options:
|
|
|
|
-c N[kbm] output the last N bytes
|
|
-n N[kbm] print last N lines instead of last 10
|
|
-f output data as the file grows
|
|
-q never output headers giving file names
|
|
-s SEC wait SEC seconds between reads with -f
|
|
-v always output headers giving file names
|
|
|
|
If the first character of N (bytes or lines) is a '+', output begins with
|
|
the Nth item from the start of each file, otherwise, print the last N items
|
|
in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2).
|
|
|
|
Example:
|
|
|
|
$ tail -n 1 /etc/resolv.conf
|
|
nameserver 10.0.0.1
|
|
|
|
-------------------------------
|
|
|
|
=item I<tar>
|
|
|
|
tar -[cxtvO] [-B<-exclude> File] [B<-X> File][B<-f> tarFile] [FILE(s)] ...
|
|
|
|
Create, extract, or list files from a tar file.
|
|
|
|
Main operation mode:
|
|
|
|
c create
|
|
x extract
|
|
t list
|
|
|
|
File selection:
|
|
|
|
f name of tarfile or - for stdin
|
|
O extract to stdout
|
|
exclude file to exclude
|
|
X file with names to exclude
|
|
|
|
Informative output:
|
|
|
|
v verbosely list files processed
|
|
|
|
Example:
|
|
|
|
$ zcat /tmp/tarball.tar.gz | tar -xf -
|
|
$ tar -cf /tmp/tarball.tar /usr/local
|
|
|
|
-------------------------------
|
|
|
|
=item I<tee>
|
|
|
|
tee [OPTION]... [FILE]...
|
|
|
|
Copy standard input to each FILE, and also to standard output.
|
|
|
|
Options:
|
|
|
|
-a append to the given FILEs, do not overwrite
|
|
|
|
Example:
|
|
|
|
$ echo Hello | tee /tmp/foo
|
|
$ cat /tmp/foo
|
|
Hello
|
|
|
|
-------------------------------
|
|
|
|
=item I<telnet>
|
|
|
|
telnet host [port]
|
|
|
|
Telnet is used to establish interactive communication with another
|
|
computer over a network using the TELNET protocol.
|
|
|
|
-------------------------------
|
|
|
|
=item I<test>
|
|
|
|
test EXPRESSION
|
|
or [ EXPRESSION ]
|
|
|
|
Checks file types and compares values returning an exit
|
|
code determined by the value of EXPRESSION.
|
|
|
|
Example:
|
|
|
|
$ test 1 -eq 2
|
|
$ echo $?
|
|
1
|
|
$ test 1 -eq 1
|
|
$ echo $?
|
|
0
|
|
$ [ -d /etc ]
|
|
$ echo $?
|
|
0
|
|
$ [ -d /junk ]
|
|
$ echo $?
|
|
1
|
|
|
|
-------------------------------
|
|
|
|
=item I<tftp>
|
|
|
|
tftp command SOURCE DEST
|
|
|
|
Transfers a file from/to a tftp server using octet mode.
|
|
|
|
Commands:
|
|
|
|
get Get file from server SOURCE and store to local DEST.
|
|
put Put local file SOURCE to server DEST.
|
|
|
|
When nameing a server, use the syntax server:file.
|
|
|
|
-------------------------------
|
|
|
|
=item I<touch>
|
|
|
|
touch [B<-c>] file [file ...]
|
|
|
|
Update the last-modified date on the given file[s].
|
|
|
|
Options:
|
|
|
|
-c Do not create any files
|
|
|
|
Example:
|
|
|
|
$ ls -l /tmp/foo
|
|
/bin/ls: /tmp/foo: No such file or directory
|
|
$ touch /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<tr>
|
|
|
|
tr [B<-cds>] STRING1 [STRING2]
|
|
|
|
Translate, squeeze, and/or delete characters from
|
|
standard input, writing to standard output.
|
|
|
|
Options:
|
|
|
|
-c take complement of STRING1
|
|
-d delete input characters coded STRING1
|
|
-s squeeze multiple output characters of STRING2 into one character
|
|
|
|
Example:
|
|
|
|
$ echo gdkkn vnqkc | tr [a-y] [b-z]
|
|
hello world
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<true>
|
|
|
|
true
|
|
|
|
Return an exit code of TRUE (0).
|
|
|
|
Example:
|
|
|
|
$ true
|
|
$ echo $?
|
|
0
|
|
|
|
-------------------------------
|
|
|
|
=item I<tty>
|
|
|
|
tty
|
|
|
|
Print the file name of the terminal connected to standard input.
|
|
|
|
Options:
|
|
|
|
-s print nothing, only return an exit status
|
|
|
|
Example:
|
|
|
|
$ tty
|
|
/dev/tty2
|
|
|
|
-------------------------------
|
|
|
|
=item I<umount>
|
|
|
|
umount [flags] filesystem|directory
|
|
|
|
Unmount file systems
|
|
|
|
Flags:
|
|
|
|
-a: Unmount all file systems in /etc/mtab
|
|
-n: Don't erase /etc/mtab entries
|
|
-r: Try to remount devices as read-only if mount is busy
|
|
-f: Force filesystem umount (i.e. unreachable NFS server)
|
|
-l: Do not free loop device (if a loop device has been used)
|
|
|
|
Example:
|
|
|
|
$ umount /dev/hdc1
|
|
|
|
-------------------------------
|
|
|
|
=item I<uname>
|
|
|
|
uname [OPTION]...
|
|
|
|
Print certain system information. With no OPTION, same as B<-s>.
|
|
|
|
Options:
|
|
|
|
-a print all information
|
|
-m the machine (hardware) type
|
|
-n print the machine's network node hostname
|
|
-r print the operating system release
|
|
-s print the operating system name
|
|
-p print the host processor type
|
|
-v print the operating system version
|
|
|
|
Example:
|
|
|
|
$ uname -a
|
|
Linux debian 2.2.15pre13
|
|
|
|
-------------------------------
|
|
|
|
=item I<uniq>
|
|
|
|
uniq [OPTION]... [INPUT [OUTPUT]]
|
|
|
|
Discard all but one of successive identical lines from INPUT
|
|
(or standard input), writing to OUTPUT (or standard output).
|
|
|
|
Options:
|
|
|
|
-c prefix lines by the number of occurrences
|
|
-d only print duplicate lines
|
|
-u only print unique lines
|
|
|
|
Example:
|
|
|
|
$ echo -e a
|
|
a
|
|
b
|
|
c
|
|
c
|
|
a | sort | uniq
|
|
a
|
|
b
|
|
c
|
|
|
|
-------------------------------
|
|
|
|
=item I<unix2dos>
|
|
|
|
unix2dos [option] [file]
|
|
|
|
See 'dos2unix -B<-help>' for help!
|
|
|
|
-------------------------------
|
|
|
|
=item I<update>
|
|
|
|
update [options]
|
|
|
|
Periodically flushes filesystem buffers.
|
|
|
|
Options:
|
|
|
|
-S force use of sync(2) instead of flushing
|
|
-s SECS call sync this often (default 30)
|
|
-f SECS flush some buffers this often (default 5)
|
|
|
|
-------------------------------
|
|
|
|
=item I<uptime>
|
|
|
|
uptime
|
|
|
|
Display the time since the last boot.
|
|
|
|
Example:
|
|
|
|
$ uptime
|
|
1:55pm up 2:30, load average: 0.09, 0.04, 0.00
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<usleep>
|
|
|
|
usleep N
|
|
|
|
Pause for N microseconds.
|
|
|
|
Example:
|
|
|
|
$ usleep 1000000
|
|
[pauses for 1 second]
|
|
|
|
-------------------------------
|
|
|
|
=item I<uudecode>
|
|
|
|
uudecode [FILE]...
|
|
|
|
Uudecode a file that is uuencoded.
|
|
|
|
Options:
|
|
|
|
-o FILE direct output to FILE$ uudecode -o busybox busybox.uu
|
|
$ ls B<-l> busybox
|
|
B<-rwxr>-xr-x 1 ams ams 245264 Jun 7 21:35 busybox
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<uuencode>
|
|
|
|
uuencode [OPTION] [INFILE] REMOTEFILE
|
|
|
|
Uuencode a file.
|
|
|
|
Options:
|
|
|
|
-m use base64 encoding as of RFC1521
|
|
|
|
Example:
|
|
|
|
$ uuencode busybox busybox
|
|
begin 755 busybox
|
|
<encoded file snipped>
|
|
$ uudecode busybox busybox > busybox.uu
|
|
$
|
|
|
|
-------------------------------
|
|
|
|
=item I<watchdog>
|
|
|
|
watchdog DEV
|
|
|
|
Periodically write to watchdog device DEV
|
|
|
|
-------------------------------
|
|
|
|
=item I<wc>
|
|
|
|
wc [OPTION]... [FILE]...
|
|
|
|
Print line, word, and byte counts for each FILE, and a total line if
|
|
more than one FILE is specified. With no FILE, read standard input.
|
|
|
|
Options:
|
|
|
|
-c print the byte counts
|
|
-l print the newline counts
|
|
-L print the length of the longest line
|
|
-w print the word counts
|
|
|
|
Example:
|
|
|
|
$ wc /etc/passwd
|
|
31 46 1365 /etc/passwd
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<wget>
|
|
|
|
wget [B<-c>] [B<-O> file] url
|
|
|
|
wget retrieves files via HTTP
|
|
|
|
Options:
|
|
|
|
-c continue retrieval of aborted transfers
|
|
-O save to filename ('-' for stdout)
|
|
|
|
-------------------------------
|
|
|
|
=item I<which>
|
|
|
|
which [COMMAND ...]
|
|
|
|
Locates a COMMAND.
|
|
|
|
Example:
|
|
|
|
$ which login
|
|
/bin/login
|
|
|
|
-------------------------------
|
|
|
|
=item I<whoami>
|
|
|
|
whoami
|
|
|
|
Prints the user name associated with the current effective user id.
|
|
|
|
-------------------------------
|
|
|
|
=item I<xargs>
|
|
|
|
xargs [COMMAND] [ARGS...]
|
|
|
|
Executes COMMAND on every item given by standard input.
|
|
|
|
Example:
|
|
|
|
$ ls | xargs gzip
|
|
$ find . -name '*.c' -print | xargs rm
|
|
|
|
|
|
-------------------------------
|
|
|
|
=item I<yes>
|
|
|
|
yes [OPTION]... [STRING]...
|
|
|
|
Repeatedly outputs a line with all specified STRING(s), or 'y'.
|
|
|
|
-------------------------------
|
|
|
|
=item I<zcat>
|
|
|
|
zcat FILE
|
|
|
|
Uncompress to stdout.
|
|
|
|
-------------------------------
|
|
|
|
=back
|
|
|
|
=head1 LIBC NSS
|
|
|
|
GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
|
|
library for the local environment, and to configure how it reads system data,
|
|
such as passwords and group information. BusyBox has made it Policy that it
|
|
will never use NSS, and will never use and libc calls that make use of NSS.
|
|
This allows you to run an embedded system without the need for installing an
|
|
/etc/nsswitch.conf file and without and /lib/libnss_* libraries installed.
|
|
|
|
If you are using a system that is using a remote LDAP server for authentication
|
|
via GNU libc NSS, and you want to use BusyBox, then you will need to adjust the
|
|
BusyBox source. Chances are though, that if you have enough space to install
|
|
of that stuff on your system, then you probably want the full GNU utilities.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
textutils(1), shellutils(1), etc...
|
|
|
|
=head1 MAINTAINER
|
|
|
|
Erik Andersen <andersee@debian.org> <andersen@lineo.com>
|
|
|
|
=head1 AUTHORS
|
|
|
|
The following people have contributed code to BusyBox whether
|
|
they know it or not.
|
|
|
|
|
|
=for html <br>
|
|
|
|
Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
|
|
|
|
Tons of new stuff, major rewrite of most of the
|
|
core apps, tons of new apps as noted in header files.
|
|
|
|
=for html <br>
|
|
|
|
Edward Betts <edward@debian.org>
|
|
|
|
expr, hostid, logname, tty, wc, whoami, yes
|
|
|
|
=for html <br>
|
|
|
|
John Beppu <beppu@lineo.com>
|
|
|
|
du, head, nslookup, sort, tee, uniq
|
|
|
|
=for html <br>
|
|
|
|
Brian Candler <B.Candler@pobox.com>
|
|
|
|
tiny-ls(ls)
|
|
|
|
=for html <br>
|
|
|
|
Randolph Chung <tausq@debian.org>
|
|
|
|
fbset, ping, hostname, and mkfifo
|
|
|
|
=for html <br>
|
|
|
|
Dave Cinege <dcinege@psychosis.com>
|
|
|
|
more(v2), makedevs, dutmp, modularization, auto links file,
|
|
various fixes, Linux Router Project maintenance
|
|
|
|
=for html <br>
|
|
|
|
Karl M. Hegbloom <karlheg@debian.org>
|
|
|
|
cp_mv.c, the test suite, various fixes to utility.c, &c.
|
|
|
|
=for html <br>
|
|
|
|
Daniel Jacobowitz <dan@debian.org>
|
|
|
|
mktemp.c
|
|
|
|
=for html <br>
|
|
|
|
Matt Kraai <kraai@alumni.carnegiemellon.edu>
|
|
|
|
documentation, bugfixes
|
|
|
|
=for html <br>
|
|
|
|
John Lombardo <john@deltanet.com>
|
|
|
|
dirname, tr
|
|
|
|
=for html <br>
|
|
|
|
Glenn McGrath <bug1@netconnect.com.au>
|
|
|
|
ar.c
|
|
|
|
=for html <br>
|
|
|
|
Bruce Perens <bruce@pixar.com>
|
|
|
|
Original author of BusyBox. His code is still in many apps.
|
|
|
|
=for html <br>
|
|
|
|
Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com>
|
|
|
|
wget - Contributed by permission of Covad Communications
|
|
|
|
=for html <br>
|
|
|
|
Pavel Roskin <proski@gnu.org>
|
|
|
|
Lots of bugs fixes and patches.
|
|
|
|
=for html <br>
|
|
|
|
Gyepi Sam <gyepi@praxis-sw.com>
|
|
|
|
Remote logging feature for syslogd
|
|
|
|
=for html <br>
|
|
|
|
Linus Torvalds <torvalds@transmeta.com>
|
|
|
|
mkswap, fsck.minix, mkfs.minix
|
|
|
|
=for html <br>
|
|
|
|
Mark Whitley <markw@lineo.com>
|
|
|
|
sed remix, bug fixes, style-guide, etc.
|
|
|
|
=for html <br>
|
|
|
|
Charles P. Wright <cpwright@villagenet.com>
|
|
|
|
gzip, mini-netcat(nc)
|
|
|
|
=for html <br>
|
|
|
|
Enrique Zanardi <ezanardi@ull.es>
|
|
|
|
tarcat (since removed), loadkmap, various fixes, Debian maintenance
|
|
|
|
=cut
|
|
|
|
# $Id: busybox.pod,v 1.92 2001/03/15 21:20:25 markw Exp $
|