diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-01-03 12:04:58 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-01-03 12:04:58 +0100 |
commit | 008d0be72b2f160382c6e880765e96b64a050c65 (patch) | |
tree | 36f48a98a3815a408e2ce1693dd182af90f80305 /release/src/router/busybox/docs/busybox.pod | |
parent | 611becfb8726c60cb060368541ad98191d4532f5 (diff) | |
download | tomato-008d0be72b2f160382c6e880765e96b64a050c65.tar.gz tomato-008d0be72b2f160382c6e880765e96b64a050c65.tar.bz2 |
imported original firmware WRT54GL_v4.30.11_11_US
Diffstat (limited to 'release/src/router/busybox/docs/busybox.pod')
-rw-r--r-- | release/src/router/busybox/docs/busybox.pod | 2651 |
1 files changed, 2651 insertions, 0 deletions
diff --git a/release/src/router/busybox/docs/busybox.pod b/release/src/router/busybox/docs/busybox.pod new file mode 100644 index 00000000..f6d3e6fc --- /dev/null +++ b/release/src/router/busybox/docs/busybox.pod @@ -0,0 +1,2651 @@ +# 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<-h> option to provide a +terse runtime description of their behavior. + +=head1 COMMANDS + +Currently defined functions include: + +adjtimex, ar, basename, busybox, cat, chgrp, chmod, chown, chroot, chvt, clear, +cmp, cp, cpio, 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, rpm2cpio, 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 B<adjtimex> + +adjtimex [B<-q>] [B<-o> offset] [B<-f> frequency] [B<-p> timeconstant] [B<-t> tick] + +Reads and optionally sets system timebase parameters. +See adjtimex(2). + +Options: + + -q quiet mode - do not print + -o offset time offset, microseconds + -f frequency frequency adjust, integer kernel units (65536 is 1ppm) + (positive values make the system clock run fast) + -t tick microseconds per tick, usually 10000 + -p timeconstant + +------------------------------- + +=item B<ar> + +ar -[ov][ptx] ARCHIVE FILES + +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 + +------------------------------- + +=item B<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 B<cat> + +cat [FILE]... + +Concatenates FILE(s) and prints them to stdout. + +Example: + + $ cat /proc/uptime + 110716.72 17.67 + +------------------------------- + +=item B<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 B<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 B<chown> + +chown [ B<-Rh> ]... OWNER[<.|:>[GROUP]] FILE... + +Change the owner and/or group of each FILE to OWNER and/or GROUP. + +Options: + + -R Changes files and directories recursively. + -h Do not dereference symbolic links. + +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 B<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 B<chvt> + +chvt N + +Changes the foreground virtual terminal to /dev/ttyN + +------------------------------- + +=item B<clear> + +clear + +Clear screen. + +------------------------------- + +=item B<cmp> + +cmp FILE1 [FILE2] + + -s quiet mode - do not print +Compare files. + +------------------------------- + +=item B<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 B<cpio> + +cpio -[dimtuv][F cpiofile] + +Extract or list files from a cpio archive +Main operation mode: + + d make leading directories + i extract + m preserve mtime + t list + u unconditional overwrite F input from file + +------------------------------- + +=item B<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 B<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 B<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 B<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 B<deallocvt> + +deallocvt N + +Deallocate unused virtual terminal /dev/ttyN + +------------------------------- + +=item B<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 B<dirname> + +dirname [FILENAME ...] + +Strips non-directory suffix from FILENAME + +Example: + + $ dirname /tmp/foo + /tmp + $ dirname /tmp/foo/ + /tmp + +------------------------------- + +=item B<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 B<dos2unix> + +dos2unix [option] [FILE] + +Converts FILE from dos format to unix format. When no option +is given, the input is converted to the opposite output format. +When no file is given, uses stdin for input and stdout for output. + +Options: + + -u output will be in UNIX format + -d output will be in DOS format + +------------------------------- + +=item B<dpkg> + +dpkg B<-i> package_file + + + -i Install the package + -C Configure an unpackaged package + -P Purge all files of a package + -r Remove all but the configuration files for a package + -u Unpack a package, but dont configure it + +------------------------------- + +=item B<dpkg_deb> + +dpkg_deb [B<-cefItxX>] FILE [argument] + +Perform actions on debian packages (.debs) + +Options: + + -c List contents of filesystem tree + -e Extract control files to [argument] directory + -f Display control field name starting with [argument] + -I Display the control filenamed [argument] + -t Extract filesystem tree to stdout in tar format + -x Extract packages filesystem tree to directory + -X Verbose extract + +Example: + + $ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp + +------------------------------- + +=item B<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 B<dumpkmap> + +dumpkmap > keymap + +Prints out a binary keyboard translation table to standard output. + +Example: + + $ dumpkmap > keymap + +------------------------------- + +=item B<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 B<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) + -E disable interpretation of backslash-escaped characters + +Example: + + $ echo "Erik is cool" + Erik is cool + $ echo -e "Erik\nis\ncool" + Erik + is + cool + $ echo "Erik\nis\ncool" + Erik\nis\ncool + +------------------------------- + +=item B<env> + +env [B<-iu>] [-] [name=value]... [command] + +Prints the current environment or runs a program after setting +up the specified environment. + +Options: + + -, -i start with an empty environment + -u remove variable from the environment + +------------------------------- + +=item B<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 B<false> + +false + +Return an exit code of FALSE (1). + +Example: + + $ false + $ echo $? + 1 + +------------------------------- + +=item B<fbset> + +fbset [options] [mode] + +Show and modify frame buffer settings + +Example: + + $ fbset + mode "1024x768-76" + # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz + 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 B<fdflush> + +fdflush DEVICE + +Forces floppy disk drive to detect disk change + +------------------------------- + +=item B<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. + -print Print (default and assumed). + + -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 B<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 B<freeramdisk> + +freeramdisk DEVICE + +Frees all memory used by the specified ramdisk. + +Example: + + $ freeramdisk /dev/ram2 + +------------------------------- + +=item B<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 B<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 + #!/bin/sh + 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 B<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 + -l list names of files that match + -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 B<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 B<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.tar + $ gzip /tmp/busybox.tar + $ ls -la /tmp/busybox* + -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz + +------------------------------- + +=item B<halt> + +halt + +Halt the system. + +------------------------------- + +=item B<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 B<hostid> + +hostid + +Print out a unique 32-bit identifier for the machine. + +------------------------------- + +=item B<hostname> + +hostname [OPTION] {hostname | B<-F> FILE} + +Get or set the hostname or DNS domain name. If a hostname is given +(or 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 + sage + +------------------------------- + +=item B<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 B<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 B<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 + ::ctrlaltdel:/sbin/reboot + ::shutdown:/sbin/swapoff -a + ::shutdown:/bin/umount -a -r + +if it detects that /dev/console is _not_ a serial console, it will also run: + + tty2::askfirst:/bin/sh + tty3::askfirst:/bin/sh + tty4::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, ctrlaltdel, and shutdown. + + 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 asynchronous, + therefore, init does not wait for them to complete. 'ctrlaltdel' + actions are run when the system detects that someone on the system + console has pressed the CTRL-ALT-DEL key combination. Typically one + wants to run 'reboot' at this point to cause the system to reboot. + Finally the 'shutdown' action specifies the actions to taken when + init is told to reboot. Unmounting filesystems and disabling swap + is a very good here + + 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: + + # This is run first except when booting in single-user mode. + # + ::sysinit:/etc/init.d/rcS + + # /bin/sh invocations on selected ttys + # + # Start an "askfirst" shell on the console (whatever that may be) + ::askfirst:-/bin/sh + # Start an "askfirst" shell on /dev/tty2-4 + tty2::askfirst:-/bin/sh + tty3::askfirst:-/bin/sh + tty4::askfirst:-/bin/sh + + # /sbin/getty invocations for selected ttys + # + tty4::respawn:/sbin/getty 38400 tty5 + tty5::respawn:/sbin/getty 38400 tty6 + + + # Example of how to put a getty on a serial line (for a terminal) + # + #::respawn:/sbin/getty -L ttyS0 9600 vt100 + #::respawn:/sbin/getty -L ttyS1 9600 vt100 + # + # Example how to put a getty on a modem line. + #::respawn:/sbin/getty 57600 ttyS2 + + # Stuff to do before rebooting + ::ctrlaltdel:/sbin/reboot + ::shutdown:/bin/umount -a -r + ::shutdown:/sbin/swapoff -a + + +------------------------------- + +=item B<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 B<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 B<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 B<klogd> + +klogd B<-n> + +Kernel logger. +Options: + + -n Run as a foreground process. + +------------------------------- + +=item B<ktab> + +ktab [B<-fpr> FILE] + +Run a specified program every X amount of seconds +Options: + + -f Script for KTAB + -p File to run (takes defaults) + -r Review Script, report all errors + +------------------------------- + +=item B<lash> + +lash [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 B<length> + +length STRING + +Prints out the length of the specified STRING. + +Example: + + $ length Hello + 5 + +------------------------------- + +=item B<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 B<loadacm> + +loadacm < mapfile + +Loads an acm from standard input. + +Example: + + $ loadacm < /etc/i18n/acmname + +------------------------------- + +=item B<loadfont> + +loadfont < font + +Loads a console font from standard input. + +Example: + + $ loadfont < /etc/i18n/fontname + +------------------------------- + +=item B<loadkmap> + +loadkmap < keymap + +Loads a binary keyboard translation table from standard input. + +Example: + + $ loadkmap < /etc/i18n/lang-keymap + +------------------------------- + +=item B<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 B<logname> + +logname + +Print the name of the current user. + +Example: + + $ logname + root + +------------------------------- + +=item B<logread> + +logread + +Shows the messages from syslogd (using circular buffer). + +------------------------------- + +=item B<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 B<lsmod> + +lsmod + +List the currently loaded kernel modules. + +------------------------------- + +=item B<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 B<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 B<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 B<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 B<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 B<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 B<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 B<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 B<modprobe> + +modprobe [FILE ...] + +Used for hight level module loading and unloading. + +Example: + + $ modprobe cdrom + +------------------------------- + +=item B<more> + +more [FILE ...] + +More is a filter for viewing FILE one screenful at a time. + +Example: + + $ dmesg | more + +------------------------------- + +=item B<mount> + +mount [flags] DEVICE NODE [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. + bind: Use the linux 2.4.x "bind" feature. + +There are EVEN MORE flags that are specific to each filesystem. +You'll have to see the written documentation for those filesystems. + +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 B<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 B<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 B<nc> + +nc [IP] [port] + +Netcat opens a pipe to IP:port + +Example: + + $ nc foobar.somedomain.com 25 + 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600 + help + 214-Commands supported: + 214- HELO EHLO MAIL RCPT DATA AUTH + 214 NOOP QUIT RSET HELP + quit + 221 foobar closing connection + +------------------------------- + +=item B<nslookup> + +nslookup [HOST] [SERVER] + +Queries the nameserver for the IP address of the given HOST +optionally using a specified DNS server + +Example: + + $ nslookup localhost + Server: default + Address: default + + Name: debian + Address: 127.0.0.1 + +------------------------------- + +=item B<pgrep> + +pgrep [B<-f>] PATTERN + + + +------------------------------- + +=item B<pidof> + +pidof process-name [process-name ...] + +Lists the PIDs of all processes with names that match the names on the command line + +Example: + + $ pidof init + 1 + +------------------------------- + +=item B<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 B<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 B<poweroff> + +poweroff + +Halt the system and request that the kernel shut off the power. + +------------------------------- + +=item B<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\n" 5 + Val=5 + +------------------------------- + +=item B<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 B<pwd> + +pwd + +Print the full filename of the current working directory. + +Example: + + $ pwd + /root + +------------------------------- + +=item B<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 B<readlink> + +readlink + +Read a symbolic link. + +------------------------------- + +=item B<reboot> + +reboot + +Reboot the system. + +------------------------------- + +=item B<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 B<reset> + +reset + +Resets the screen. + +------------------------------- + +=item B<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 destination -f remove existing destinations, never prompt + -r or -R remove the contents of directories recursively + +Example: + + $ rm -rf /tmp/foo + +------------------------------- + +=item B<rmdir> + +rmdir [OPTION]... DIRECTORY... + +Remove the DIRECTORY(ies), if they are empty. + +Example: + + # rmdir /tmp/foo + +------------------------------- + +=item B<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 B<route> + +route [{add|del|flush}] + +Edit the kernel's routing tables + +------------------------------- + +=item B<rpm2cpio> + +rpm2cpio package.rpm + +Outputs a cpio archive of the rpm file. + +------------------------------- + +=item B<rpmunpack> + +rpmunpack < package.rpm | gunzip | cpio B<-idmuv> + +Extracts an rpm archive. + +------------------------------- + +=item B<sed> + +sed [B<-nef>] 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 + +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 B<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 B<sleep> + +sleep N + +Pause for N seconds. + +Example: + + $ sleep 2 + [2 second delay results] + +------------------------------- + +=item B<sort> + +sort [B<-nru>] [FILE]... + +Sorts lines of text in the specified files + +Options: + + -u suppress duplicate lines + -r sort in reverse order + -n sort numerics + +Example: + + $ echo -e "e\nf\nb\nd\nc\na" | sort + a + b + c + d + e + f + +------------------------------- + +=item B<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 manpage + +------------------------------- + +=item B<swapoff> + +swapoff [OPTION] [DEVICE] + +Stop swapping virtual memory pages on DEVICE. + +Options: + + -a Stop swapping on all swap devices + +------------------------------- + +=item B<swapon> + +swapon [OPTION] [DEVICE] + +Start swapping virtual memory pages on DEVICE. + +Options: + + -a Start swapping on all swap devices + +------------------------------- + +=item B<sync> + +sync + +Write all buffered filesystem blocks to disk. + +------------------------------- + +=item B<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) + + -F f Use facility LOCAL<f> (0-7) when sending to remote host. -R must be specified also. + -L Log locally and via network logging (default is network only) + +Example: + + $ syslogd -R masterlog:514 + $ syslogd -R 192.168.1.1:601 + +------------------------------- + +=item B<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 B<tar> + +tar -[cxtvO] [-B<-exclude> FILE] [B<-X> FILE][B<-f> TARFILE] [B<-C> DIR] [FILE(s)] ... + +Create, extract, or list files from a tar file. + +Options: + + 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 + C change to directory DIR before operation + v verbosely list files processed + +Example: + + $ zcat /tmp/tarball.tar.gz | tar -xf - + $ tar -cf /tmp/tarball.tar /usr/local + +------------------------------- + +=item B<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 B<telnet> + +telnet HOST [PORT] + +Telnet is used to establish interactive communication with another +computer over a network using the TELNET protocol. + +------------------------------- + +=item B<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 B<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 naming a server, use the syntax "server:file". + +------------------------------- + +=item B<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 B<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 B<traceroute> + +traceroute [B<-dnrv>] [B<-m> max_ttl] [B<-p> port#] [B<-q> nqueries] + [B<-s> src_addr] [B<-t> tos] [B<-w> wait] host [data size] + +trace the route ip packets follow going to "host" +Options: + + -d set SO_DEBUG options to socket + -n Print hop addresses numerically rather than symbolically + -r Bypass the normal routing tables and send directly to a host + -v Verbose output + -m max_ttl Set the max time-to-live (max number of hops) + -p port# Set the base UDP port number used in probes + (default is 33434) + -q nqueries Set the number of probes per ``ttl'' to nqueries + (default is 3) + -s src_addr Use the following IP address as the source address + -t tos Set the type-of-service in probe packets to the following value + (default 0) + -w wait Set the time (in seconds) to wait for a response to a probe + (default 3 sec.). + +------------------------------- + +=item B<true> + +true + +Return an exit code of TRUE (0). + +Example: + + $ true + $ echo $? + 0 + +------------------------------- + +=item B<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 B<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 umount (i.e., unreachable NFS server) + -l Do not free loop device (if a loop device has been used) + +Example: + + $ umount /dev/hdc1 + +------------------------------- + +=item B<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 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown + +------------------------------- + +=item B<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\na\nb\nc\nc\na" | sort | uniq + a + b + c + +------------------------------- + +=item B<unix2dos> + +unix2dos [option] [FILE] + +Converts FILE from unix format to dos format. When no option +is given, the input is converted to the opposite output format. +When no file is given, uses stdin for input and stdout for output. +Options: + + -u output will be in UNIX format + -d output will be in DOS format + +------------------------------- + +=item B<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 B<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 B<usleep> + +usleep N + +Pause for N microseconds. + +Example: + + $ usleep 1000000 + [pauses for 1 second] + +------------------------------- + +=item B<uudecode> + +uudecode [FILE]... + +Uudecode a file that is uuencoded. + +Options: + + -o FILE direct output to FILE + +Example: + + $ uudecode -o busybox busybox.uu + $ ls -l busybox + -rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox + +------------------------------- + +=item B<uuencode> + +uuencode [OPTION] [INFILE] REMOTEFILE + +Uuencode a file. + +Options: + + -m use base64 encoding per RFC1521 + +Example: + + $ uuencode busybox busybox + begin 755 busybox + <encoded file snipped> + $ uudecode busybox busybox > busybox.uu + $ + +------------------------------- + +=item B<vi> + +vi [OPTION] [FILE]... + +edit FILE. + +Options: + + -R Read-only- do not write to the file. + +------------------------------- + +=item B<watchdog> + +watchdog DEV + +Periodically write to watchdog device DEV + +------------------------------- + +=item B<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 B<wget> + +wget [B<-c>|-B<-continue>] [B<-q>|-B<-quiet>] [B<-O>|-B<-output>-document file] + [-B<-header> 'header: value'] [B<-P> DIR] url + +wget retrieves files via HTTP or FTP + +Options: + + -c continue retrieval of aborted transfers + -q quiet mode - do not print + -P Set directory prefix to DIR + -O save to filename ('-' for stdout) + +------------------------------- + +=item B<which> + +which [COMMAND ...] + +Locates a COMMAND. + +Example: + + $ which login + /bin/login + +------------------------------- + +=item B<whoami> + +whoami + +Prints the user name associated with the current effective user id. + +------------------------------- + +=item B<xargs> + +xargs [COMMAND] [ARGS...] + +Executes COMMAND on every item given by standard input. + +Example: + + $ ls | xargs gzip + $ find . -name '*.c' -print | xargs rm + +------------------------------- + +=item B<yes> + +yes [OPTION]... [STRING]... + +Repeatedly outputs a line with all specified STRING(s), or 'y'. + +------------------------------- + +=item B<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> + +John Beppu <beppu@lineo.com> + + du, head, nslookup, sort, tee, uniq (so Kraai could rewrite them ;-), + documentation + +=for html <br> + +Edward Betts <edward@debian.org> + + expr, hostid, logname, tty, wc, whoami, yes + +=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> + +Larry Doolittle <ldoolitt@recycle.lbl.gov> + + various fixes, shell rewrite + +=for html <br> + +Karl M. Hegbloom <karlheg@debian.org> + + cp_mv.c, the test suite, various fixes to utility.c, &c. + +=for html <br> + +Sterling Huxley <sterling@europa.com> + + vi (!!!) + +=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> + +Vladimir Oleynik <dzo@simtreas.ru> + + cmdedit, stty-port, locale, various fixes + and irreconcilable critic of everything not perfect. + +=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_footer.pod,v 1.1.1.4 2003/10/14 08:09:39 sparq Exp $ |