diff options
Diffstat (limited to 'docs/busybox.sgml')
-rw-r--r-- | docs/busybox.sgml | 5495 |
1 files changed, 5495 insertions, 0 deletions
diff --git a/docs/busybox.sgml b/docs/busybox.sgml new file mode 100644 index 000000000..cf7161a23 --- /dev/null +++ b/docs/busybox.sgml @@ -0,0 +1,5495 @@ +<!DOCTYPE book PUBLIC "-//Davenport//DTD DocBook V2.4.1//EN" "/opt/texmf/gmat/sgml/Davenport/dtds/2.4.1/docbook.dtd"> +<!-- --> +<!-- $Id: busybox.sgml,v 1.1 2000/06/26 13:31:53 markw Exp $ --> +<!-- --> +<!-- $Log: busybox.sgml,v $ +<!-- Revision 1.1 2000/06/26 13:31:53 markw +<!-- Just converted busybox.pod to busybox.sgml using the Pod::DocBook Perl module. +<!-- The resulting file needs some massaging and once it gets presentable, I'll +<!-- edit the Makefile to use the SGML file as the "authoritative" file; the plan +<!-- here is to generate other file formats from the SGML. +<!-- --> +<!-- --> +<!-- General reminders: --> + +<book> + +<chapter id="pod2docbook-ch-1"><title>BusyBox - The Swiss Army Knife of Embedded Linux + +</title> +<chapter id="pod2docbook-ch-1"><title>NAME + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +BusyBox - The Swiss Army Knife of Embedded Linux + + +</para> + +<sect1 id="pod2docbook-ch-1-sect-1"><title>SYNTAX + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +<screen> + BusyBox <function> [arguments...] # or +</screen> + + +</para> + +<para> +<screen> + <function> [arguments...] # if symlinked +</screen> + + +</para> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-2"><title>DESCRIPTION + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<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> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-3"><title>USAGE + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<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="pod2docbook-ch-1-sect-4"><title>COMMON OPTIONS + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +Most BusyBox commands support the <emphasis>--help</emphasis> option to provide a terse runtime description of their behavior. + + +</para> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-5"><title>COMMANDS + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +Currently defined functions include: + + +</para> + +<para> +ar, basename, cat, chgrp, chmod, chown, chroot, chvt, clear, cp, cut, date, +dc, dd, deallocvt, df, dirname, dmesg, du, dutmp, echo, false, fbset, +fdflush, find, free, freeramdisk, fsck.minix, grep, gunzip, gzip, halt, +head, hostid, hostname, id, init, insmod, kill, killall, length, ln, +loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs, mkdir, +mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, +nslookup, ping, poweroff, printf, ps, pwd, reboot, rm, rmdir, rmmod, sed, +setkeycodes, sfdisk, sh, sleep, sort, swapoff, swapon, sync, syslogd, tail, +tar, tee, telnet, test, touch, tr, true, tty, umount, uname, uniq, update, +uptime, usleep, uudecode, uuencode, wc, which, whoami, yes, zcat, [ + + +</para> + +<para> +------------------------------- + + +</para> + +<variableList> +<varlistentry><term><emphasis>ar + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: ar [optxvV] archive [filenames] + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>basename + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: basename FILE [SUFFIX] + + +</para> + +<para> +Strips 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>cat + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: cat [FILE ...] + + +</para> + +<para> +Concatenates <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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>chgrp + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>chmod + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: chmod [<emphasis>-R</emphasis>] MODE[,MODE]... FILE... + + +</para> + +<para> +Changes 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>chown + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE... + + +</para> + +<para> +Changes the owner and/or group of each FILE to OWNER and/or GROUP. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -R Changes 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>chroot + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>clear + +</emphasis></term> +<listitem><para></para> + +<para> +Clears the screen. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>chvt + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: chvt N + + +</para> + +<para> +Changes the foreground virtual terminal to /dev/ttyN + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>cp + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: cp [OPTION]... SOURCE DEST + + +</para> + +<para> +<screen> + or: cp [OPTION]... SOURCE... DIRECTORY +</screen> + + +</para> + +<para> +Copies SOURCE to DEST, or multiple <literal>SOURCE(s)</literal> to +DIRECTORY. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -a Same as -dpR + -d Preserves links + -p Preserves file attributes if possible + -R Copies directories recursively +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>cut + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: cut [OPTION]... [FILE]... + + +</para> + +<para> +Prints 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 Only output Lines if the include DELIM + -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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>date + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: date [OPTION]... [+FORMAT] + + +</para> + +<para> +<screen> + or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] +</screen> + + +</para> + +<para> +Displays the current time in the given FORMAT, or sets the system date. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -R Outputs RFC-822 compliant date string + -s Sets time described by STRING + -u Prints or sets Coordinated Universal Time +</screen> + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ date + Wed Apr 12 18:52:41 MDT 2000 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>dc + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>dd + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n] + + +</para> + +<para> +Copy a file, converting and formatting according to 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>df + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: df [filesystem ...] + + +</para> + +<para> +Prints 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>dirname + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: dirname NAME + + +</para> + +<para> +Strip non-directory suffix from file name + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ dirname /tmp/foo + /tmp + $ dirname /tmp/foo/ + /tmp +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>dmesg + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: dmesg [<emphasis>-c</emphasis>] [<emphasis>-n</emphasis> level] [<emphasis>-s</emphasis> bufsize] + + +</para> + +<para> +Print or controls the kernel ring buffer. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>du + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: du [OPTION]... [FILE]... + + +</para> + +<para> +Summarize disk space used for each FILE and/or directory. Disk space is +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> + $ ./BusyBox 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>dutmp + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>echo + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: echo [-neE] [ARG ...] + + +</para> + +<para> +Prints the specified ARGs to stdout + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -n suppress trailing newline + -e interpret backslash-escaped characters (i.e. \t=tab etc) + -E disable interpretation of backslash-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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>false + +</emphasis></term> +<listitem><para></para> + +<para> +Returns an exit code of FALSE (1) + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ false + $ echo $? + 1 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>fbset + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: fbset [options] [mode] + + +</para> + +<para> +Show and modify frame buffer device settings + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -h + -fb + -db + -a + -i + -g + -t + -accel + -hsync + -vsync + -laced + -double +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>fdflush + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: fdflush device + + +</para> + +<para> +Force floppy disk drive to detect disk change + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>find + +</emphasis></term> +<listitem><para></para> + +<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. + -print print the full file name followed by a newline to stdout. +</screen> + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ find / -name /etc/passwd + /etc/passwd +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>free + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>freeramdisk + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: freeramdisk DEVICE + + +</para> + +<para> +Frees all memory used by the specified ramdisk. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ freeramdisk /dev/ram2 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>deallocvt + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: deallocvt N + + +</para> + +<para> +Deallocates unused virtual terminal /dev/ttyN + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>fsck.minix + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: fsck.minix [<emphasis>-larvsmf</emphasis>] /dev/name + + +</para> + +<para> +Performs a consistency check for MINIX filesystems. + + +</para> + +<para> +OPTIONS: + + +</para> + +<para> +<screen> + -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. +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>grep + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: grep [OPTIONS]... PATTERN [FILE]... + + +</para> + +<para> +Search for PATTERN in each FILE or standard input. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>gunzip + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: gunzip [OPTION]... FILE + + +</para> + +<para> +Uncompress FILE (or standard input 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>gzip + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: gzip [OPTION]... FILE + + +</para> + +<para> +Compress FILE with maximum compression. When FILE is '-', reads standard +input. Implies <emphasis>-c</emphasis>. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -c Write output to standard output instead of FILE.gz +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>halt + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: halt + + +</para> + +<para> +This command halts the system. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>head + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>hostid + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>hostname + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: hostname [OPTION] {hostname | <emphasis>-F</emphasis> file} + + +</para> + +<para> +Get or set the hostname or DNS domain name. If a hostname is given (or a +file with the <emphasis>-F</emphasis> 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 Use the contents of FILE to specify the hostname +</screen> + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ hostname + slag +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>id + +</emphasis></term> +<listitem><para></para> + +<para> +Print information for USERNAME or the current user + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -g prints only the group ID + -u prints only the user ID + -r prints 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>init + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +<screen> + <id>: +</screen> + + +</para> + +<para> +<screen> + 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, it is completely ignored. Also note that if + BusyBox detects that a serial console is in use, then all entries + containing non-empty id fields will _not_ be run. BusyBox init does + nothing with utmp. We don't need no stinkin' utmp. +</screen> + + +</para> + +<para> +<screen> + <runlevels>: +</screen> + + +</para> + +<para> +<screen> + The runlevels field is completely ignored. +</screen> + + +</para> + +<para> +<screen> + <action>: +</screen> + + +</para> + +<para> +<screen> + Valid actions include: sysinit, respawn, askfirst, wait, + once, and ctrlaltdel. +</screen> + + +</para> + +<para> +<screen> + askfirst acts just like respawn, but 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. +</screen> + + +</para> + +<para> +<screen> + Unrecognized actions (like initdefault) will cause init to emit + an error message, and then go along with its business. +</screen> + + +</para> + +<para> +<screen> + <process>: +</screen> + + +</para> + +<para> +<screen> + Specifies the process to be executed and it's command line. +</screen> + + +</para> + +<para> +Example /etc/inittab file: + + +</para> + +<para> +<screen> + # This is run first except when booting in single-user mode. + # + ::sysinit:/etc/init.d/rcS +</screen> + + +</para> + +<para> +<screen> + # /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 + tty2::askfirst:/bin/sh +</screen> + + +</para> + +<para> +<screen> + # /sbin/getty invocations for selected ttys + # + tty4::respawn:/sbin/getty 38400 tty4 + tty5::respawn:/sbin/getty 38400 tty5 +</screen> + + +</para> + +<para> +<screen> + # Example of how to put a getty on a serial line (for a terminal) + # + #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100 + #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100 + # + # Example how to put a getty on a modem line. + #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2 +</screen> + + +</para> + +<para> +<screen> + # Stuff to do before rebooting + ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1 + ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>insmod + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: insmod [OPTION]... MODULE [symbol=value]... + + +</para> + +<para> +Loads the specified kernel modules 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 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>kill + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: kill [<emphasis>-signal</emphasis>] process-id [process-id ...] + + +</para> + +<para> +Send a signal (default is SIGTERM) to the specified +<literal>process(es).</literal> + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -l List all signal names and numbers. +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>killall + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: killall [<emphasis>-signal</emphasis>] process-name [process-name ...] + + +</para> + +<para> +Send a signal (default is SIGTERM) to the specified +<literal>process(es).</literal> + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -l List all signal names and numbers. +</screen> + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ killall apache +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>length + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: length STRING + + +</para> + +<para> +Prints out the length of the specified STRING. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ length "Hello" + 5 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>ln + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY + + +</para> + +<para> +Create a link named LINK_NAME 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 links instead of hard links + -f remove existing destination files +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>loadacm + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: loadacm + + +</para> + +<para> +Loads an acm from standard input. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ loadacm < /etc/i18n/acmname +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>loadfont + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: loadfont + + +</para> + +<para> +Loads a console font from standard input. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ loadfont < /etc/i18n/fontname +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>loadkmap + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: loadkmap + + +</para> + +<para> +Loads a binary keyboard translation table from standard input. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ loadkmap < /etc/i18n/lang-keymap +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>logger + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: logger [OPTION]... [MESSAGE] + + +</para> + +<para> +Write MESSAGE to the system log. If MESSAGE is '-', 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>logname + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: logname + + +</para> + +<para> +Print the name of the current user. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ logname + root +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>ls + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: ls [<emphasis>-1acdelnpuxACFR</emphasis>] [filenames...] + + +</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 + -R list subdirectories recursively +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>lsmod + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: lsmod + + +</para> + +<para> +Shows a list of all currently loaded kernel modules. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>makedevs + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s] + + +</para> + +<para> +Creates a range of block or character special files + + +</para> + +<para> +TYPEs include: + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>md5sum + +</emphasis></term> +<listitem><para></para> + +<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 + busybox: OK + ^D +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mkdir + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mkdir [OPTION] DIRECTORY... + + +</para> + +<para> +Create the <literal>DIRECTORY(ies),</literal> 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mkfifo + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mkfifo [OPTIONS] name + + +</para> + +<para> +Creates a named pipe (identical to 'mknod name p') + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -m create the pipe using the specified mode (default a=rw) +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mkfs.minix + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mkfs.minix [<emphasis>-c</emphasis> | <emphasis>-l</emphasis> filename] [<emphasis>-nXX</emphasis>] [<emphasis>-iXX</emphasis>] /dev/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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mknod + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mknod [OPTIONS] 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> +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. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ mknod /dev/fd0 b 2 0 + $ mknod -m 644 /tmp/pipe p +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mkswap + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mkswap [<emphasis>-c</emphasis>] [<emphasis>-v0</emphasis>|<emphasis>-v1</emphasis>] device [block-count] + + +</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). + block-count Number of block to use (default is entire partition). +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mktemp + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mktemp [<emphasis>-q</emphasis>] 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>nc + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: nc [IP] [port] + + +</para> + +<para> +Netcat opens a pipe to IP: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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>more + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: more [file ...] + + +</para> + +<para> +More is a filter for paging through text one screenful at a time. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ dmesg | more +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mount + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mount [flags] mount [flags] device directory [<emphasis>-o</emphasis> options,more-options] + + +</para> + +<para> +Flags: + + +</para> + +<para> +<screen> + -a: Mount all file systems in fstab. + -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). +</screen> + + +</para> + +<para> +Options for use with the ``<emphasis>-o</emphasis>'' flag: + + +</para> + +<para> +<screen> + 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 currently-mounted filesystem, changing its flags. + ro/rw: Mount for read-only / read-write. + There are EVEN MORE flags that are specific to each filesystem. + You'll have to see the written documentation for those. +</screen> + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mt + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mt [<emphasis>-f</emphasis> device] opcode value + + +</para> + +<para> +Control magnetic tape drive operation + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>mv + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: mv SOURCE DEST + + +</para> + +<para> +<screen> + or: mv SOURCE... DIRECTORY +</screen> + + +</para> + +<para> +Rename SOURCE to DEST, or move <literal>SOURCE(s)</literal> to DIRECTORY. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ mv /tmp/foo /bin/bar +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>nslookup + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: nslookup [HOST] + + +</para> + +<para> +Queries the nameserver for the IP address of the given HOST + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ nslookup localhost + Server: default + Address: default +</screen> + + +</para> + +<para> +<screen> + Name: debian + Address: 127.0.0.1 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>ping + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: ping [OPTION]... host + + +</para> + +<para> +Send ICMP ECHO_REQUEST packets to network hosts. + + +</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. +Example: +</screen> + + +</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 +</screen> + + +</para> + +<para> +<screen> + --- 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>poweroff + +</emphasis></term> +<listitem><para></para> + +<para> +Shuts down the system, and requests that the kernel turn off power upon +halting. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>printf + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: printf format [argument...] + + +</para> + +<para> +Formats and prints 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>ps + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: ps + + +</para> + +<para> +Report process status + + +</para> + +<para> +This version of ps accepts no options. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>pwd + +</emphasis></term> +<listitem><para></para> + +<para> +Prints the full filename of the current working directory. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ pwd + /root +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>reboot + +</emphasis></term> +<listitem><para></para> + +<para> +Instructs the kernel to reboot the system. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>rm + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: rm [OPTION]... FILE... + + +</para> + +<para> +Remove (unlink) the <literal>FILE(s).</literal> You may use '--' to +indicate that all following arguments are non-options. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>rmdir + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: rmdir [OPTION]... DIRECTORY... + + +</para> + +<para> +Remove the <literal>DIRECTORY(ies),</literal> if they are empty. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + # rmdir /tmp/foo +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>rmmod + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: rmmod [OPTION]... [MODULE]... + + +</para> + +<para> +Unloads the specified kernel modules from the kernel. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -a Try to remove all unused kernel modules. +</screen> + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ rmmod tulip +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sed + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: sed [<emphasis>-n</emphasis>] <emphasis>-e</emphasis> script [file...] + + +</para> + +<para> +Allowed sed scripts come in the following form: + + +</para> + +<para> +<screen> + 'ADDR [!] COMMAND' +</screen> + + +</para> + +<para> +<screen> + where address ADDR can be: + NUMBER Match specified line number + $ Match last line + /REGEXP/ Match specified regexp + (! inverts the meaning of the match) +</screen> + + +</para> + +<para> +<screen> + and COMMAND can be: + s/regexp/replacement/[igp] + which attempt to match regexp against the pattern space + and if successful replaces the matched portion with replacement. +</screen> + + +</para> + +<para> +<screen> + aTEXT + which appends TEXT after the pattern space +</screen> + + +</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> +This version of sed matches full regular expressions. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g' + bar +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>setkeycodes + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sh + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sfdisk + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: sfdisk [options] device ... + + +</para> + +<para> +device: something like /dev/hda or /dev/sda + + +</para> + +<para> +useful options: + + +</para> + +<para> +<screen> + -s [or --show-size]: list size of a partition + -c [or --id]: print or change partition Id + -l [or --list]: list partitions of each device + -d [or --dump]: idem, but in a format suitable for later input + -i [or --increment]: number cylinders etc. from 1 instead of from 0 + -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/cylinders/MB + -T [or --list-types]:list the known partition types + -D [or --DOS]: for DOS-compatibility: waste a little space + -R [or --re-read]: make kernel reread partition table + -N# : change only the partition with number # + -n : do not actually write to disk + -O file : save the sectors that will be overwritten to file + -I file : restore these sectors again + -v [or --version]: print version + -? [or --help]: print this message +</screen> + + +</para> + +<para> +dangerous options: + + +</para> + +<para> +<screen> + -g [or --show-geometry]: print the kernel's idea of the geometry + -x [or --show-extended]: also list extended partitions on output +</screen> + + +</para> + +<para> +<screen> + or expect descriptors for them on input + -L [or --Linux]: do not complain about things irrelevant for Linux + -q [or --quiet]: suppress warning messages + You can override the detected geometry using: + -C# [or --cylinders #]:set the number of cylinders to use + -H# [or --heads #]: set the number of heads to use + -S# [or --sectors #]: set the number of sectors to use +</screen> + + +</para> + +<para> +You can disable all consistency checking with: + + +</para> + +<para> +<screen> + -f [or --force]: do what I say, even if it is stupid +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sleep + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: sleep N + + +</para> + +<para> +Pause for N seconds. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ sleep 2 + [2 second delay results] +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sort + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: sort [<emphasis>-n</emphasis>] [<emphasis>-r</emphasis>] [FILE]... + + +</para> + +<para> +Sorts lines of text in the specified files + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ echo -e "e\nf\nb\nd\nc\na" | sort + a + b + c + d + e + f +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>sync + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: sync + + +</para> + +<para> +Write all buffered filesystem blocks to disk. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>syslogd + +</emphasis></term> +<listitem><para></para> + +<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) +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>swapon + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>swapoff + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: swapoff [OPTION] [device] + + +</para> + +<para> +Stop swapping virtual memory pages on the given device. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -a Stop swapping on all swap devices +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>tail + +</emphasis></term> +<listitem><para></para> + +<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 standard input. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -n NUM Print last NUM lines instead of first 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>tar + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: tar -[cxtvO] [<emphasis>--exclude</emphasis> File] [<emphasis>-f</emphasis> tarFile] [FILE] ... + + +</para> + +<para> +Create, extract, or list files from a tar file. Note that this version of +tar treats hard links as separate files. + + +</para> + +<para> +Main operation mode: + + +</para> + +<para> +<screen> + c create + x extract + t list +</screen> + + +</para> + +<para> +File selection: + + +</para> + +<para> +<screen> + f name of tarfile or "-" for stdin + O extract to stdout + --exclude file to exclude +</screen> + + +</para> + +<para> +Informative output: + + +</para> + +<para> +<screen> + v verbosely 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>test, [ + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: test EXPRESSION or [ EXPRESSION ] + + +</para> + +<para> +Checks file types and compares 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>telnet + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: telnet host [port] + + +</para> + +<para> +Telnet is used to establish interactive communication with another computer +over a network using the TELNET protocol. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>tee + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: tee [OPTION]... [FILE]... + + +</para> + +<para> +Copy standard input to each FILE, and also to standard output. + + +</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 + $ cat /tmp/foo + Hello +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>touch + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: touch [<emphasis>-c</emphasis>] file [file ...] + + +</para> + +<para> +Update the last-modified date on (or create) the selected file[s]. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>tr + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: tr [-cds] STRING1 [STRING2] + + +</para> + +<para> +Translate, squeeze, and/or delete characters from standard input, writing +to standard output. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>true + +</emphasis></term> +<listitem><para></para> + +<para> +Returns an exit code of TRUE (0) + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ true + $ echo $? + 0 +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>tty + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: tty + + +</para> + +<para> +Print the file name of the terminal connected to standard input. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>uuencode + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: uuencode [OPTION] [INFILE] REMOTEFILE + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>uudecode + +</emphasis></term> +<listitem><para></para> + +<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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>umount + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: umount [flags] filesystem|directory + + +</para> + +<para> +Flags: + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>uname + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: uname [OPTION]... + + +</para> + +<para> +Print certain system information. With no OPTION, same as <emphasis>-s</emphasis>. + + +</para> + +<para> +Options: + + +</para> + +<para> +<screen> + -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 +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>uniq + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: uniq [OPTION]... [INPUT [OUTPUT]] + + +</para> + +<para> +Discard all but one of successive identical lines from INPUT (or standard +input), writing to OUTPUT (or standard output). + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ echo -e "a\na\nb\nc\nc\na" | sort | uniq + a + b + c +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>update + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: update [options] + + +</para> + +<para> +Periodically flushes 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>uptime + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: uptime + + +</para> + +<para> +Tells 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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>usleep + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: usleep N + + +</para> + +<para> +Pauses for N microseconds. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ usleep 1000000 + [pauses for 1 second] +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>wc + +</emphasis></term> +<listitem><para></para> + +<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 standard input. + + +</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> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>which + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: which [COMMAND ...] + + +</para> + +<para> +Locates a COMMAND. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ which login + /bin/login +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>whoami + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: whoami + + +</para> + +<para> +Prints the user name associated with the current effective user id. + + +</para> + +<para> +Example: + + +</para> + +<para> +<screen> + $ whoami + andersen +</screen> + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>yes + +</emphasis></term> +<listitem><para></para> + +<para> +Usage: yes [OPTION]... [STRING]... + + +</para> + +<para> +Repeatedly outputs a line with all specified <literal>STRING(s),</literal> +or `y'. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry> +<varlistentry><term><emphasis>zcat + +</emphasis></term> +<listitem><para></para> + +<para> +This is essentially an alias for invoking ``gunzip <emphasis>-c</emphasis>'', where it decompresses the file in question and send the output to +stdout. + + +</para> + +<para> +------------------------------- + + +</para> + +</listitem></varlistentry></variablelist> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-6"><title>LIBC NSS + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<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 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. + + +</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> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-7"><title>SEE ALSO + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +<literal>textutils(1),</literal> <literal>shellutils(1),</literal> etc... + + +</para> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-8"><title>MAINTAINER + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +Erik Andersen <andersee@debian.org> <andersen@lineo.com> + + +</para> + +</sect1> + +<sect1 id="pod2docbook-ch-1-sect-9"><title>AUTHORS + +</title> +<!-- Bogus hack to ensure that each sect has a paragraph in it --> +<para> +</para> + + +<para> +The following people have contributed code to BusyBox whether they know it +or not. + + +</para> + +<para> +Erik Andersen <andersee@debian.org> + + +</para> + +<para> +John Beppu <beppu@lineo.com> + + +</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> +John Lombardo <john@deltanet.com> + + +</para> + +<para> +Glenn McGrath <bug1@netconnect.com.au> + + +</para> + +<para> +Bruce Perens <bruce@perens.com> + + +</para> + +<para> +Pavel Roskin <proski@gnu.org> + + +</para> + +<para> +Linus Torvalds <torvalds@transmeta.com> + + +</para> + +<para> +Charles P. Wright <cpwright@villagenet.com> + + +</para> + +<para> +Enrique Zanardi <ezanardi@ull.es> + + +</para> + +</sect1> + +</chapter> + + +</book> <!-- End of the book --> |