diff options
author | Eric Andersen | 2004-04-06 15:26:25 +0000 |
---|---|---|
committer | Eric Andersen | 2004-04-06 15:26:25 +0000 |
commit | f730088bbcb7e0270a590a7161b0f8d8d50386d7 (patch) | |
tree | fad4ea0aa2f8ac7c61378053e8d13f51f00d2d73 /docs/busybox.sgml | |
parent | 515881c6e1daeea5c690f769992e6069b8fb7212 (diff) | |
download | busybox-f730088bbcb7e0270a590a7161b0f8d8d50386d7.zip busybox-f730088bbcb7e0270a590a7161b0f8d8d50386d7.tar.gz |
Eliminate all trace of the sgml based docs. It was a noble effort,
but it just never worked out...
Diffstat (limited to 'docs/busybox.sgml')
-rw-r--r-- | docs/busybox.sgml | 4027 |
1 files changed, 0 insertions, 4027 deletions
diff --git a/docs/busybox.sgml b/docs/busybox.sgml deleted file mode 100644 index b581868..0000000 --- a/docs/busybox.sgml +++ /dev/null @@ -1,4027 +0,0 @@ -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ ]> -<book id="BusyBoxDocumentation"> - <bookinfo> - <title>BusyBox - The Swiss Army Knife of Embedded Linux</title> - - <legalnotice> - <para> - This documentation is free software; you can redistribute - it and/or modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later - version. - </para> - - <para> - This program is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - </para> - - <para> - You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, - MA 02111-1307 USA - </para> - - <para> - For more details see the file COPYING in the source - distribution of Linux. - </para> - </legalnotice> - </bookinfo> - -<toc></toc> - <chapter id="Introduction"> - <title>Introduction</title> - - <para> - 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. - </para> - - <para> - 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). - </para> - </chapter> - - <chapter id="Syntax"> - <title>How to use BusyBox</title> - <sect1 id="How-to-use-BusyBox"> - <title>Syntax</title> - - <para> - <screen> - BusyBox <function> [arguments...] # or - </screen> - </para> - - <para> - <screen> - <function> [arguments...] # if symlinked - </screen> - </para> - </sect1> - - <sect1 id="Invoking-BusyBox"> - <title>Invoking BusyBox</title> - - <para> - 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. - </para> - - <para> - For example, entering - </para> - - <para> - <screen> - ln -s ./BusyBox ls - ./ls - </screen> - </para> - - <para> - will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled - into BusyBox). - </para> - - <para> - You can also invoke BusyBox by issuing the command as an argument on the - command line. For example, entering - </para> - - <para> - <screen> - ./BusyBox ls - </screen> - </para> - - <para> - will also cause BusyBox to behave as 'ls'. - </para> - - </sect1> - - <sect1 id="Common-options"> - <title>Common options</title> - - <para> - Most BusyBox commands support the <emphasis>--help</emphasis> option to provide - a terse runtime description of their behavior. - </para> - </sect1> - </chapter> - - <chapter id="Commands"> - <title>BusyBox Commands</title> - <sect1 id="Available-BusyBox-Commands"> - <title>Available BusyBox Commands</title> - <para> - Currently defined functions include: - </para> - - <para> - addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, - bunzip2, busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, - chvt, clear, cmp, cp, cpio, crond, crontab, cut, date, dc, dd, - deallocvt, delgroup, deluser, df, dirname, dmesg, dos2unix, dpkg, - dpkg-deb, du, dumpkmap, dumpleases, dutmp, echo, egrep, env, expr, - false, fbset, fdflush, fdformat, fgrep, find, fold, free, freeramdisk, - fsck.minix, ftpget, ftpput, getopt, getty, grep, gunzip, gzip, - halt, hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, - id, ifconfig, ifdown, ifup, inetd, init, insmod, ip, ipcalc, iplink, - iproute, iptunnel, kill, killall, klogd, lash, length, linuxrc, - ln, loadfont, loadkmap, logger, login, logname, logread, - losetup, ls, lsmod, makedevs, md5sum, mesg, minit, mkdir, mkfifo, - mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, - msvc, mt, mv, nameif, nc, netstat, nslookup, od, openvt, passwd, - patch, pidfilehack, pidof, ping, ping6, pivot_root, poweroff, - printf, ps, pwd, rdate, readlink, realpath, reboot, renice, reset, - rm, rmdir, rmmod, route, rpm, rpm2cpio, run-parts, sed, setkeycodes, - sha1sum, sleep, sort, start-stop-daemon, strings, stty, su, sulogin, - swapoff, swapon, sync, syslogd, tail, tar, tee, telnet, telnetd, - test, tftp, time, top, touch, tr, traceroute, true, tty, udhcpc, - udhcpd, umount, uname, uncompress, uniq, unix2dos, unzip, - uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, watch, - watchdog, wc, wget, which, who, whoami, xargs, yes, zcat, [ - - </para> - </sect1> - - <sect1 id="ar"> - <title>ar</title> - - <para> - Usage: ar [OPTION] archive [FILENAME]... - </para> - - <para> - Extract or list files from an ar archive. - </para> - - <para> - Options: - </para> - - <para> - <screen> - o Preserve original dates - p Extract to stdout - t List - x Extract - v Verbosely list files processed - </screen> - </para> - </sect1> - - <sect1 id="basename"> - <title>basename</title> - <para> - Usage: basename FILE [SUFFIX] - </para> - - <para> - Strip directory path and suffixes from FILE. If specified, also removes - any trailing SUFFIX. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ basename /usr/local/bin/foo - foo - $ basename /usr/local/bin/ - bin - $ basename /foo/bar.txt .txt - bar - </screen> - </para> - </sect1> - - <sect1 id="cat"> - <title>cat</title> - - <para> - Usage: cat [FILE]... - </para> - - <para> - Concatenate <literal>FILE(s)</literal> and prints them to the standard - output. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ cat /proc/uptime - 110716.72 17.67 - </screen> - </para> - </sect1> - - <sect1 id="chgrp"> - <title>chgrp</title> - - <para> - Usage: chgrp [OPTION]... GROUP FILE... - </para> - - <para> - Change the group membership of each FILE to GROUP. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -R Change files and directories recursively - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="chmod"> - <title>chmod</title> - - <para> - Usage: chmod [<emphasis>-R</emphasis>] MODE[,MODE]... FILE... - </para> - - <para> - Change file access permissions for the specified - <literal>FILE(s)</literal> (or directories). Each MODE is defined by - combining the letters for WHO has access to the file, an OPERATOR for - selecting how the permissions should be changed, and a PERMISSION for - <literal>FILE(s)</literal> (or directories). - </para> - - <para> - WHO may be chosen from - </para> - - <para> - <screen> - u User who owns the file - g Users in the file's Group - o Other users not in the file's group - a All users - </screen> - </para> - - <para> - OPERATOR may be chosen from - </para> - - <para> - <screen> - + Add a permission - - Remove a permission - = Assign a permission - </screen> - </para> - - <para> - PERMISSION may be chosen from - </para> - - <para> - <screen> - r Read - w Write - x Execute (or access for directories) - s Set user (or group) ID bit - t Sticky bit (for directories prevents removing files by non-owners) - </screen> - </para> - - <para> - Alternately, permissions can be set numerically where the first three - numbers are calculated by adding the octal values, such as - </para> - - <para> - <screen> - 4 Read - 2 Write - 1 Execute - </screen> - </para> - - <para> - An optional fourth digit can also be used to specify - </para> - - <para> - <screen> - 4 Set user ID - 2 Set group ID - 1 Sticky bit - </screen> - </para> - - <para> - Options: - </para> - - <para> - <screen> - -R Change files and directories recursively. - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="chown"> - <title>chown</title> - <para> - Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE... - </para> - - <para> - Change the owner and/or group of each FILE to OWNER and/or GROUP. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -R Change files and directories recursively - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="chroot"> - <title>chroot</title> - <para> - Usage: chroot NEWROOT [COMMAND...] - </para> - - <para> - Run COMMAND with root directory set to NEWROOT. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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* - </screen> - </para> - </sect1> - - <sect1 id="chvt"> - <title>chvt</title> - <para> - Usage: chvt N - </para> - - <para> - Change the foreground virtual terminal to /dev/ttyN - </para> - </sect1> - - <sect1 id="clear"> - <title>clear</title> - - <para> - Usage: clear - </para> - - <para> - Clear the screen. - </para> - </sect1> - - <sect1 id="cp"> - <title>cp</title> - - <para> - Usage: cp [OPTION]... SOURCE DEST - </para> - - <para> - <screen> - or: cp [OPTION]... SOURCE... DIRECTORY - </screen> - </para> - - <para> - Copy SOURCE to DEST, or multiple <literal>SOURCE(s)</literal> to - DIRECTORY. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Same as -dpR - -d Preserve links - -p Preserve file attributes if possible - -R Copy directories recursively - </screen> - </para> - </sect1> - - <sect1 id="cut"> - <title>cut</title> - - <para> - Usage: cut [OPTION]... [FILE]... - </para> - - <para> - Print selected fields from each input FILE to standard output. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo "Hello world" | cut -f 1 -d ' ' - Hello - $ echo "Hello world" | cut -f 2 -d ' ' - world - </screen> - </para> - </sect1> - - <sect1 id="date"> - <title>date</title> - - <para> - Usage: date [OPTION]... [+FORMAT] - </para> - - <para> - <screen> - or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] - </screen> - </para> - - <para> - Display the current time in the given FORMAT, or set the system date. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -R Output RFC-822 compliant date string - -s Set time described by STRING - -u Print or set Coordinated Universal Time - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ date - Wed Apr 12 18:52:41 MDT 2000 - </screen> - </para> - </sect1> - - <sect1 id="dc"> - <title>dc</title> - - <para> - Usage: dc [EXPRESSION] - </para> - - <para> - This is a Tiny RPN calculator that understands the - following operations: +, -, /, *, and, or, not, eor. If - no arguments are given, dc will process input from - stdin. - </para> - - <para> - The behaviour of BusyBox/dc deviates (just a little ;-) - from GNU/dc, but this will be remedied in the future. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="dd"> - <title>dd</title> - - <para> - Usage: dd [OPTION]... - </para> - - <para> - Copy a file, converting and formatting according to - options. - </para> - - <para> - Options: - </para> - - <para> - <screen> - 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 - </screen> - </para> - - <para> - Numbers may be suffixed by w (x2), k (x1024), b (x512), - or M (x1024^2). - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4 - 4+0 records in - 4+0 records out - </screen> - </para> - </sect1> - - <sect1 id="deallocvt"> - <title>deallocvt</title> - - <para> - Usage: deallocvt N - </para> - - <para> - Deallocate unused virtual terminal /dev/ttyN. - </para> - </sect1> - - <sect1 id="df"> - <title>df</title> - - <para> - Usage: df [FILE]... - </para> - - <para> - Print the filesystem space used and space available. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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% / - </screen> - </para> - </sect1> - - <sect1 id="dirname"> - <title>dirname</title> - - <para> - Usage: dirname NAME - </para> - - <para> - Strip non-directory suffix from NAME. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ dirname /tmp/foo - /tmp - $ dirname /tmp/foo/ - /tmp - </screen> - </para> - </sect1> - - <sect1 id="dmesg"> - <title>dmesg</title> - - <para> - Usage: dmesg [OPTION]... - </para> - - <para> - Print or control the kernel ring buffer. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Clear the ring buffer after printing - -n LEVEL Set the console logging level to LEVEL - -s BUFSIZE Query ring buffer using a buffer of BUFSIZE - </screen> - </para> - </sect1> - - <sect1 id="dos2unix"> - <title>dos2unix</title> - - <para> - Usage: dos2unix < dosfile > unixfile - </para> - - <para> - Converts a text file from dos format to unix format. - </para> - - </sect1> - - <sect1 id="dpkg-deb"> - <title>dpkg-deb</title> - - <para> - Usage: dpkg-deb [OPTION] archive [directory] - </para> - - <para> - Debian package archive (.deb) manipulation tool - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c List the contents of the filesystem tree archive portion of the package - -e Extracts the control information files from a package archive into the specified directory. - If no directory is specified then a subdirectory DEBIAN in the current directory is used. - -x Silently extracts the filesystem tree from a package archive into the specified directory. - -X Extracts the filesystem tree from a package archive into the specified directory, listing the files as it goes. - If required the specified directory (but not its parents) will be created. - </screen> - <para> - - <para> - Example: - </para> - - <para> - <screen> - dpkg-deb -e ./busybox_0.48-1_i386.deb - dpkg-deb -x ./busybox_0.48-1_i386.deb ./unpack_dir - </screen> - </para> - </sect1> - - <sect1 id="du"> - <title>du</title> - - <para> - Usage: du [OPTION]... [FILE]... - </para> - - <para> - Summarize the disk space used for each FILE or current - directory. Disk space printed in units of 1k (i.e., - 1024 bytes). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -l Count sizes many times if hard linked - -s Display only a total for each argument - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 . - </screen> - </para> - </sect1> - - <sect1 id="dumpkmap"> - <title>dumpkmap</title> - - <para> - Usage: dumpkmap - </para> - - <para> - Prints out a binary keyboard translation table to standard output. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ dumpkmap < keymap - </screen> - </para> - </sect1> - - <sect1 id="dutmp"> - <title>dutmp</title> - - <para> - Usage: dutmp [FILE] - </para> - - <para> - Dump utmp file format (pipe delimited) from FILE or - stdin to stdout. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="echo"> - <title>echo</title> - - <para> - Usage: echo [OPTION]... [ARG]... - </para> - - <para> - Print ARGs to stdout. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -n Suppress trailing newline - -e Enable interpretation of escaped characters - -E Disable interpretation of escaped characters - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo "Erik is cool" - Erik is cool - $ echo -e "Erik\nis\ncool" - Erik - is - cool - $ echo "Erik\nis\ncool" - Erik\nis\ncool - </screen> - </para> - </sect1> - - <sect1 id="expr"> - <title>expr</title> - - <para> - Usage: expr EXPRESSION - </para> - - <para> - Prints the value of EXPRESSION to standard output. - </para> - - <para> - EXPRESSION may be: - </para> - - <para> - <screen> - 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 - </screen> - </para> - - <para> - 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. - </para> - - </sect1> - - - <sect1 id="false"> - <title>false</title> - - <para> - Usage: false - </para> - - <para> - Return an exit code of FALSE (1). - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ false - $ echo $? - 1 - </screen> - </para> - </sect1> - - <sect1 id="fbset"> - <title>fbset</title> - - <para> - Usage: fbset [OPTION]... [MODE] - </para> - - <para> - Show and modify frame buffer device settings. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -h Display option summary - -fb DEVICE Operate on DEVICE - -db FILE Use FILE for mode database - -g XRES YRES VXRES VYRES DEPTH Set all geometry parameters - -t PIXCLOCK LEFT RIGHT UPPER LOWER HSLEN VSLEN Set all timing parameters - -xres RES Set visible horizontal resolution - -yres RES Set visible vertical resolution - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="fdflush"> - <title>fdflush</title> - - <para> - Usage: fdflush DEVICE - </para> - - <para> - Force floppy disk drive to detect disk change on DEVICE. - </para> - </sect1> - - <sect1 id="find"> - <title>find</title> - - <para> - Usage: find [PATH]... [EXPRESSION] - </para> - - <para> - Search for files in a directory hierarchy. The default - PATH is the current directory; default EXPRESSION is - '-print'. - </para> - - <para> - EXPRESSION may consist of: - </para> - - <para> - <screen> - -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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ find / -name /etc/passwd - /etc/passwd - </screen> - </para> - </sect1> - - <sect1 id="free"> - <title>free</title> - - <para> - Usage: free - </para> - - <para> - Displays the amount of free and used system memory. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ free - total used free shared buffers - Mem: 257628 248724 8904 59644 93124 - Swap: 128516 8404 120112 - Total: 386144 257128 129016 - </screen> - </para> - </sect1> - - <sect1 id="freeramdisk"> - <title>freeramdisk</title> - - <para> - Usage: freeramdisk DEVICE - </para> - - <para> - Free all memory used by the ramdisk DEVICE. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ freeramdisk /dev/ram2 - </screen> - </para> - </sect1> - - <sect1 id="fsck.minix"> - <title>fsck.minix</title> - - <para> - Usage: fsck.minix [OPTION]... DEVICE - </para> - - <para> - Perform a consistency check on the MINIX filesystem on - DEVICE. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -l List all filenames - -r Perform interactive repairs - -a Perform automatic repairs - -v Verbose - -s Output super-block information - -m Activate MINIX-like "mode not cleared" warnings - -f Force file system check. - </screen> - </para> - </sect1> - - <sect1 id="getopt"> - <title>getopt</title> - - <para> - Usage: getopt [OPTIONS]... - </para> - - <para> - Parse command options - </para> - - <para> - <screen> - -a, --alternative Allow long options starting with single -\n" - -l, --longoptions=longopts Long options to be recognized\n" - -n, --name=progname The name under which errors are reported\n" - -o, --options=optstring Short options to be recognized\n" - -q, --quiet Disable error reporting by getopt(3)\n" - -Q, --quiet-output No normal output\n" - -s, --shell=shell Set shell quoting conventions\n" - -T, --test Test for getopt(1) version\n" - -u, --unqote Do not quote the output\n" - </screen> - </para> - - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="grep"> - <title>grep</title> - - <para> - Usage: grep [OPTIONS]... PATTERN [FILE]... - </para> - - <para> - Search for PATTERN in each FILE or stdin. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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 - </screen> - </para> - - <para> - This version of grep matches full regular expressions. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="gunzip"> - <title>gunzip</title> - - <para> - Usage: gunzip [OPTION]... FILE - </para> - - <para> - Uncompress FILE (or stdin if FILE is '-'). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Write output to standard output - -t Test compressed file integrity - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="gzip"> - <title>gzip</title> - - <para> - Usage: gzip [OPTION]... FILE - </para> - - <para> - Compress FILE (or stdin if FILE is '-') with maximum - compression to FILE.gz (or stdout if FILE is '-'). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Write output to standard output - -d decompress - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="halt"> - <title>halt</title> - - <para> - Usage: halt - </para> - - <para> - Halt the system. - </para> - </sect1> - - <sect1 id="head"> - <title>head</title> - - <para> - Usage: head [OPTION] FILE... - </para> - - <para> - 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. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -n NUM Print first NUM lines instead of first 10 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ head -n 2 /etc/passwd - root:x:0:0:root:/root:/bin/bash - daemon:x:1:1:daemon:/usr/sbin:/bin/sh - </screen> - </para> - </sect1> - - <sect1 id="hostid"> - <title>hostid</title> - - <para> - Usage: hostid - </para> - - <para> - Prints out a unique 32-bit identifier for the current - machine. The 32-bit identifier is intended to be unique - among all UNIX systems in existence. - </para> - </sect1> - - <sect1 id="hostname"> - <title>hostname</title> - - <para> - Usage: hostname [OPTION]... [HOSTNAME|-F FILE] - </para> - - <para> - Get or set the hostname or DNS domain name. If a - hostname is given (or a file with the -F parameter), the - host name will be set. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -s Short - -i Addresses for the hostname - -d DNS domain name - -F, --file FILE Use the contents of FILE to specify the hostname - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ hostname - slag - </screen> - </para> - </sect1> - - <sect1 id="id"> - <title>id</title> - - <para> - Usage: id [OPTION]... [USERNAME] - </para> - - <para> - Print information for USERNAME or the current user. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -g Print only the group ID - -u Print only the user ID - -n print a name instead of a number (with for -ug) - -r Print the real user ID instead of the effective ID (with -ug) - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ id - uid=1000(andersen) gid=1000(andersen) - </screen> - </para> - </sect1> - - <sect1 id="init"> - <title>init</title> - - <para> - Usage: init - </para> - - <para> - Init is the parent of all processes. - </para> - - <para> - This version of init is designed to be run only by the - kernel. - </para> - - <para> - 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. - </para> - - <para> - BusyBox init works just fine without an inittab. If no - inittab is found, it has the following default behavior: - </para> - - <para> - <screen> - ::sysinit:/etc/init.d/rcS - ::askfirst:/bin/sh - </screen> - </para> - - <para> - If it detects that /dev/console is _not_ a serial - console, it will also run: - </para> - - <para> - <screen> - tty2::askfirst:/bin/sh - </screen> - </para> - - <para> - If you choose to use an /etc/inittab file, the inittab - entry format is as follows: - </para> - - <para> - <screen> - <id>:<runlevels>:<action>:<process> - </screen> - </para> - - <sect2> - <title>id</title> - <para> - - 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. - - </para> - </sect2> - - <sect2> - <title>runlevels</title> - - <para> - The runlevels field is completely ignored. - </para> - </sect2> - - <sect2> - <title>action</title> - - - <para> - Valid actions include: sysinit, respawn, askfirst, wait, - once, and ctrlaltdel. - </para> - - - <para> - 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. - </para> - - <para> - Run only-once actions: - </para> - - <para> - '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). - </para> - - <para> - Run repeatedly actions: - </para> - - <para> - '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. - </para> - - <para> - 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. - </para> - - </sect2> - - <sect2> - <title>process</title> - - <para> - Specifies the process to be executed and its - command line. - </para> - </sect2> - - <sect2> - <title>Example /etc/inittab file</title> - - <para> - <screen> - # 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 - tty2::askfirst:-/bin/sh - tty2::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:/bin/umount -a -r - ::ctrlaltdel:/sbin/swapoff - </screen> - </para> - </sect2> - </sect1> - - <sect1 id="insmod"> - <title>insmod</title> - - <para> - Usage: insmod [OPTION]... MODULE [symbol=value]... - </para> - - <para> - Load MODULE into the kernel. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -f Force module to load into the wrong kernel version. - -k Make module autoclean-able. - -v Verbose output - -x Do not export externs - -L Prevent simultaneous loads of the same module - </screen> - </para> - </sect1> - - <sect1 id="kill"> - <title>kill</title> - - <para> - Usage: kill [OPTION] PID... - </para> - - <para> - Send a signal (default is SIGTERM) to the specified - PID(s). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -l List all signal names and numbers - -SIG Send signal SIG - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="killall"> - <title>killall</title> - - <para> - Usage: killall [OPTION] NAME... - </para> - - <para> - Send a signal (default is SIGTERM) to the specified - NAME(s). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -l List all signal names and numbers - -SIG Send signal SIG - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ killall apache - </screen> - </para> - </sect1> - - <sect1 id="length"> - <title>length</title> - - <para> - Usage: length STRING - </para> - - <para> - Print the length of STRING. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ length "Hello" - 5 - </screen> - </para> - </sect1> - - <sect1 id="ln"> - <title>ln</title> - - <para> - Usage: ln [OPTION]... TARGET FILE|DIRECTORY - </para> - - <para> - Create a link named FILE or DIRECTORY to the specified - TARGET. You may use '--' to indicate that all following - arguments are non-options. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -s Make symbolic link instead of hard link - -f Remove existing destination file - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ ln -s BusyBox /tmp/ls - $ ls -l /tmp/ls - lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox* - </screen> - </para> - </sect1> - - <sect1 id="loadfont"> - <title>loadfont</title> - - <para> - Usage: loadfont - </para> - - <para> - Load a console font from stdin. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ loadfont < /etc/i18n/fontname - </screen> - </para> - </sect1> - - <sect1 id="loadkmap"> - <title>loadkmap</title> - - <para> - Usage: loadkmap - </para> - - <para> - Load a binary keyboard translation table from stdin. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ loadkmap < /etc/i18n/lang-keymap - </screen> - </para> - </sect1> - - <sect1 id="logger"> - <title>logger</title> - - <para> - Usage: logger [OPTION]... [MESSAGE] - </para> - - <para> - Write MESSAGE to the system log. If MESSAGE is omitted, log - stdin. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ logger "hello" - </screen> - </para> - </sect1> - - <sect1 id="logname"> - <title>logname</title> - - <para> - Usage: logname - </para> - - <para> - Print the name of the current user. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ logname - root - </screen> - </para> - </sect1> - - <sect1 id="logread"> - <title>logread</title> - - <para> - Usage: logread [OPTION]... - </para> - - <para> - Shows the messages from syslogd (using circular buffer). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -f Output data as the log grows. - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ logread - </screen> - </para> - </sect1> - - <sect1 id="ls"> - <title>ls</title> - - <para> - Usage: ls [OPTION]... [FILE]... - </para> - - <para> - - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Do not hide entries starting with . - -c With -l: show ctime (the time of last - modification of file status information) - -d List directory entries instead of contents - -e List both full date and full time - -l Use a long listing format - -n List numeric UIDs and GIDs instead of names - -p Append indicator (one of /=@|) to entries - -u With -l: show access time (the time of last - access of the file) - -x List entries by lines instead of by columns - -A Do not list implied . and .. - -C List entries by columns - -F Append indicator (one of */=@|) to entries - -L list entries pointed to by symbolic links - -R List subdirectories recursively - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - </screen> - </para> - </sect1> - - <sect1 id="lsmod"> - <title>lsmod</title> - - <para> - Usage: lsmod - </para> - - <para> - List currently loaded kernel modules. - </para> - </sect1> - - <sect1 id="makedevs"> - <title>makedevs</title> - - <para> - Usage: makedevsf NAME TYPE MAJOR MINOR FIRST LAST [s] - </para> - - <para> - Create a range of block or character special files. - </para> - - <para> - TYPE may be: - </para> - - <para> - <screen> - 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 - </screen> - </para> - - <para> - 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. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ makedevs /dev/ttyS c 4 66 2 63 - [creates ttyS2-ttyS63] - $ makedevs /dev/hda b 3 0 0 8 s - [creates hda,hda1-hda8] - </screen> - </para> - </sect1> - - <sect1 id="md5sum"> - <title>md5sum</title> - - <para> - Usage: md5sum [OPTION]... FILE... - </para> - - <para> - Print or check MD5 checksums. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -b Read files in binary mode - -c Check MD5 sums against given list - -t Read files in text mode (default) - -g Read a string - </screen> - </para> - - <para> - The following two options are useful only when verifying - checksums: - </para> - - <para> - <screen> - -s Don't output anything, status code shows success - -w Warn about improperly formated MD5 checksum lines - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ md5sum busybox - 6fd11e98b98a58f64ff3398d7b324003 busybox - $ md5sum -c - 6fd11e98b98a58f64ff3398d7b324003 busybox - 6fd11e98b98a58f64ff3398d7b324002 busybox - md5sum: MD5 check failed for 'busybox' - ^D - </screen> - </para> - </sect1> - - <sect1 id="mkdir"> - <title>mkdir</title> - - <para> - Usage: mkdir [OPTION]... DIRECTORY... - </para> - - <para> - Create the DIRECTORY(s), if they do not already exist. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -m Set permission mode (as in chmod), not rwxrwxrwx - umask - -p No error if directory exists, make parent directories as needed - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="mkfifo"> - <title>mkfifo</title> - - <para> - Usage: mkfifo [OPTION] NAME - </para> - - <para> - Create a named pipe (identical to 'mknod NAME p'). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -m MODE Create the pipe using the specified mode (default a=rw) - </screen> - </para> - </sect1> - - <sect1 id="mkfs.minix"> - <title>mkfs.minix</title> - - <para> - Usage: mkfs.minix [OPTION]... NAME [BLOCKS] - </para> - - <para> - Make a MINIX filesystem. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Check the device for bad blocks - -n [14|30] Specify the maximum length of filenames - -i Specify the number of inodes for the filesystem - -l FILENAME Read the bad blocks list from FILENAME - -v Make a Minix version 2 filesystem - </screen> - </para> - </sect1> - - <sect1 id="mknod"> - <title>mknod</title> - - <para> - Usage: mknod [OPTION]... NAME TYPE MAJOR MINOR - </para> - - <para> - Create a special file (block, character, or pipe). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -m Create the special file using the specified mode (default a=rw) - </screen> - </para> - - <para> - TYPE may be: - </para> - - <para> - <screen> - 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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ mknod /dev/fd0 b 2 0 - $ mknod -m 644 /tmp/pipe p - </screen> - </para> - </sect1> - - <sect1 id="mkswap"> - <title>mkswap</title> - - <para> - Usage: mkswap [OPTION]... DEVICE [BLOCKS] - </para> - - <para> - Prepare a disk partition to be used as a swap partition. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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). - BLOCKS Number of block to use (default is entire partition). - </screen> - </para> - </sect1> - - <sect1 id="mktemp"> - <title>mktemp</title> - - <para> - Usage: mktemp TEMPLATE - </para> - - <para> - Creates a temporary file with its name based on - TEMPLATE. TEMPLATE is any name with six `Xs' (i.e., - /tmp/temp.XXXXXX). - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ mktemp /tmp/temp.XXXXXX - /tmp/temp.mWiLjM - $ ls -la /tmp/temp.mWiLjM - -rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM - </screen> - </para> - </sect1> - - <sect1 id="more"> - <title>more</title> - - <para> - Usage: more [FILE]... - </para> - - <para> - Page through text one screenful at a time. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ dmesg | more - </screen> - </para> - </sect1> - - <sect1 id="mount"> - <title>mount</title> - - <para> - Usage: mount [OPTION]... - </para> - - <para> - <screen> - or: mount [OPTION]... DEVICE DIRECTORY - </screen> - </para> - - <para> - Mount filesystems. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Mount all filesystems in /etc/fstab - -o One of the many filesystem options listed below - -r Mount the filesystem read-only - -t TYPE Specify the filesystem type - -w Mount the filesystem read-write - </screen> - </para> - - <para> - Options for use with the -o flag: - </para> - - <para> - <screen> - async/sync Writes are asynchronous / synchronous - atime/noatime Enable / disable updates to inode access times - dev/nodev Allow / disallow use of special device files - exec/noexec Allow / disallow use of executable files - loop Mount a file via loop device - suid/nosuid Allow / disallow set-user-id-root programs - remount Remount a currently mounted filesystem - ro/rw Mount filesystem read-only / read-write - </screen> - </para> - - <para> - There are even more flags that are filesystem specific. - You'll have to see the written documentation for those. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="mt"> - <title>mt</title> - - <para> - Usage: mt [OPTION] OPCODE VALUE - </para> - - <para> - Control magnetic tape drive operation. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -f DEVICE Control DEVICE - </screen> - </para> - </sect1> - - <sect1 id="mv"> - <title>mv</title> - - <para> - Usage: mv SOURCE DEST - </para> - - <para> - <screen> - or: mv SOURCE... DIRECTORY - </screen> - </para> - - <para> - Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ mv /tmp/foo /bin/bar - </screen> - </para> - </sect1> - - <sect1 id="nc"> - <title>nc</title> - - <para> - Usage: nc HOST PORT - </para> - - <para> - or: nc -p PORT -l - </para> - - - <para> - Open a pipe to HOST:PORT or listen for a connection on PORT. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="nslookup"> - <title>nslookup</title> - - <para> - Usage: nslookup [HOST] - </para> - - <para> - Query the nameserver for the IP address of the given - HOST. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ nslookup localhost - Server: default - Address: default - - Name: debian - Address: 127.0.0.1 - </screen> - </para> - </sect1> - - <sect1 id="ping"> - <title>ping</title> - - <para> - Usage: ping [OPTION]... HOST - </para> - - <para> - Send ICMP ECHO_REQUEST packets to HOST. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="poweroff"> - <title>poweroff</title> - - <para> - Usage: poweroff - </para> - - <para> - Shut down the system, and request that the kernel turn - off power upon halting. - </para> - </sect1> - - <sect1 id="printf"> - <title>printf</title> - - <para> - Usage: printf FORMAT [ARGUMENT]... - </para> - - <para> - Format and print the given data in a manner similar to - the C printf command. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ printf "Val=%d\n" 5 - Val=5 - </screen> - </para> - </sect1> - - <sect1 id="ps"> - <title>ps</title> - - <para> - Usage: ps - </para> - - <para> - Report process status. This version of ps accepts no - options. - </para> - - <para> - Options: - </para> - - <para> - <screen> - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="pwd"> - <title>pwd</title> - - <para> - Usage: pwd - </para> - - <para> - Print the full filename of the current working - directory. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ pwd - /root - </screen> - </para> - </sect1> - - <sect1 id="rdate"> - <title>rdate</title> - - <para> - Usage: rdate [OPTION] HOST - </para> - - <para> - Get and possibly set the system date and time from a remote HOST. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -s Set the system date and time (default). - -p Print the date and time. - </screen> - </para> - </sect1> - - <sect1 id="reboot"> - <title>reboot</title> - - <para> - Usage: reboot - </para> - - <para> - Reboot the system. - </para> - </sect1> - - <sect1 id="renice"> - <title>renice</title> - - <para> - Usage: renice priority pid [pid ...] - </para> - - <para> - Changes priority of running processes. Allowed priorities range - from 20 (the process runs only when nothing else is running) to 0 - (default priority) to -20 (almost nothing else ever gets to run). - </para> - </sect1> - - <sect1 id="reset"> - <title>reset</title> - - <para> - Usage: reset - </para> - - <para> - Resets the screen. - </para> - </sect1> - - <sect1 id="rm"> - <title>rm</title> - - <para> - Usage: rm [OPTION]... FILE... - </para> - - <para> - Remove (unlink) the FILE(s). You may use '--' to - indicate that all following arguments are non-options. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -i Always prompt before removing each destinations - -f Remove existing destinations, never prompt - -r or -R Remove the contents of directories recursively - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ rm -rf /tmp/foo - </screen> - </para> - </sect1> - - <sect1 id="rmdir"> - <title>rmdir</title> - - <para> - Usage: rmdir DIRECTORY... - </para> - - <para> - Remove DIRECTORY(s) if they are empty. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ rmdir /tmp/foo - </screen> - </para> - </sect1> - - <sect1 id="rmmod"> - <title>rmmod</title> - - <para> - Usage: rmmod [OPTION]... [MODULE]... - </para> - - <para> - Unload MODULE(s) from the kernel. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Remove all unused modules (recursively) - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ rmmod tulip - </screen> - </para> - </sect1> - - <sect1 id="run-parts"> - <title>run-parts</title> - - <para> - Usage: run-parts [-t] [-a ARG] [-u MASK] DIRECTORY - </para> - - <para> - Run a bunch of scripts in a directory. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -t Test only. It only print the file to be executed, - without execute them. - -a ARG Pass ARG as an a argument to the programs executed. - -u MASK Set the umask to MASK before executing the programs. - </screen> - </para> - </sect1> - - - - <sect1 id="sed"> - <title>sed</title> - - <para> - Usage: sed [OPTION]... SCRIPT [FILE]... - </para> - - <para> - Allowed sed scripts come in the following form: - </para> - - <para> - <screen> - ADDR [!] COMMAND - </screen> - </para> - - <para> - ADDR can be: - </para> - - <para> - <screen> - NUMBER Match specified line number - $ Match last line - /REGEXP/ Match specified regexp - </screen> - </para> - - <para> - ! inverts the meaning of the match - </para> - - <para> - COMMAND can be: - </para> - - <para> - <screen> - s/regexp/replacement/[igp] - which attempt to match regexp against the pattern space - and if successful replaces the matched portion with replacement. - aTEXT - which appends TEXT after the pattern space - </screen> - </para> - - <para> - This version of sed matches full regular expressions. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -e Add the script to the commands to be executed - -n Suppress automatic printing of pattern space - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g' - bar - </screen> - </para> - </sect1> - - <sect1 id="setkeycodes"> - <title>setkeycodes</title> - - <para> - Usage: setkeycodes SCANCODE KEYCODE ... - </para> - - <para> - Set entries into the kernel's scancode-to-keycode map, - allowing unusual keyboards to generate usable keycodes. - </para> - - <para> - SCANCODE may be either xx or e0xx (hexadecimal), and - KEYCODE is given in decimal. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ setkeycodes e030 127 - </screen> - </para> - </sect1> - - - <sect1 id="sh"> - <title>sh</title> - - <para> - Usage: sh - </para> - - <para> - lash -- the BusyBox LAme SHell (command interpreter) - </para> - - <para> - This command does not yet have proper documentation. - </para> - - <para> - 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 (#!/bin/sh), 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. - </para> - </sect1> - - <sect1 id="sleep"> - <title>sleep</title> - - <para> - Usage: sleep N - </para> - - <para> - Pause for N seconds. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ sleep 2 - [2 second delay results] - </screen> - </para> - </sect1> - - <sect1 id="sort"> - <title>sort</title> - - <para> - Usage: sort [OPTION]... [FILE]... - </para> - - <para> - Sort lines of text in FILE(s). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -n Compare numerically - -r Reverse after sorting - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo -e "e\nf\nb\nd\nc\na" | sort - a - b - c - d - e - f - </screen> - </para> - </sect1> - - <sect1 id="swapoff"> - <title>swapoff</title> - - <para> - Usage: swapoff [OPTION] [DEVICE] - </para> - - <para> - Stop swapping virtual memory pages on DEVICE. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Stop swapping on all swap devices - </screen> - </para> - </sect1> - - <sect1 id="swapon"> - <title>swapon</title> - - <para> - Usage: swapon [OPTION] [DEVICE] - </para> - - <para> - Start swapping virtual memory pages on the given device. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Start swapping on all swap devices - </screen> - </para> - </sect1> - - <sect1 id="sync"> - <title>sync</title> - - <para> - Usage: sync - </para> - - <para> - Write all buffered filesystem blocks to disk. - </para> - </sect1> - - <sect1 id="syslogd"> - <title>syslogd</title> - - <para> - Usage: syslogd [OPTION]... - </para> - - <para> - Linux system and kernel (provides klogd) logging - utility. Note that this version of syslogd/klogd ignores - /etc/syslog.conf. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -m NUM Interval between MARK lines (default=20min, 0=off) - -n Run as a foreground process - -K Do not start up the klogd process - -O FILE Use an alternate log file (default=/var/log/messages) - -R HOST[:PORT] Log remotely to IP or hostname on PORT (default PORT=514/UDP) - -L Log locally as well as network logging (default is network only) - -C [size(KiB)] Log to a circular buffer. Read this buffer using 'logread' - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ syslogd -R masterlog:514 - $ syslogd -R 192.168.1.1:601 - </screen> - </para> - </sect1> - - <sect1 id="tail"> - <title>tail</title> - - <para> - Usage: tail [OPTION] [FILE]... - </para> - - <para> - 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 stdin. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -n NUM Print last NUM lines instead of last 10 - -f Output data as the file grows. This version - of 'tail -f' supports only one file at a time. - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ tail -n 1 /etc/resolv.conf - nameserver 10.0.0.1 - </screen> - </para> - </sect1> - - <sect1 id="tar"> - <title>tar</title> - - <para> - Usage: tar [MODE] [OPTION] [FILE]... - </para> - - <para> - - </para> - - <para> - MODE may be chosen from - </para> - - <para> - <screen> - c Create - x Extract - t List - </screen> - </para> - - <para> - Options: - </para> - - <para> - <screen> - f FILE Use FILE for tarfile (or stdin if '-') - O Extract to stdout - exclude FILE File to exclude - v List files processed - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ zcat /tmp/tarball.tar.gz | tar -xf - - $ tar -cf /tmp/tarball.tar /usr/local - </screen> - </para> - </sect1> - - <sect1 id="tee"> - <title>tee</title> - - <para> - Usage: tee [OPTION]... [FILE]... - </para> - - <para> - Copy stdin to FILE(s), and also to stdout. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Append to the given FILEs, do not overwrite - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo "Hello" | tee /tmp/foo - Hello - $ cat /tmp/foo - Hello - </screen> - </para> - </sect1> - - <sect1 id="telnet"> - <title>telnet</title> - - <para> - Usage: telnet HOST [PORT] - </para> - - <para> - Establish interactive communication with another - computer over a network using the TELNET protocol. - </para> - </sect1> - - <sect1 id="test"> - <title>test, [</title> - - <para> - Usage: test EXPRESSION - </para> - - <para> - or: [ EXPRESSION ] - </para> - - <para> - Check file types and compare values returning an exit - code determined by the value of EXPRESSION. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ test 1 -eq 2 - $ echo $? - 1 - $ test 1 -eq 1 - $ echo $? - 0 - $ [ -d /etc ] - $ echo $? - 0 - $ [ -d /junk ] - $ echo $? - 1 - </screen> - </para> - </sect1> - - <sect1 id="touch"> - <title>touch</title> - - <para> - Usage: touch [OPTION]... FILE... - </para> - - <para> - Update the last-modified date on (or create) FILE(s). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Do not create files - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ 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 - </screen> - </para> - </sect1> - - <sect1 id="tr"> - <title>tr</title> - - <para> - Usage: tr [OPTION]... STRING1 [STRING2] - </para> - - <para> - Translate, squeeze, and/or delete characters from stdin, - writing to stdout. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Take complement of STRING1 - -d Delete input characters coded STRING1 - -s Squeeze multiple output characters of STRING2 into one character - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo "gdkkn vnqkc" | tr [a-y] [b-z] - hello world - </screen> - </para> - </sect1> - - <sect1 id="true"> - <title>true</title> - - <para> - Usage: true - </para> - - <para> - Return an exit code of TRUE (1). - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ true - $ echo $? - 0 - </screen> - </para> - </sect1> - - <sect1 id="tty"> - <title>tty</title> - - <para> - Usage: tty - </para> - - <para> - Print the file name of the terminal connected to stdin. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -s Print nothing, only return an exit status - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ tty - /dev/tty2 - </screen> - </para> - </sect1> - - <sect1 id="umount"> - <title>umount</title> - - <para> - Usage: umount [OPTION]... DEVICE|DIRECTORY [...] - </para> - - <para> - - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Unmount all file systems - -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) - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ umount /dev/hdc1 - </screen> - </para> - </sect1> - - <sect1 id="uname"> - <title>uname</title> - - <para> - Usage: uname [OPTION]... - </para> - - <para> - Print certain system information. With no OPTION, same - as -s. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -a Print all information - -m Print 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 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ uname -a - Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown - </screen> - </para> - </sect1> - - <sect1 id="uniq"> - <title>uniq</title> - - <para> - Usage: uniq [INPUT [OUTPUT]] - </para> - - <para> - Discard all but one of successive identical lines from - INPUT (or stdin), writing to OUTPUT (or stdout). - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c prefix lines by the number of occurrences - -d only print duplicate lines - -u only print unique lines - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ echo -e "a\na\nb\nc\nc\na" | sort | uniq - a - b - c - </screen> - </para> - </sect1> - - <sect1 id="unix2dos"> - <title>unix2dos</title> - - <para> - Usage: unix2dos < unixfile > dosfile - </para> - - <para> - Converts a text file from unix format to dos format. - </para> - - </sect1> - - <sect1 id="unrpm"> - <title>unrpm</title> - - <para> - Usage: unrpm < package.rpm | gzip -d | cpio -idmuv - </para> - - <para> - Extracts an rpm archive. - </para> - - </sect1> - - <sect1 id="update"> - <title>update</title> - - <para> - Usage: update [OPTION]... - </para> - - <para> - Periodically flush filesystem buffers. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -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) - </screen> - </para> - </sect1> - - <sect1 id="uptime"> - <title>uptime</title> - - <para> - Usage: uptime - </para> - - <para> - Display how long the system has been running since boot. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ uptime - 1:55pm up 2:30, load average: 0.09, 0.04, 0.00 - </screen> - </para> - </sect1> - - <sect1 id="usleep"> - <title>usleep</title> - - <para> - Usage: usleep N - </para> - - <para> - Pause for N microseconds. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ usleep 1000000 - [pauses for 1 second] - </screen> - </para> - </sect1> - - <sect1 id="uudecode"> - <title>uudecode</title> - - <para> - Usage: uudecode [OPTION] [FILE] - </para> - - <para> - Uudecode a uuencoded file. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -o FILE Direct output to FILE - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ uudecode -o busybox busybox.uu - $ ls -l busybox - -rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox - </screen> - </para> - </sect1> - - <sect1 id="uuencode"> - <title>uuencode</title> - - <para> - Usage: uuencode [OPTION] [INFILE] OUTFILE - </para> - - <para> - Uuencode a file. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -m Use base64 encoding as of RFC1521 - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ uuencode busybox busybox - begin 755 busybox - M?T5,1@$!`0````````````(``P`!````L+@$"#0```!0N@,``````#0`(``& - ..... - $ uudecode busybox busybox > busybox.uu - $ - </screen> - </para> - </sect1> - - <sect1 id="watchdog"> - <title>watchdog</title> - - <para> - Usage: watchdog device - </para> - - <para> - Periodically writes to watchdog device B<device>. - </para> - </sect1> - - <sect1 id="wc"> - <title>wc</title> - - <para> - Usage: wc [OPTION]... [FILE]... - </para> - - <para> - Print line, word, and byte counts for each FILE, and a - total line if more than one FILE is specified. With no - FILE, read stdin. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -c Print the byte counts - -l Print the newline counts - -L Print the length of the longest line - -w Print the word counts - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ wc /etc/passwd - 31 46 1365 /etc/passwd - </screen> - </para> - </sect1> - - <sect1 id="which"> - <title>which</title> - - <para> - Usage: which [COMMAND]... - </para> - - <para> - Locate COMMAND(s). - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ which login - /bin/login - </screen> - </para> - </sect1> - - <sect1 id="whoami"> - <title>whoami</title> - - <para> - Usage: whoami - </para> - - <para> - Print the user name associated with the current - effective user id. - </para> - - <para> - Example: - </para> - - <para> - <screen> - $ whoami - andersen - </screen> - </para> - </sect1> - - <sect1 id="xargs"> - <title>xargs</title> - - <para> - Usage: xargs [OPTIONS] [COMMAND] [ARGS...] - </para> - - <para> - Executes COMMAND on every item given by standard input. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -t Print the command just before it is run - </screen> - </para> - - - <para> - Example: - </para> - - <para> - <screen> - $ ls | xargs gzip - $ find . -name '*.c' -print | xargs rm - </screen> - </para> - </sect1> - - <sect1 id="yes"> - <title>yes</title> - - <para> - Usage: yes [STRING]... - </para> - - <para> - Repeatedly output a line with all specified STRING(s), - or `y'. - </para> - </sect1> - - <sect1 id="zcat"> - <title>zcat</title> - - <para> - Usage: zcat [OPTION]... FILE - </para> - - <para> - Uncompress FILE (or stdin if FILE is '-') to stdout. - </para> - - <para> - Options: - </para> - - <para> - <screen> - -t Test compressed file integrity - </screen> - </para> - - <para> - Example: - </para> - - <para> - <screen> - </screen> - </para> - </sect1> - </chapter> - - <chapter id="LIBC-NSS"> - <title>LIBC NSS</title> - - <para> - 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 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 /lib/libnss_* - libraries installed. - </para> - - <para> - 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. - </para> - </chapter> - - <chapter id="SEE-ALSO"> - <title>SEE ALSO</title> - - <para> - <literal>textutils(1),</literal> - <literal>shellutils(1),</literal> - etc... - </para> - </chapter> - - <chapter id="MAINTAINER"> - <title>MAINTAINER</title> - - <para> - Erik Andersen <andersen@codepoet.org> - </para> - </chapter> - - <chapter id="AUTHORS"> - <title>AUTHORS</title> - - <para> - The following people have made significant contributions to - BusyBox -- whether they know it or not. - </para> - - <para> - Erik Andersen <andersen@codepoet.org> - </para> - - <para> - Edward Betts <edward@debian.org> - </para> - - <para> - John Beppu <beppu@codepoet.org> - </para> - - <para> - Brian Candler <B.Candler@pobox.com> - </para> - - <para> - Randolph Chung <tausq@debian.org> - </para> - - <para> - Dave Cinege <dcinege@psychosis.com> - </para> - - <para> - Karl M. Hegbloom <karlheg@debian.org> - </para> - - <para> - Daniel Jacobowitz <dan@debian.org> - </para> - - <para> - Matt Kraai <kraai@alumni.carnegiemellon.edu> - </para> - - <para> - John Lombardo <john@deltanet.com> - </para> - - <para> - Glenn McGrath <bug1@netconnect.com.au> - </para> - - <para> - Bruce Perens <bruce@perens.com> - </para> - - <para> - Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com> - </para> - - <para> - Pavel Roskin <proski@gnu.org> - </para> - - <para> - Gyepi Sam <gyepi@praxis-sw.com> - </para> - - <para> - Linus Torvalds <torvalds@transmeta.com> - </para> - - <para> - Mark Whitley <markw@codepoet.org> - </para> - - <para> - Charles P. Wright <cpwright@villagenet.com> - </para> - - <para> - Enrique Zanardi <ezanardi@ull.es> - </para> - - <para> - Vladimir Oleynik <dzo@simtreas.ru> - </para> - - - </chapter> -</book> <!-- End of the book --> |