mirror of
https://github.com/topjohnwu/ndk-busybox.git
synced 2024-11-27 13:40:22 +00:00
fdd5103348
the first is a cleanup of tar --exclude the second changes mount so mtab works more as it should, and also allows mount to use the traditional short form (i.e. 'mount / -o remount,rw' now works. While inside tar, I changed it to use getopt... -Erik
3612 lines
59 KiB
Plaintext
3612 lines
59 KiB
Plaintext
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [...]>
|
|
<book id="BusyBoxDocumentation">
|
|
<bookinfo>
|
|
<title>BusyBox - The Swiss Army Knife of Embedded Linux</title>
|
|
|
|
<legalnotice>
|
|
<para>
|
|
This documentation is free software; you can redistribute
|
|
it and/or modify it under the terms of the GNU General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later
|
|
version.
|
|
</para>
|
|
|
|
<para>
|
|
This program is distributed in the hope that it will be
|
|
useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the GNU General Public License for more details.
|
|
</para>
|
|
|
|
<para>
|
|
You should have received a copy of the GNU General Public
|
|
License along with this program; if not, write to the Free
|
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
MA 02111-1307 USA
|
|
</para>
|
|
|
|
<para>
|
|
For more details see the file COPYING in the source
|
|
distribution of Linux.
|
|
</para>
|
|
</legalnotice>
|
|
</bookinfo>
|
|
|
|
<toc></toc>
|
|
<chapter id="Introduction">
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
BusyBox combines tiny versions of many common UNIX utilities into a single
|
|
small executable. It provides minimalist replacements for most of the
|
|
utilities you usually find in fileutils, shellutils, findutils, textutils,
|
|
grep, gzip, tar, etc. BusyBox provides a fairly complete POSIX environment
|
|
for any small or embedded system. The utilities in BusyBox generally have
|
|
fewer options than their full-featured GNU cousins; however, the options
|
|
that are included provide the expected functionality and behave very much
|
|
like their GNU counterparts.
|
|
</para>
|
|
|
|
<para>
|
|
BusyBox has been written with size-optimization and limited resources in
|
|
mind. It is also extremely modular so you can easily include or exclude
|
|
commands (or features) at compile time. This makes it easy to customize
|
|
your embedded systems. To create a working system, just add a kernel, a
|
|
shell (such as ash), and an editor (such as elvis-tiny or ae).
|
|
</para>
|
|
</chapter>
|
|
|
|
<chapter id="Syntax">
|
|
<title>How to use BusyBox</title>
|
|
<sect1 id="How to use BusyBox">
|
|
<title>Syntax</title
|
|
|
|
<para>
|
|
<screen>
|
|
BusyBox <function> [arguments...] # or
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
<function> [arguments...] # if symlinked
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="Invoking BusyBox">
|
|
<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">
|
|
<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>
|
|
ar, basename, cat, chgrp, chmod, chown, chroot, chvt, clear,
|
|
cp, cut, date, dc, dd, deallocvt, df, dirname, dmesg, du,
|
|
dumpkmap, 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, renice, rm, rmdir, rmmod, sed, setkeycodes, 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>
|
|
</sect1>
|
|
|
|
<sect1 id="ar">
|
|
<title>ar</title>
|
|
|
|
<para>
|
|
Usage: ar [OPTION] archive [FILENAME]...
|
|
</para>
|
|
|
|
<para>
|
|
Extract or list files from an ar archive.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
o Preserve original dates
|
|
p Extract to stdout
|
|
t List
|
|
x Extract
|
|
v Verbosely list files processed
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="basename">
|
|
<title>basename</title>
|
|
<para>
|
|
Usage: basename FILE [SUFFIX]
|
|
</para>
|
|
|
|
<para>
|
|
Strip directory path and suffixes from FILE. If specified, also removes
|
|
any trailing SUFFIX.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ basename /usr/local/bin/foo
|
|
foo
|
|
$ basename /usr/local/bin/
|
|
bin
|
|
$ basename /foo/bar.txt .txt
|
|
bar
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="cat">
|
|
<title>cat</title>
|
|
|
|
<para>
|
|
Usage: cat [FILE]...
|
|
</para>
|
|
|
|
<para>
|
|
Concatenate <literal>FILE(s)</literal> and prints them to the standard
|
|
output.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ cat /proc/uptime
|
|
110716.72 17.67
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="chgrp">
|
|
<title>chgrp</title>
|
|
|
|
<para>
|
|
Usage: chgrp [OPTION]... GROUP FILE...
|
|
</para>
|
|
|
|
<para>
|
|
Change the group membership of each FILE to GROUP.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-R Change files and directories recursively
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chgrp root /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="chmod">
|
|
<title>chmod</title>
|
|
|
|
<para>
|
|
Usage: chmod [<emphasis>-R</emphasis>] MODE[,MODE]... FILE...
|
|
</para>
|
|
|
|
<para>
|
|
Change file access permissions for the specified
|
|
<literal>FILE(s)</literal> (or directories). Each MODE is defined by
|
|
combining the letters for WHO has access to the file, an OPERATOR for
|
|
selecting how the permissions should be changed, and a PERMISSION for
|
|
<literal>FILE(s)</literal> (or directories).
|
|
</para>
|
|
|
|
<para>
|
|
WHO may be chosen from
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
u User who owns the file
|
|
g Users in the file's Group
|
|
o Other users not in the file's group
|
|
a All users
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
OPERATOR may be chosen from
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
+ Add a permission
|
|
- Remove a permission
|
|
= Assign a permission
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
PERMISSION may be chosen from
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
r Read
|
|
w Write
|
|
x Execute (or access for directories)
|
|
s Set user (or group) ID bit
|
|
t Sticky bit (for directories prevents removing files by non-owners)
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Alternately, permissions can be set numerically where the first three
|
|
numbers are calculated by adding the octal values, such as
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
4 Read
|
|
2 Write
|
|
1 Execute
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
An optional fourth digit can also be used to specify
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
4 Set user ID
|
|
2 Set group ID
|
|
1 Sticky bit
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-R Change files and directories recursively.
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ls -l /tmp/foo
|
|
-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
$ chmod u+x /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
|
|
$ chmod 444 /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="chown">
|
|
<title>chown</title>
|
|
<para>
|
|
Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
|
|
</para>
|
|
|
|
<para>
|
|
Change the owner and/or group of each FILE to OWNER and/or GROUP.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-R Change files and directories recursively
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chown root /tmp/foo
|
|
$ ls -l /tmp/foo
|
|
-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
|
|
$ chown root.root /tmp/foo
|
|
ls -l /tmp/foo
|
|
-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="chroot">
|
|
<title>chroot</title>
|
|
<para>
|
|
Usage: chroot NEWROOT [COMMAND...]
|
|
</para>
|
|
|
|
<para>
|
|
Run COMMAND with root directory set to NEWROOT.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ls -l /bin/ls
|
|
lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
|
|
$ mount /dev/hdc1 /mnt -t minix
|
|
$ chroot /mnt
|
|
$ ls -l /bin/ls
|
|
-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="chvt">
|
|
<title>chvt</title>
|
|
<para>
|
|
Usage: chvt N
|
|
</para>
|
|
|
|
<para>
|
|
Change the foreground virtual terminal to /dev/ttyN
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="clear">
|
|
<title>clear</title>
|
|
|
|
<para>
|
|
Usage: clear
|
|
</para>
|
|
|
|
<para>
|
|
Clear the screen.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="cp">
|
|
<title>cp</title>
|
|
|
|
<para>
|
|
Usage: cp [OPTION]... SOURCE DEST
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
or: cp [OPTION]... SOURCE... DIRECTORY
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Copy SOURCE to DEST, or multiple <literal>SOURCE(s)</literal> to
|
|
DIRECTORY.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-a Same as -dpR
|
|
-d Preserve links
|
|
-p Preserve file attributes if possible
|
|
-R Copy directories recursively
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="cut">
|
|
<title>cut</title>
|
|
|
|
<para>
|
|
Usage: cut [OPTION]... [FILE]...
|
|
</para>
|
|
|
|
<para>
|
|
Print selected fields from each input FILE to standard output.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-b LIST Output only bytes from LIST
|
|
-c LIST Output only characters from LIST
|
|
-d CHAR Use CHAR instead of tab as the field delimiter
|
|
-s Output only the lines containing delimiter
|
|
-f N Print only these fields
|
|
-n Ignored
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ echo "Hello world" | cut -f 1 -d ' '
|
|
Hello
|
|
$ echo "Hello world" | cut -f 2 -d ' '
|
|
world
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="date">
|
|
<title>date</title>
|
|
|
|
<para>
|
|
Usage: date [OPTION]... [+FORMAT]
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Display the current time in the given FORMAT, or set the system date.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-R Output RFC-822 compliant date string
|
|
-s Set time described by STRING
|
|
-u Print or set Coordinated Universal Time
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ date
|
|
Wed Apr 12 18:52:41 MDT 2000
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dc">
|
|
<title>dc</title>
|
|
|
|
<para>
|
|
Usage: dc [EXPRESSION]
|
|
</para>
|
|
|
|
<para>
|
|
This is a Tiny RPN calculator that understands the
|
|
following operations: +, -, /, *, and, or, not, eor. If
|
|
no arguments are given, dc will process input from
|
|
stdin.
|
|
</para>
|
|
|
|
<para>
|
|
The behaviour of BusyBox/dc deviates (just a little ;-)
|
|
from GNU/dc, but this will be remedied in the future.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ dc 2 2 +
|
|
4
|
|
$ dc 8 8 \* 2 2 + /
|
|
16
|
|
$ dc 0 1 and
|
|
0
|
|
$ dc 0 1 or
|
|
1
|
|
$ echo 72 9 div 8 mul | dc
|
|
64
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dd">
|
|
<title>dd</title>
|
|
|
|
<para>
|
|
Usage: dd [OPTION]...
|
|
</para>
|
|
|
|
<para>
|
|
Copy a file, converting and formatting according to
|
|
options.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
if=FILE Read from FILE instead of stdin
|
|
of=FILE Write to FILE instead of stdout
|
|
bs=N Read and write N bytes at a time
|
|
count=N Copy only N input blocks
|
|
skip=N Skip N input blocks
|
|
seek=N Skip N output blocks
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Numbers may be suffixed by w (x2), k (x1024), b (x512),
|
|
or M (x1024^2).
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
|
|
4+0 records in
|
|
4+0 records out
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="deallocvt">
|
|
<title>deallocvt</title>
|
|
|
|
<para>
|
|
Usage: deallocvt N
|
|
</para>
|
|
|
|
<para>
|
|
Deallocate unused virtual terminal /dev/ttyN.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="df">
|
|
<title>df</title>
|
|
|
|
<para>
|
|
Usage: df [FILE]...
|
|
</para>
|
|
|
|
<para>
|
|
Print the filesystem space used and space available.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ df
|
|
Filesystem 1k-blocks Used Available Use% Mounted on
|
|
/dev/sda3 8690864 8553540 137324 98% /
|
|
/dev/sda1 64216 36364 27852 57% /boot
|
|
$ df /dev/sda3
|
|
Filesystem 1k-blocks Used Available Use% Mounted on
|
|
/dev/sda3 8690864 8553540 137324 98% /
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dirname">
|
|
<title>dirname</title>
|
|
|
|
<para>
|
|
Usage: dirname NAME
|
|
</para>
|
|
|
|
<para>
|
|
Strip non-directory suffix from NAME.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ dirname /tmp/foo
|
|
/tmp
|
|
$ dirname /tmp/foo/
|
|
/tmp
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dmesg">
|
|
<title>dmesg</title>
|
|
|
|
<para>
|
|
Usage: dmesg [OPTION]...
|
|
</para>
|
|
|
|
<para>
|
|
Print or control the kernel ring buffer.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-c Clear the ring buffer after printing
|
|
-n LEVEL Set the console logging level to LEVEL
|
|
-s BUFSIZE Query ring buffer using a buffer of BUFSIZE
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="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 input.
|
|
</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="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
|
|
-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>
|
|
</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="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
|
|
</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 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
|
|
-r Print the real user ID instead of the effective ID (with -ug)
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ id
|
|
uid=1000(andersen) gid=1000(andersen)
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="init">
|
|
<title>init</title>
|
|
|
|
<para>
|
|
Usage: init
|
|
</para>
|
|
|
|
<para>
|
|
Init is the parent of all processes.
|
|
</para>
|
|
|
|
<para>
|
|
This version of init is designed to be run only by the
|
|
kernel.
|
|
</para>
|
|
|
|
<para>
|
|
BusyBox init doesn't support multiple runlevels. The
|
|
runlevels field of the /etc/inittab file is completely
|
|
ignored by BusyBox init. If you want runlevels, use
|
|
sysvinit.
|
|
</para>
|
|
|
|
<para>
|
|
BusyBox init works just fine without an inittab. If no
|
|
inittab is found, it has the following default behavior:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
::sysinit:/etc/init.d/rcS
|
|
::askfirst:/bin/sh
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
If it detects that /dev/console is _not_ a serial
|
|
console, it will also run:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
tty2::askfirst:/bin/sh
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
If you choose to use an /etc/inittab file, the inittab
|
|
entry format is as follows:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
<id>:<runlevels>:<action>:<process>
|
|
</screen>
|
|
<para>
|
|
|
|
<sect2>
|
|
<title>id</title>
|
|
<para>
|
|
WARNING: This field has a non-traditional
|
|
meaning for BusyBox init! The id field is used
|
|
by BusyBox init to specify the controlling tty
|
|
for the specified process to run on. The
|
|
contents of this field are appended to "/dev/"
|
|
and used as-is. There is no need for this field
|
|
to be unique, although if it isn't you may have
|
|
strange results. If this field is left blank,
|
|
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.
|
|
</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>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
Unrecognized actions (like initdefault) will
|
|
cause init to emit an error message, and then go
|
|
along with its business.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>process</title>
|
|
|
|
<para>
|
|
Specifies the process to be executed and its
|
|
command line.
|
|
</para>
|
|
</sect2>
|
|
|
|
<para>
|
|
Example /etc/inittab file:
|
|
</para>
|
|
|
|
<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
|
|
tty2::askfirst:/bin/sh
|
|
|
|
# /sbin/getty invocations for selected ttys
|
|
#
|
|
tty4::respawn:/sbin/getty 38400 tty4
|
|
tty5::respawn:/sbin/getty 38400 tty5
|
|
|
|
# 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
|
|
|
|
# Stuff to do before rebooting
|
|
::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1
|
|
::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1
|
|
</screen>
|
|
</para>
|
|
</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
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="kill">
|
|
<title>kill</title>
|
|
|
|
<para>
|
|
Usage: kill [OPTION] PID...
|
|
</para>
|
|
|
|
<para>
|
|
Send a signal (default is SIGTERM) to the specified
|
|
PID(s).
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-l List all signal names and numbers
|
|
-SIG Send signal SIG
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ps | grep apache
|
|
252 root root S [apache]
|
|
263 www-data www-data S [apache]
|
|
264 www-data www-data S [apache]
|
|
265 www-data www-data S [apache]
|
|
266 www-data www-data S [apache]
|
|
267 www-data www-data S [apache]
|
|
$ kill 252
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="killall">
|
|
<title>killall</title>
|
|
|
|
<para>
|
|
Usage: killall [OPTION] NAME...
|
|
</para>
|
|
|
|
<para>
|
|
Send a signal (default is SIGTERM) to the specified
|
|
NAME(s).
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-l List all signal names and numbers
|
|
-SIG Send signal SIG
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ killall apache
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="length">
|
|
<title>length</title>
|
|
|
|
<para>
|
|
Usage: length STRING
|
|
</para>
|
|
|
|
<para>
|
|
Print the length of STRING.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ length "Hello"
|
|
5
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="ln">
|
|
<title>ln</title>
|
|
|
|
<para>
|
|
Usage: ln [OPTION]... TARGET FILE|DIRECTORY
|
|
</para>
|
|
|
|
<para>
|
|
Create a link named FILE or DIRECTORY to the specified
|
|
TARGET. You may use '--' to indicate that all following
|
|
arguments are non-options.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-s Make symbolic link instead of hard link
|
|
-f Remove existing destination file
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ ln -s BusyBox /tmp/ls
|
|
$ ls -l /tmp/ls
|
|
lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="loadacm">
|
|
<title>loadacm</title>
|
|
|
|
<para>
|
|
Usage: loadacm
|
|
</para>
|
|
|
|
<para>
|
|
Load an acm from stdin.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ loadacm < /etc/i18n/acmname
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="loadfont">
|
|
<title>loadfont</title>
|
|
|
|
<para>
|
|
Usage: loadfont
|
|
</para>
|
|
|
|
<para>
|
|
Load a console font from stdin.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ loadfont < /etc/i18n/fontname
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="loadkmap">
|
|
<title>loadkmap</title>
|
|
|
|
<para>
|
|
Usage: loadkmap
|
|
</para>
|
|
|
|
<para>
|
|
Load a binary keyboard translation table from stdin.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ loadkmap < /etc/i18n/lang-keymap
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="logger">
|
|
<title>logger</title>
|
|
|
|
<para>
|
|
Usage: logger [OPTION]... [MESSAGE]
|
|
</para>
|
|
|
|
<para>
|
|
Write MESSAGE to the system log. If MESSAGE is '-', 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="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
|
|
-R List subdirectories recursively
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="lsmod">
|
|
<title>lsmod</title>
|
|
|
|
<para>
|
|
Usage: lsmod
|
|
</para>
|
|
|
|
<para>
|
|
List currently loaded kernel modules.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="makedevs">
|
|
<title>makedevs</title>
|
|
|
|
<para>
|
|
Usage: makedevsf NAME TYPE MAJOR MINOR FIRST LAST [s]
|
|
</para>
|
|
|
|
<para>
|
|
Create a range of block or character special files.
|
|
</para>
|
|
|
|
<para>
|
|
TYPE may be:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
b Make a block (buffered) device
|
|
c or u Make a character (un-buffered) device
|
|
p Make a named pipe. MAJOR and MINOR are ignored for named pipes
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
FIRST specifies the number appended to NAME to create
|
|
the first device. LAST specifies the number of the last
|
|
item that should be created. If 's' is the last
|
|
argument, the base device is created as well.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ makedevs /dev/ttyS c 4 66 2 63
|
|
[creates ttyS2-ttyS63]
|
|
$ makedevs /dev/hda b 3 0 0 8 s
|
|
[creates hda,hda1-hda8]
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="md5sum">
|
|
<title>md5sum</title>
|
|
|
|
<para>
|
|
Usage: md5sum [OPTION]... FILE...
|
|
</para>
|
|
|
|
<para>
|
|
Print or check MD5 checksums.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-b Read files in binary mode
|
|
-c Check MD5 sums against given list
|
|
-t Read files in text mode (default)
|
|
-g Read a string
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
The following two options are useful only when verifying
|
|
checksums:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-s Don't output anything, status code shows success
|
|
-w Warn about improperly formated MD5 checksum lines
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ md5sum busybox
|
|
6fd11e98b98a58f64ff3398d7b324003 busybox
|
|
$ md5sum -c
|
|
6fd11e98b98a58f64ff3398d7b324003 busybox
|
|
6fd11e98b98a58f64ff3398d7b324002 busybox
|
|
md5sum: MD5 check failed for 'busybox'
|
|
^D
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mkdir">
|
|
<title>mkdir</title>
|
|
|
|
<para>
|
|
Usage: mkdir [OPTION]... DIRECTORY...
|
|
</para>
|
|
|
|
<para>
|
|
Create the DIRECTORY(s), if they do not already exist.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-m Set permission mode (as in chmod), not rwxrwxrwx - umask
|
|
-p No error if directory exists, make parent directories as needed
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mkdir /tmp/foo
|
|
$ mkdir /tmp/foo
|
|
/tmp/foo: File exists
|
|
$ mkdir /tmp/foo/bar/baz
|
|
/tmp/foo/bar/baz: No such file or directory
|
|
$ mkdir -p /tmp/foo/bar/baz
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mkfifo">
|
|
<title>mkfifo</title>
|
|
|
|
<para>
|
|
Usage: mkfifo [OPTION] NAME
|
|
</para>
|
|
|
|
<para>
|
|
Create a named pipe (identical to 'mknod NAME p').
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-m MODE Create the pipe using the specified mode (default a=rw)
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mkfs.minix">
|
|
<title>mkfs.minix</title>
|
|
|
|
<para>
|
|
Usage: mkfs.minix [OPTION]... NAME [BLOCKS]
|
|
</para>
|
|
|
|
<para>
|
|
Make a MINIX filesystem.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-c Check the device for bad blocks
|
|
-n [14|30] Specify the maximum length of filenames
|
|
-i Specify the number of inodes for the filesystem
|
|
-l FILENAME Read the bad blocks list from FILENAME
|
|
-v Make a Minix version 2 filesystem
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mknod">
|
|
<title>mknod</title>
|
|
|
|
<para>
|
|
Usage: mknod [OPTION]... NAME TYPE MAJOR MINOR
|
|
</para>
|
|
|
|
<para>
|
|
Create a special file (block, character, or pipe).
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-m Create the special file using the specified mode (default a=rw)
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
TYPE may be:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
b Make a block (buffered) device
|
|
c or u Make a character (un-buffered) device
|
|
p Make a named pipe. MAJOR and MINOR are ignored for named pipes
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mknod /dev/fd0 b 2 0
|
|
$ mknod -m 644 /tmp/pipe p
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mkswap">
|
|
<title>mkswap</title>
|
|
|
|
<para>
|
|
Usage: mkswap [OPTION]... DEVICE [BLOCKS]
|
|
</para>
|
|
|
|
<para>
|
|
Prepare a disk partition to be used as a swap partition.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-c Check for read-ability.
|
|
-v0 Make version 0 swap [max 128 Megs].
|
|
-v1 Make version 1 swap [big!] (default for kernels > 2.1.117).
|
|
BLOCKS Number of block to use (default is entire partition).
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mktemp">
|
|
<title>mktemp</title>
|
|
|
|
<para>
|
|
Usage: mktemp TEMPLATE
|
|
</para>
|
|
|
|
<para>
|
|
Creates a temporary file with its name based on
|
|
TEMPLATE. TEMPLATE is any name with six `Xs' (i.e.
|
|
/tmp/temp.XXXXXX).
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mktemp /tmp/temp.XXXXXX
|
|
/tmp/temp.mWiLjM
|
|
$ ls -la /tmp/temp.mWiLjM
|
|
-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="more">
|
|
<title>more</title>
|
|
|
|
<para>
|
|
Usage: more [FILE]...
|
|
</para>
|
|
|
|
<para>
|
|
Page through text one screenful at a time.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ dmesg | more
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mount">
|
|
<title>mount</title>
|
|
|
|
<para>
|
|
Usage: mount [OPTION]...
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
or: mount [OPTION]... DEVICE DIRECTORY
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Mount filesystems.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-a Mount all filesystems in /etc/fstab
|
|
-o One of the many filesystem options listed below
|
|
-r Mount the filesystem read-only
|
|
-t TYPE Specify the filesystem type
|
|
-w Mount the filesystem read-write
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Options for use with the -o flag:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
async/sync Writes are asynchronous / synchronous
|
|
atime/noatime Enable / disable updates to inode access times
|
|
dev/nodev Allow / disallow use of special device files
|
|
exec/noexec Allow / disallow use of executable files
|
|
loop Mount a file via loop device
|
|
suid/nosuid Allow / disallow set-user-id-root programs
|
|
remount Remount a currently mounted filesystem
|
|
ro/rw Mount filesystem read-only / read-write
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
There are even more flags that are filesystem specific.
|
|
You'll have to see the written documentation for those.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mount
|
|
/dev/hda3 on / type minix (rw)
|
|
proc on /proc type proc (rw)
|
|
devpts on /dev/pts type devpts (rw)
|
|
$ mount /dev/fd0 /mnt -t msdos -o ro
|
|
$ mount /tmp/diskimage /opt -t ext2 -o loop
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mt">
|
|
<title>mt</title>
|
|
|
|
<para>
|
|
Usage: mt [OPTION] OPCODE VALUE
|
|
</para>
|
|
|
|
<para>
|
|
Control magnetic tape drive operation.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-f DEVICE Control DEVICE
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mv">
|
|
<title>mv</title>
|
|
|
|
<para>
|
|
Usage: mv SOURCE DEST
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
or: mv SOURCE... DIRECTORY
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mv /tmp/foo /bin/bar
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="nc">
|
|
<title>nc</title>
|
|
|
|
<para>
|
|
Usage: nc HOST PORT
|
|
</para>
|
|
|
|
<para>
|
|
Open a pipe to HOST: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="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="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>
|
|
-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 Try to remove all unused kernel modules
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ rmmod tulip
|
|
</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 messages to HOST on PORT (default=514) over UDP.
|
|
</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>
|
|
<screen>
|
|
or: [ EXPRESSION ]
|
|
|
|
<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>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ echo -e "a\na\nb\nc\nc\na" | sort | uniq
|
|
a
|
|
b
|
|
c
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="update">
|
|
<title>update</title>
|
|
|
|
<para>
|
|
Usage: update [OPTION]...
|
|
</para>
|
|
|
|
<para>
|
|
Periodically flush filesystem buffers.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-S Force use of sync(2) instead of flushing
|
|
-s SECS Call sync this often (default 30)
|
|
-f SECS Flush some buffers this often (default 5)
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="uptime">
|
|
<title>uptime</title>
|
|
|
|
<para>
|
|
Usage: uptime
|
|
</para>
|
|
|
|
<para>
|
|
Display how long the system has been running since boot.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ uptime
|
|
1:55pm up 2:30, load average: 0.09, 0.04, 0.00
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="usleep">
|
|
<title>usleep</title>
|
|
|
|
<para>
|
|
Usage: usleep N
|
|
</para>
|
|
|
|
<para>
|
|
Pause for N microseconds.
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ usleep 1000000
|
|
[pauses for 1 second]
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="uudecode">
|
|
<title>uudecode</title>
|
|
|
|
<para>
|
|
Usage: uudecode [OPTION] [FILE]
|
|
</para>
|
|
|
|
<para>
|
|
Uudecode a uuencoded file.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-o FILE Direct output to FILE
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ uudecode -o busybox busybox.uu
|
|
$ ls -l busybox
|
|
-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="uuencode">
|
|
<title>uuencode</title>
|
|
|
|
<para>
|
|
Usage: uuencode [OPTION] [INFILE] OUTFILE
|
|
</para>
|
|
|
|
<para>
|
|
Uuencode a file.
|
|
</para>
|
|
|
|
<para>
|
|
Options:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
-m Use base64 encoding as of RFC1521
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ uuencode busybox busybox
|
|
begin 755 busybox
|
|
M?T5,1@$!`0````````````(``P`!````L+@$"#0```!0N@,``````#0`(``&
|
|
.....
|
|
$ uudecode busybox busybox > busybox.uu
|
|
$
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="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="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 <andersee@debian.org> <andersen@lineo.com>
|
|
</para>
|
|
</chapter>
|
|
|
|
<chapter id="AUTHORS">
|
|
<title>AUTHORS</title>
|
|
|
|
<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>
|
|
</chapter>
|
|
</book> <!-- End of the book -->
|