summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile36
-rwxr-xr-xdocs/autodocifier.pl39
-rw-r--r--docs/busybox.sgml4027
3 files changed, 12 insertions, 4090 deletions
diff --git a/Makefile b/Makefile
index ea7448d..d03679b 100644
--- a/Makefile
+++ b/Makefile
@@ -67,10 +67,7 @@ install-hardlinks: applets/install.sh busybox busybox.links
# Documentation Targets
-doc: olddoc
-
-# Old Docs...
-olddoc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
+doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
docs/busybox.pod : docs/busybox_header.pod include/usage.h docs/busybox_footer.pod
- ( cat docs/busybox_header.pod; \
@@ -100,33 +97,6 @@ docs/busybox.net/BusyBox.html: docs/busybox.pod
docs/busybox.net/BusyBox.html
-@ rm -f pod2htm*
-
-# New docs based on DOCBOOK SGML
-newdoc: docs/busybox.txt docs/busybox.pdf docs/busybox/busyboxdocumentation.html
-
-docs/busybox.txt: docs/busybox.sgml
- @echo
- @echo BusyBox Documentation
- @echo
- - mkdir -p docs
- (cd docs; sgmltools -b txt busybox.sgml)
-
-docs/busybox.dvi: docs/busybox.sgml
- - mkdir -p docs
- (cd docs; sgmltools -b dvi busybox.sgml)
-
-docs/busybox.ps: docs/busybox.sgml
- - mkdir -p docs
- (cd docs; sgmltools -b ps busybox.sgml)
-
-docs/busybox.pdf: docs/busybox.ps
- - mkdir -p docs
- (cd docs; ps2pdf busybox.ps)
-
-docs/busybox/busyboxdocumentation.html: docs/busybox.sgml
- - mkdir -p docs
- (cd docs/busybox.net; sgmltools -b html ../busybox.sgml)
-
# The nifty new buildsystem stuff
scripts/mkdep: scripts/mkdep.c
$(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c
@@ -217,8 +187,8 @@ check: busybox
clean:
- $(MAKE) -C tests clean
- - rm -f docs/busybox.txt docs/busybox.dvi docs/busybox.ps \
- docs/busybox.pdf docs/busybox.pod docs/busybox.net/busybox.html \
+ - rm -f docs/busybox.dvi docs/busybox.ps \
+ docs/busybox.pod docs/busybox.net/busybox.html \
docs/busybox pod2htm* *.gdb *.elf *~ core .*config.log \
docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \
docs/busybox.net/BusyBox.html busybox.links libbb/loop.h \
diff --git a/docs/autodocifier.pl b/docs/autodocifier.pl
index e1101d9..eee67cf 100755
--- a/docs/autodocifier.pl
+++ b/docs/autodocifier.pl
@@ -94,17 +94,6 @@ sub pod_for_usage {
;
}
-# FIXME | generate SGML for an applet
-sub sgml_for_usage {
- my $name = shift;
- my $usage = shift;
- return
- "<fixme>\n".
- " $name\n".
- "</fixme>\n"
- ;
-}
-
# the keys are applet names, and
# the values will contain hashrefs of the form:
#
@@ -124,7 +113,6 @@ my %opt;
GetOptions(
\%opt,
"help|h",
- "sgml|s",
"pod|p",
"verbose|v",
);
@@ -133,7 +121,6 @@ if (defined $opt{help}) {
print
"$0 [OPTION]... [FILE]...\n",
"\t--help\n",
- "\t--sgml\n",
"\t--pod\n",
"\t--verbose\n",
;
@@ -163,10 +150,6 @@ foreach (@ARGV) {
# generate structured documentation
my $generator = \&pod_for_usage;
-if (defined $opt{sgml}) {
- $generator = \&sgml_for_usage;
-}
-
foreach my $applet (sort keys %docs) {
print $generator->($applet, $docs{$applet});
}
@@ -191,18 +174,18 @@ Example:
=head1 DESCRIPTION
-The purpose of this script is to automagically generate documentation
-for busybox using its usage.h as the original source for content.
-It used to be that same content has to be duplicated in 3 places in
-slightly different formats -- F<usage.h>, F<docs/busybox.pod>, and
-F<docs/busybox.sgml>. This was tedious and error-prone, so it was
+The purpose of this script is to automagically generate
+documentation for busybox using its usage.h as the original source
+for content. It used to be that same content has to be duplicated
+in 3 places in slightly different formats -- F<usage.h>,
+F<docs/busybox.pod>. This was tedious and error-prone, so it was
decided that F<usage.h> would contain all the text in a
machine-readable form, and scripts could be used to transform this
text into other forms if necessary.
-F<autodocifier.pl> is one such script.
-It was based on a script by Erik Andersen <andersen@codepoet.org>
-which was in turn based on a script by Mark Whitley <markw@codepoet.org>
+F<autodocifier.pl> is one such script. It is based on a script by
+Erik Andersen <andersen@codepoet.org> which was in turn based on a
+script by Mark Whitley <markw@codepoet.org>
=head1 OPTIONS
@@ -216,10 +199,6 @@ This displays the help message.
Generate POD (this is the default)
-=item B<--sgml>
-
-Generate SGML
-
=item B<--verbose>
Be verbose (not implemented)
@@ -292,4 +271,4 @@ John BEPPU <b@ax9.org>
=cut
-# $Id: autodocifier.pl,v 1.25 2004/03/13 08:32:14 andersen Exp $
+# $Id: autodocifier.pl,v 1.26 2004/04/06 15:26:25 andersen Exp $
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 &lt;function&gt; [arguments...] # or
- </screen>
- </para>
-
- <para>
- <screen>
- &lt;function&gt; [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[&lt;.|:&gt;[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 -&gt; /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 &lt; 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 &lt ARG2 ARG1 is less than ARG2
- ARG1 &lt= ARG2 ARG1 is less than or equal to ARG2
- ARG1 = ARG2 ARG1 is equal to ARG2
- ARG1 != ARG2 ARG1 is unequal to ARG2
- ARG1 &gt= ARG2 ARG1 is greater than or equal to ARG2
- ARG1 &gt 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>
- &lt;id&gt;:&lt;runlevels&gt;:&lt;action&gt;:&lt;process&gt;
- </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 -&gt; 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 &lt; /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 &lt; /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 &gt; 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`(``&amp;
- .....
- $ uudecode busybox busybox &gt; 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 &lt;andersen@codepoet.org&gt;
- </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 &lt;andersen@codepoet.org&gt;
- </para>
-
- <para>
- Edward Betts &lt;edward@debian.org&gt;
- </para>
-
- <para>
- John Beppu &lt;beppu@codepoet.org&gt;
- </para>
-
- <para>
- Brian Candler &lt;B.Candler@pobox.com&gt;
- </para>
-
- <para>
- Randolph Chung &lt;tausq@debian.org&gt;
- </para>
-
- <para>
- Dave Cinege &lt;dcinege@psychosis.com&gt;
- </para>
-
- <para>
- Karl M. Hegbloom &lt;karlheg@debian.org&gt;
- </para>
-
- <para>
- Daniel Jacobowitz &lt;dan@debian.org&gt;
- </para>
-
- <para>
- Matt Kraai &lt;kraai@alumni.carnegiemellon.edu&gt;
- </para>
-
- <para>
- John Lombardo &lt;john@deltanet.com&gt;
- </para>
-
- <para>
- Glenn McGrath &lt;bug1@netconnect.com.au&gt;
- </para>
-
- <para>
- Bruce Perens &lt;bruce@perens.com&gt;
- </para>
-
- <para>
- Chip Rosenthal &lt;chip@unicom.com&gt;, &lt;crosenth@covad.com&gt;
- </para>
-
- <para>
- Pavel Roskin &lt;proski@gnu.org&gt;
- </para>
-
- <para>
- Gyepi Sam &lt;gyepi@praxis-sw.com&gt;
- </para>
-
- <para>
- Linus Torvalds &lt;torvalds@transmeta.com&gt;
- </para>
-
- <para>
- Mark Whitley &lt;markw@codepoet.org&gt;
- </para>
-
- <para>
- Charles P. Wright &lt;cpwright@villagenet.com&gt;
- </para>
-
- <para>
- Enrique Zanardi &lt;ezanardi@ull.es&gt;
- </para>
-
- <para>
- Vladimir Oleynik &lt;dzo@simtreas.ru&gt;
- </para>
-
-
- </chapter>
-</book> <!-- End of the book -->