Document gzip -d
[oweals/busybox.git] / docs / busybox.sgml
1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ ]>
2 <book id="BusyBoxDocumentation">
3  <bookinfo>
4   <title>BusyBox - The Swiss Army Knife of Embedded Linux</title>
5   
6   <legalnotice>
7    <para>
8      This documentation is free software; you can redistribute
9      it and/or modify it under the terms of the GNU General Public
10      License as published by the Free Software Foundation; either
11      version 2 of the License, or (at your option) any later
12      version.
13    </para>
14       
15    <para>
16      This program is distributed in the hope that it will be
17      useful, but WITHOUT ANY WARRANTY; without even the implied
18      warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19      See the GNU General Public License for more details.
20    </para>
21       
22    <para>
23      You should have received a copy of the GNU General Public
24      License along with this program; if not, write to the Free
25      Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
26      MA 02111-1307 USA
27    </para>
28       
29    <para>
30      For more details see the file COPYING in the source
31      distribution of Linux.
32    </para>
33   </legalnotice>
34  </bookinfo>
35
36 <toc></toc>
37   <chapter id="Introduction">
38      <title>Introduction</title>
39
40         <para>
41         BusyBox combines tiny versions of many common UNIX utilities into a single
42         small executable. It provides minimalist replacements for most of the
43         utilities you usually find in fileutils, shellutils, findutils, textutils,
44         grep, gzip, tar, etc. BusyBox provides a fairly complete POSIX environment
45         for any small or embedded system. The utilities in BusyBox generally have
46         fewer options than their full-featured GNU cousins; however, the options
47         that are included provide the expected functionality and behave very much
48         like their GNU counterparts. 
49         </para>
50
51         <para>
52         BusyBox has been written with size-optimization and limited resources in
53         mind. It is also extremely modular so you can easily include or exclude
54         commands (or features) at compile time. This makes it easy to customize
55         your embedded systems. To create a working system, just add a kernel, a
56         shell (such as ash), and an editor (such as elvis-tiny or ae).
57         </para>
58   </chapter>
59
60   <chapter id="Syntax">
61      <title>How to use BusyBox</title>
62         <sect1 id="How-to-use-BusyBox">
63             <title>Syntax</title>
64
65             <para>
66             <screen>
67              BusyBox &lt;function&gt; [arguments...]  # or
68             </screen>
69             </para>
70
71             <para>
72             <screen>
73              &lt;function&gt; [arguments...]          # if symlinked
74             </screen>
75             </para>
76         </sect1>
77
78         <sect1 id="Invoking-BusyBox">
79             <title>Invoking BusyBox</title>
80
81             <para>
82             When you create a link to BusyBox for the function you wish to use, when
83             BusyBox is called using that link it will behave as if the command itself
84             has been invoked.
85             </para>
86
87             <para>
88             For example, entering
89             </para>
90
91             <para>
92             <screen>
93                     ln -s ./BusyBox ls
94                     ./ls
95             </screen>
96             </para>
97
98             <para>
99             will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
100             into BusyBox). 
101             </para>
102
103             <para>
104             You can also invoke BusyBox by issuing the command as an argument on the
105             command line. For example, entering
106             </para>
107
108             <para>
109             <screen>
110                     ./BusyBox ls
111             </screen>
112             </para>
113
114             <para>
115             will also cause BusyBox to behave as 'ls'. 
116             </para>
117
118         </sect1>
119
120         <sect1 id="Common-options">
121             <title>Common options</title>
122
123             <para>
124             Most BusyBox commands support the <emphasis>--help</emphasis> option to provide 
125             a terse runtime description of their behavior. 
126             </para>
127         </sect1>
128   </chapter>
129
130   <chapter id="Commands">
131      <title>BusyBox Commands</title>
132         <sect1 id="Available-BusyBox-Commands">
133             <title>Available BusyBox Commands</title>
134                 <para>
135                 Currently defined functions include:
136                 </para>
137
138                 <para>
139                 ar, basename, cat, chgrp, chmod, chown, chroot, chvt, clear,
140                 cp, cut, date, dc, dd, deallocvt, df, dirname, dmesg, du,
141                 dumpkmap, dutmp, echo, false, fbset, fdflush, find, free,
142                 freeramdisk, fsck.minix, grep, gunzip, gzip, halt, head,
143                 hostid, hostname, id, init, insmod, kill, killall, length, ln,
144                 loadacm, loadfont, loadkmap, logger, logname, ls, lsmod,
145                 makedevs, mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp,
146                 more, mount, mt, mv, nc, nslookup, ping, poweroff, printf, ps,
147                 pwd, reboot, renice, reset, rm, rmdir, rmmod, sed, setkeycodes, sh, sleep,
148                 sort, swapoff, swapon, sync, syslogd, tail, tar, tee, telnet,
149                 test, touch, tr, true, tty, umount, uname, uniq, update,
150                 uptime, usleep, uudecode, uuencode, wc, which, whoami, yes,
151                 zcat, [
152                 </para>
153         </sect1>
154
155         <sect1 id="ar">
156             <title>ar</title>
157
158                 <para>
159                 Usage: ar [OPTION] archive [FILENAME]...
160                 </para>
161
162                 <para>
163                 Extract or list files from an ar archive.
164                 </para>
165
166                 <para>
167                 Options:
168                 </para>
169
170                 <para>
171                 <screen>
172                         o       Preserve original dates
173                         p       Extract to stdout
174                         t       List
175                         x       Extract
176                         v       Verbosely list files processed
177                 </screen>
178                 </para>
179         </sect1>
180
181         <sect1 id="basename">
182             <title>basename</title>
183                 <para>
184                 Usage: basename FILE [SUFFIX]
185                 </para>
186
187                 <para>
188                 Strip directory path and suffixes from FILE. If specified, also removes
189                 any trailing SUFFIX.
190                 </para>
191
192                 <para>
193                 Example:
194                 </para>
195
196                 <para>
197                 <screen>
198                         $ basename /usr/local/bin/foo
199                         foo
200                         $ basename /usr/local/bin/
201                         bin
202                         $ basename /foo/bar.txt .txt
203                         bar
204                 </screen>
205                 </para>
206         </sect1>
207
208         <sect1 id="cat">
209             <title>cat</title>
210
211                 <para>
212                 Usage: cat [FILE]...
213                 </para>
214
215                 <para>
216                 Concatenate <literal>FILE(s)</literal> and prints them to the standard
217                 output.
218                 </para>
219
220                 <para>
221                 Example:
222                 </para>
223
224                 <para>
225                 <screen>
226                         $ cat /proc/uptime
227                         110716.72 17.67
228                 </screen>
229                 </para>
230         </sect1>
231
232         <sect1 id="chgrp">
233             <title>chgrp</title>
234
235                 <para>
236                 Usage: chgrp [OPTION]... GROUP FILE...
237                 </para>
238
239                 <para>
240                 Change the group membership of each FILE to GROUP.
241                 </para>
242
243                 <para>
244                 Options:
245                 </para>
246
247                 <para>
248                 <screen>
249                         -R      Change files and directories recursively
250                 </screen>
251                 </para>
252
253                 <para>
254                 Example:
255                 </para>
256
257                 <para>
258                 <screen>
259                         $ ls -l /tmp/foo
260                         -r--r--r--    1 andersen andersen        0 Apr 12 18:25 /tmp/foo
261                         $ chgrp root /tmp/foo
262                         $ ls -l /tmp/foo
263                         -r--r--r--    1 andersen root            0 Apr 12 18:25 /tmp/foo
264                 </screen>
265                 </para>
266         </sect1>
267
268         <sect1 id="chmod">
269             <title>chmod</title>
270
271                 <para>
272                 Usage: chmod [<emphasis>-R</emphasis>] MODE[,MODE]... FILE...
273                 </para>
274
275                 <para>
276                 Change file access permissions for the specified
277                 <literal>FILE(s)</literal> (or directories). Each MODE is defined by
278                 combining the letters for WHO has access to the file, an OPERATOR for
279                 selecting how the permissions should be changed, and a PERMISSION for
280                 <literal>FILE(s)</literal> (or directories).
281                 </para>
282
283                 <para>
284                 WHO may be chosen from
285                 </para>
286
287                 <para>
288                 <screen>
289                         u       User who owns the file
290                         g       Users in the file's Group
291                         o       Other users not in the file's group
292                         a       All users
293                 </screen>
294                 </para>
295
296                 <para>
297                 OPERATOR may be chosen from
298                 </para>
299
300                 <para>
301                 <screen>
302                         +       Add a permission
303                         -       Remove a permission
304                         =       Assign a permission
305                 </screen>
306                 </para>
307
308                 <para>
309                 PERMISSION may be chosen from
310                 </para>
311
312                 <para>
313                 <screen>
314                         r       Read
315                         w       Write
316                         x       Execute (or access for directories)
317                         s       Set user (or group) ID bit
318                         t       Sticky bit (for directories prevents removing files by non-owners)
319                 </screen>
320                 </para>
321
322                 <para>
323                 Alternately, permissions can be set numerically where the first three
324                 numbers are calculated by adding the octal values, such as
325                 </para>
326
327                 <para>
328                 <screen>
329                         4       Read
330                         2       Write
331                         1       Execute
332                 </screen>
333                 </para>
334
335                 <para>
336                 An optional fourth digit can also be used to specify
337                 </para>
338
339                 <para>
340                 <screen>
341                         4       Set user ID
342                         2       Set group ID
343                         1       Sticky bit
344                 </screen>
345                 </para>
346
347                 <para>
348                 Options:
349                 </para>
350
351                 <para>
352                 <screen>
353                         -R      Change files and directories recursively.
354                 </screen>
355                 </para>
356
357                 <para>
358                 Example:
359                 </para>
360
361                 <para>
362                 <screen>
363                         $ ls -l /tmp/foo
364                         -rw-rw-r--    1 root     root            0 Apr 12 18:25 /tmp/foo
365                         $ chmod u+x /tmp/foo
366                         $ ls -l /tmp/foo
367                         -rwxrw-r--    1 root     root            0 Apr 12 18:25 /tmp/foo*
368                         $ chmod 444 /tmp/foo
369                         $ ls -l /tmp/foo
370                         -r--r--r--    1 root     root            0 Apr 12 18:25 /tmp/foo
371                 </screen>
372                 </para>
373         </sect1>
374         
375         <sect1 id="chown">
376             <title>chown</title>
377                 <para>
378                 Usage: chown [OPTION]... OWNER[&lt;.|:&gt;[GROUP] FILE...
379                 </para>
380
381                 <para>
382                 Change the owner and/or group of each FILE to OWNER and/or GROUP.
383                 </para>
384
385                 <para>
386                 Options:
387                 </para>
388
389                 <para>
390                 <screen>
391                         -R      Change files and directories recursively
392                 </screen>
393                 </para>
394
395                 <para>
396                 Example:
397                 </para>
398
399                 <para>
400                 <screen>
401                         $ ls -l /tmp/foo
402                         -r--r--r--    1 andersen andersen        0 Apr 12 18:25 /tmp/foo
403                         $ chown root /tmp/foo
404                         $ ls -l /tmp/foo
405                         -r--r--r--    1 root     andersen        0 Apr 12 18:25 /tmp/foo
406                         $ chown root.root /tmp/foo
407                         ls -l /tmp/foo
408                         -r--r--r--    1 root     root            0 Apr 12 18:25 /tmp/foo
409                 </screen>
410                 </para>
411         </sect1>
412
413         <sect1 id="chroot">
414             <title>chroot</title>
415                 <para>
416                 Usage: chroot NEWROOT [COMMAND...]
417                 </para>
418
419                 <para>
420                 Run COMMAND with root directory set to NEWROOT.
421                 </para>
422
423                 <para>
424                 Example:
425                 </para>
426
427                 <para>
428                 <screen>
429                         $ ls -l /bin/ls
430                         lrwxrwxrwx    1 root     root          12 Apr 13 00:46 /bin/ls -&gt; /BusyBox
431                         $ mount /dev/hdc1 /mnt -t minix
432                         $ chroot /mnt
433                         $ ls -l /bin/ls
434                         -rwxr-xr-x    1 root     root        40816 Feb  5 07:45 /bin/ls*
435                 </screen>
436                 </para>
437         </sect1>
438
439         <sect1 id="chvt">
440             <title>chvt</title>
441                 <para>
442                 Usage: chvt N
443                 </para>
444
445                 <para>
446                 Change the foreground virtual terminal to /dev/ttyN
447                 </para>
448         </sect1>
449
450         <sect1 id="clear">
451             <title>clear</title>
452
453                 <para>
454                 Usage: clear
455                 </para>
456
457                 <para>
458                 Clear the screen.
459                 </para>
460         </sect1>
461
462         <sect1 id="cp">
463             <title>cp</title>
464
465                 <para>
466                 Usage: cp [OPTION]... SOURCE DEST
467                 </para>
468
469                 <para>
470                 <screen>
471                    or: cp [OPTION]... SOURCE... DIRECTORY
472                 </screen>
473                 </para>
474
475                 <para>
476                 Copy SOURCE to DEST, or multiple <literal>SOURCE(s)</literal> to
477                 DIRECTORY.
478                 </para>
479
480                 <para>
481                 Options:
482                 </para>
483
484                 <para>
485                 <screen>
486                         -a      Same as -dpR
487                         -d      Preserve links
488                         -p      Preserve file attributes if possible
489                         -R      Copy directories recursively
490                 </screen>
491                 </para>
492         </sect1>
493
494         <sect1 id="cut">
495             <title>cut</title>
496
497                 <para>
498                 Usage: cut [OPTION]... [FILE]...
499                 </para>
500
501                 <para>
502                 Print selected fields from each input FILE to standard output.
503                 </para>
504
505                 <para>
506                 Options:
507                 </para>
508
509                 <para>
510                 <screen>
511                                 -b LIST Output only bytes from LIST
512                                 -c LIST Output only characters from LIST
513                                 -d CHAR Use CHAR instead of tab as the field delimiter
514                                 -s      Output only the lines containing delimiter
515                                 -f N    Print only these fields
516                                 -n      Ignored
517                 </screen>
518                 </para>
519
520                 <para>
521                 Example:
522                 </para>
523
524                 <para>
525                 <screen>
526                         $ echo "Hello world" | cut -f 1 -d ' '
527                         Hello
528                         $ echo "Hello world" | cut -f 2 -d ' '
529                         world
530                 </screen>
531                 </para>
532         </sect1>
533
534         <sect1 id="date">
535             <title>date</title>
536
537                 <para>
538                 Usage: date [OPTION]... [+FORMAT]
539                 </para>
540
541                 <para>
542                 <screen>
543                   or:  date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
544                 </screen>
545                 </para>
546
547                 <para>
548                 Display the current time in the given FORMAT, or set the system date.
549                 </para>
550
551                 <para>
552                 Options:
553                 </para>
554
555                 <para>
556                 <screen>
557                         -R      Output RFC-822 compliant date string
558                         -s      Set time described by STRING
559                         -u      Print or set Coordinated Universal Time
560                 </screen>
561                 </para>
562
563                 <para>
564                 Example:
565                 </para>
566
567                 <para>
568                 <screen>
569                         $ date
570                         Wed Apr 12 18:52:41 MDT 2000
571                 </screen>
572                 </para>
573         </sect1>
574
575         <sect1 id="dc">
576             <title>dc</title>
577
578                 <para>
579                 Usage: dc [EXPRESSION]
580                 </para>
581
582                 <para>
583                 This is a Tiny RPN calculator that understands the
584                 following operations: +, -, /, *, and, or, not, eor. If
585                 no arguments are given, dc will process input from
586                 stdin.
587                 </para>
588
589                 <para>
590                 The behaviour of BusyBox/dc deviates (just a little ;-)
591                 from GNU/dc, but this will be remedied in the future.
592                 </para>
593
594                 <para>
595                 Example:
596                 </para>
597
598                 <para>
599                 <screen>
600                         $ dc 2 2 +
601                         4
602                         $ dc 8 8 \* 2 2 + /
603                         16
604                         $ dc 0 1 and
605                         0
606                         $ dc 0 1 or
607                         1
608                         $ echo 72 9 div 8 mul | dc
609                         64
610                 </screen>
611                 </para>
612         </sect1>
613
614         <sect1 id="dd">
615             <title>dd</title>
616
617                 <para>
618                 Usage: dd [OPTION]...
619                 </para>
620
621                 <para>
622                 Copy a file, converting and formatting according to
623                 options.
624                 </para>
625
626                 <para>
627                 Options:
628                 </para>
629
630                 <para>
631                 <screen>
632                         if=FILE Read from FILE instead of stdin
633                         of=FILE Write to FILE instead of stdout
634                         bs=N    Read and write N bytes at a time
635                         count=N Copy only N input blocks
636                         skip=N  Skip N input blocks
637                         seek=N  Skip N output blocks
638                 </screen>
639                 </para>
640
641                 <para>
642                 Numbers may be suffixed by w (x2), k (x1024), b (x512),
643                 or M (x1024^2).
644                 </para>
645
646                 <para>
647                 Example:
648                 </para>
649
650                 <para>
651                 <screen>
652                         $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
653                         4+0 records in
654                         4+0 records out
655                 </screen>
656                 </para>
657         </sect1>
658
659         <sect1 id="deallocvt">
660             <title>deallocvt</title>
661
662                 <para>
663                 Usage: deallocvt N
664                 </para>
665
666                 <para>
667                 Deallocate unused virtual terminal /dev/ttyN.
668                 </para>
669         </sect1>
670
671         <sect1 id="df">
672             <title>df</title>
673
674                 <para>
675                 Usage: df [FILE]...
676                 </para>
677
678                 <para>
679                 Print the filesystem space used and space available.
680                 </para>
681
682                 <para>
683                 Example:
684                 </para>
685
686                 <para>
687                 <screen>
688                         $ df
689                         Filesystem           1k-blocks      Used Available Use% Mounted on
690                         /dev/sda3              8690864   8553540    137324  98% /
691                         /dev/sda1                64216     36364     27852  57% /boot
692                         $ df /dev/sda3
693                         Filesystem           1k-blocks      Used Available Use% Mounted on
694                         /dev/sda3              8690864   8553540    137324  98% /
695                 </screen>
696                 </para>
697         </sect1>
698         
699         <sect1 id="dirname">
700             <title>dirname</title>
701
702                 <para>
703                 Usage: dirname NAME
704                 </para>
705
706                 <para>
707                 Strip non-directory suffix from NAME.
708                 </para>
709
710                 <para>
711                 Example:
712                 </para>
713
714                 <para>
715                 <screen>
716                         $ dirname /tmp/foo
717                         /tmp
718                         $ dirname /tmp/foo/
719                         /tmp
720                 </screen>
721                 </para>
722         </sect1>
723
724         <sect1 id="dmesg">
725             <title>dmesg</title>
726
727                 <para>
728                 Usage: dmesg [OPTION]...
729                 </para>
730
731                 <para>
732                 Print or control the kernel ring buffer.
733                 </para>
734
735                 <para>
736                 Options:
737                 </para>
738
739                 <para>
740                 <screen>
741                         -c              Clear the ring buffer after printing
742                         -n LEVEL        Set the console logging level to LEVEL
743                         -s BUFSIZE      Query ring buffer using a buffer of BUFSIZE
744                 </screen>
745                 </para>
746         </sect1>
747
748         <sect1 id="dos2unix">
749             <title>dos2unix</title>
750
751                 <para>
752                 Usage: dos2unix < dosfile > unixfile
753                 </para>
754
755                 <para>
756                 Converts a text file from dos format to unix format.
757                 </para>
758
759         </sect1>
760
761         <sect1 id="du">
762             <title>du</title>
763
764                 <para>
765                 Usage: du [OPTION]... [FILE]...
766                 </para>
767
768                 <para>
769                 Summarize the disk space used for each FILE or current
770                 directory.  Disk space printed in units of 1k (i.e.
771                 1024 bytes).
772                 </para>
773
774                 <para>
775                 Options:
776                 </para>
777
778                 <para>
779                 <screen>
780                         -l      Count sizes many times if hard linked
781                         -s      Display only a total for each argument
782                 </screen>
783                 </para>
784
785                 <para>
786                 Example:
787                 </para>
788
789                 <para>
790                 <screen>
791                         $ du
792                         16      ./CVS
793                         12      ./kernel-patches/CVS
794                         80      ./kernel-patches
795                         12      ./tests/CVS
796                         36      ./tests
797                         12      ./scripts/CVS
798                         16      ./scripts
799                         12      ./docs/CVS
800                         104     ./docs
801                         2417    .
802                 </screen>
803                 </para>
804         </sect1>
805
806         <sect1 id="dumpkmap">
807             <title>dumpkmap</title>
808
809                 <para>
810                 Usage: dumpkmap
811                 </para>
812
813                 <para>
814                 Prints out a binary keyboard translation table to standard output.
815                 </para>
816
817                 <para>
818                 Example:
819                 </para>
820
821                 <para>
822                 <screen>
823                         $ dumpkmap &lt; keymap
824                 </screen>
825                 </para>
826         </sect1>
827
828         <sect1 id="dutmp">
829             <title>dutmp</title>
830
831                 <para>
832                 Usage: dutmp [FILE]
833                 </para>
834
835                 <para>
836                 Dump utmp file format (pipe delimited) from FILE or
837                 stdin to stdout.
838                 </para>
839
840                 <para>
841                 Example:
842                 </para>
843
844                 <para>
845                 <screen>
846                         $ dutmp /var/run/utmp
847                         8|7||si|||0|0|0|955637625|760097|0
848                         2|0|~|~~|reboot||0|0|0|955637625|782235|0
849                         1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
850                         8|125||l4|||0|0|0|955637629|998367|0
851                         6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
852                         6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
853                         7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
854                 </screen>
855                 </para>
856         </sect1>
857
858         <sect1 id="echo">
859             <title>echo</title>
860
861                 <para>
862                 Usage: echo [OPTION]... [ARG]...
863                 </para>
864
865                 <para>
866                 Print ARGs to stdout.
867                 </para>
868
869                 <para>
870                 Options:
871                 </para>
872
873                 <para>
874                 <screen>
875                         -n      Suppress trailing newline
876                         -e      Enable interpretation of escaped characters
877                         -E      Disable interpretation of escaped characters
878                 </screen>
879                 </para>
880
881                 <para>
882                 Example:
883                 </para>
884
885                 <para>
886                 <screen>
887                         $ echo "Erik is cool"
888                         Erik is cool
889                         $ echo -e "Erik\nis\ncool"
890                         Erik
891                         is
892                         cool
893                         $ echo "Erik\nis\ncool"
894                         Erik\nis\ncool
895                 </screen>
896                 </para>
897         </sect1>
898
899         <sect1 id="expr">
900             <title>expr</title>
901
902                 <para>
903                 Usage: expr EXPRESSION
904                 </para>
905
906                 <para>
907                 Prints the value of EXPRESSION to standard output.
908                 </para>
909
910                 <para>
911                 EXPRESSION may be:
912                 </para>
913
914                 <para>
915                 <screen>
916                         ARG1 |  ARG2    ARG1 if it is neither null nor 0, otherwise ARG2
917                         ARG1 &  ARG2    ARG1 if neither argument is null or 0, otherwise 0
918                         ARG1 &lt  ARG2    ARG1 is less than ARG2
919                         ARG1 &lt= ARG2    ARG1 is less than or equal to ARG2
920                         ARG1 =  ARG2    ARG1 is equal to ARG2
921                         ARG1 != ARG2    ARG1 is unequal to ARG2
922                         ARG1 &gt= ARG2    ARG1 is greater than or equal to ARG2
923                         ARG1 &gt  ARG2    ARG1 is greater than ARG2
924                         ARG1 +  ARG2    arithmetic sum of ARG1 and ARG2
925                         ARG1 -  ARG2    arithmetic difference of ARG1 and ARG2
926                         ARG1 *  ARG2    arithmetic product of ARG1 and ARG2
927                         ARG1 /  ARG2    arithmetic quotient of ARG1 divided by ARG2
928                         ARG1 %  ARG2    arithmetic remainder of ARG1 divided by ARG2
929                         STRING : REGEXP             anchored pattern match of REGEXP in STRING
930                         match STRING REGEXP         same as STRING : REGEXP
931                         substr STRING POS LENGTH    substring of STRING, POS counted from 1
932                         index STRING CHARS          index in STRING where any CHARS is found, or 0
933                         length STRING               length of STRING
934                         quote TOKEN                 interpret TOKEN as a string, even if it is a
935                                                         keyword like `match' or an operator like `/'
936                         ( EXPRESSION )              value of EXPRESSION
937                 </screen>
938                 </para>
939
940                 <para>
941                 Beware that many operators need to be escaped or quoted for shells.
942                 Comparisons are arithmetic if both ARGs are numbers, else
943                 lexicographical.  Pattern matches return the string matched between
944                 \( and \) or null; if \( and \) are not used, they return the number
945                 of characters matched or 0.
946                 </para>
947
948         </sect1>
949
950
951         <sect1 id="false">
952             <title>false</title>
953
954                 <para>
955                 Usage: false
956                 </para>
957
958                 <para>
959                 Return an exit code of FALSE (1).
960                 </para>
961
962                 <para>
963                 Example:
964                 </para>
965
966                 <para>
967                 <screen>
968                         $ false
969                         $ echo $?
970                         1
971                 </screen>
972                 </para>
973         </sect1>
974
975         <sect1 id="fbset">
976             <title>fbset</title>
977
978                 <para>
979                 Usage: fbset [OPTION]... [MODE]
980                 </para>
981
982                 <para>
983                 Show and modify frame buffer device settings.
984                 </para>
985
986                 <para>
987                 Options:
988                 </para>
989
990                 <para>
991                 <screen>
992                         -h                                              Display option summary
993                         -fb DEVICE                                      Operate on DEVICE
994                         -db FILE                                        Use FILE for mode database
995                         -g XRES YRES VXRES VYRES DEPTH                  Set all geometry parameters
996                         -t PIXCLOCK LEFT RIGHT UPPER LOWER HSLEN VSLEN  Set all timing parameters
997                         -xres RES                                       Set visible horizontal resolution
998                         -yres RES                                       Set visible vertical resolution
999                 </screen>
1000                 </para>
1001
1002                 <para>
1003                 Example:
1004                 </para>
1005
1006                 <para>
1007                 <screen>
1008                         $ fbset
1009                         mode "1024x768-76"
1010                                         # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
1011                                         geometry 1024 768 1024 768 16
1012                                         timings 12714 128 32 16 4 128 4
1013                                         accel false
1014                                         rgba 5/11,6/5,5/0,0/0
1015                         endmode
1016                 </screen>
1017                 </para>
1018         </sect1>
1019
1020         <sect1 id="fdflush">
1021             <title>fdflush</title>
1022
1023                 <para>
1024                 Usage: fdflush DEVICE
1025                 </para>
1026
1027                 <para>
1028                 Force floppy disk drive to detect disk change on DEVICE.
1029                 </para>
1030         </sect1>
1031
1032         <sect1 id="find">
1033             <title>find</title>
1034
1035                 <para>
1036                 Usage: find [PATH]... [EXPRESSION]
1037                 </para>
1038
1039                 <para>
1040                 Search for files in a directory hierarchy. The default
1041                 PATH is the current directory; default EXPRESSION is
1042                 '-print'.
1043                 </para>
1044
1045                 <para>
1046                 EXPRESSION may consist of:
1047                 </para>
1048
1049                 <para>
1050                 <screen>
1051                         -follow         Dereference symbolic links
1052                         -name PATTERN   File name (leading directories removed) matches PATTERN
1053                         -print          Print the full file name followed by a newline to stdout
1054                 </screen>
1055                 </para>
1056
1057                 <para>
1058                 Example:
1059                 </para>
1060
1061                 <para>
1062                 <screen>
1063                         $ find / -name /etc/passwd
1064                         /etc/passwd
1065                 </screen>
1066                 </para>
1067         </sect1>
1068
1069         <sect1 id="free">
1070             <title>free</title>
1071
1072                 <para>
1073                 Usage: free
1074                 </para>
1075
1076                 <para>
1077                 Displays the amount of free and used system memory.
1078                 </para>
1079
1080                 <para>
1081                 Example:
1082                 </para>
1083
1084                 <para>
1085                 <screen>
1086                         $ free
1087                         total         used         free       shared      buffers
1088                           Mem:       257628       248724         8904        59644        93124
1089                          Swap:       128516         8404       120112
1090                         Total:       386144       257128       129016
1091                 </screen>
1092                 </para>
1093         </sect1>
1094
1095         <sect1 id="freeramdisk">
1096             <title>freeramdisk</title>
1097
1098                 <para>
1099                 Usage: freeramdisk DEVICE
1100                 </para>
1101
1102                 <para>
1103                 Free all memory used by the ramdisk DEVICE.
1104                 </para>
1105
1106                 <para>
1107                 Example:
1108                 </para>
1109
1110                 <para>
1111                 <screen>
1112                         $ freeramdisk /dev/ram2
1113                 </screen>
1114                 </para>
1115         </sect1>
1116
1117         <sect1 id="fsck.minix">
1118             <title>fsck.minix</title>
1119
1120                 <para>
1121                 Usage: fsck.minix [OPTION]... DEVICE
1122                 </para>
1123
1124                 <para>
1125                 Perform a consistency check on the MINIX filesystem on
1126                 DEVICE.
1127                 </para>
1128
1129                 <para>
1130                 Options:
1131                 </para>
1132
1133                 <para>
1134                 <screen>
1135                         -l      List all filenames
1136                         -r      Perform interactive repairs
1137                         -a      Perform automatic repairs
1138                         -v      Verbose
1139                         -s      Output super-block information
1140                         -m      Activate MINIX-like "mode not cleared" warnings
1141                         -f      Force file system check.
1142                 </screen>
1143                 </para>
1144         </sect1>
1145         
1146         <sect1 id="getopt">
1147             <title>getopt</title>
1148
1149                 <para>
1150                 Usage: getopt [OPTIONS]...
1151                 </para>
1152
1153                 <para>
1154                 Parse command options
1155                 </para>
1156
1157                 <para>
1158                 <screen>
1159                    -a, --alternative            Allow long options starting with single -\n"
1160                    -l, --longoptions=longopts   Long options to be recognized\n"
1161                    -n, --name=progname          The name under which errors are reported\n"
1162                    -o, --options=optstring      Short options to be recognized\n"
1163                    -q, --quiet                  Disable error reporting by getopt(3)\n"
1164                    -Q, --quiet-output           No normal output\n"
1165                    -s, --shell=shell            Set shell quoting conventions\n"
1166                    -T, --test                   Test for getopt(1) version\n"
1167                    -u, --unqote                 Do not quote the output\n"
1168                 </screen>
1169                 </para>
1170
1171
1172                 <para>
1173                 Example:
1174                 </para>
1175
1176                 <para>
1177                 <screen>
1178                         $ cat getopt.test
1179                         #!/bin/sh
1180                         GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \
1181                                 -n 'example.busybox' -- "$@"`
1182                         if [ $? != 0 ] ; then  exit 1 ; fi
1183                         eval set -- "$GETOPT"
1184                         while true ; do
1185                           case $1 in
1186                             -a|--a-long) echo "Option a" ; shift ;;
1187                             -b|--b-long) echo "Option b, argument \`$2'" ; shift 2 ;;
1188                             -c|--c-long)
1189                               case "$2" in
1190                                 "") echo "Option c, no argument"; shift 2 ;;
1191                                 *)  echo "Option c, argument \`$2'" ; shift 2 ;;
1192                               esac ;;
1193                             --) shift ; break ;;
1194                             *) echo "Internal error!" ; exit 1 ;;
1195                           esac
1196                         done
1197                 </screen>
1198                 </para>
1199         </sect1>
1200
1201         <sect1 id="grep">
1202             <title>grep</title>
1203
1204                 <para>
1205                 Usage: grep [OPTIONS]... PATTERN [FILE]...
1206                 </para>
1207
1208                 <para>
1209                 Search for PATTERN in each FILE or stdin.
1210                 </para>
1211
1212                 <para>
1213                 Options:
1214                 </para>
1215
1216                 <para>
1217                 <screen>
1218                         -h      Suppress the prefixing filename on output
1219                         -i      Ignore case distinctions
1220                         -n      Print line number with output lines
1221                         -q      Be quiet. Returns 0 if result was found, 1 otherwise
1222                         -v      Select non-matching lines
1223                 </screen>
1224                 </para>
1225
1226                 <para>
1227                 This version of grep matches full regular expressions.
1228                 </para>
1229
1230                 <para>
1231                 Example:
1232                 </para>
1233
1234                 <para>
1235                 <screen>
1236                         $ grep root /etc/passwd
1237                         root:x:0:0:root:/root:/bin/bash
1238                         $ grep ^[rR]oo. /etc/passwd
1239                         root:x:0:0:root:/root:/bin/bash
1240                 </screen>
1241                 </para>
1242         </sect1>
1243
1244         <sect1 id="gunzip">
1245             <title>gunzip</title>
1246
1247                 <para>
1248                 Usage: gunzip [OPTION]... FILE
1249                 </para>
1250
1251                 <para>
1252                 Uncompress FILE (or stdin if FILE is '-').
1253                 </para>
1254
1255                 <para>
1256                 Options:
1257                 </para>
1258
1259                 <para>
1260                 <screen>
1261                         -c      Write output to standard output
1262                         -t      Test compressed file integrity
1263                 </screen>
1264                 </para>
1265
1266                 <para>
1267                 Example:
1268                 </para>
1269
1270                 <para>
1271                 <screen>
1272                         $ ls -la /tmp/BusyBox*
1273                         -rw-rw-r--    1 andersen andersen   557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
1274                         $ gunzip /tmp/BusyBox-0.43.tar.gz
1275                         $ ls -la /tmp/BusyBox*
1276                         -rw-rw-r--    1 andersen andersen  1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
1277                 </screen>
1278                 </para>
1279         </sect1>
1280
1281         <sect1 id="gzip">
1282             <title>gzip</title>
1283
1284                 <para>
1285                 Usage: gzip [OPTION]... FILE
1286                 </para>
1287
1288                 <para>
1289                 Compress FILE (or stdin if FILE is '-') with maximum
1290                 compression to FILE.gz (or stdout if FILE is '-').
1291                 </para>
1292
1293                 <para>
1294                 Options:
1295                 </para>
1296
1297                 <para>
1298                 <screen>
1299                         -c      Write output to standard output
1300                         -d      decompress
1301                 </screen>
1302                 </para>
1303
1304                 <para>
1305                 Example:
1306                 </para>
1307
1308                 <para>
1309                 <screen>
1310                         $ ls -la /tmp/BusyBox*
1311                         -rw-rw-r--    1 andersen andersen  1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
1312                         $ gzip /tmp/BusyBox-0.43.tar
1313                         $ ls -la /tmp/BusyBox*
1314                         -rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
1315                 </screen>
1316                 </para>
1317         </sect1>
1318
1319         <sect1 id="halt">
1320             <title>halt</title>
1321
1322                 <para>
1323                 Usage: halt
1324                 </para>
1325
1326                 <para>
1327                 Halt the system.
1328                 </para>
1329         </sect1>
1330
1331         <sect1 id="head">
1332             <title>head</title>
1333
1334                 <para>
1335                 Usage: head [OPTION] FILE...
1336                 </para>
1337
1338                 <para>
1339                 Print first 10 lines of each FILE to standard output.
1340                 With more than one FILE, precede each with a header
1341                 giving the file name. With no FILE, or when FILE is -,
1342                 read standard input.
1343                 </para>
1344
1345                 <para>
1346                 Options:
1347                 </para>
1348
1349                 <para>
1350                 <screen>
1351                         -n NUM  Print first NUM lines instead of first 10
1352                 </screen>
1353                 </para>
1354
1355                 <para>
1356                 Example:
1357                 </para>
1358
1359                 <para>
1360                 <screen>
1361                         $ head -n 2 /etc/passwd
1362                         root:x:0:0:root:/root:/bin/bash
1363                         daemon:x:1:1:daemon:/usr/sbin:/bin/sh
1364                 </screen>
1365                 </para>
1366         </sect1>
1367
1368         <sect1 id="hostid">
1369             <title>hostid</title>
1370
1371                 <para>
1372                 Usage: hostid
1373                 </para>
1374
1375                 <para>
1376                 Prints out a unique 32-bit identifier for the current
1377                 machine. The 32-bit identifier is intended to be unique
1378                 among all UNIX systems in existence. 
1379                 </para>
1380         </sect1>
1381
1382         <sect1 id="hostname">
1383             <title>hostname</title>
1384
1385                 <para>
1386                 Usage: hostname [OPTION]... [HOSTNAME|-F FILE]
1387                 </para>
1388
1389                 <para>
1390                 Get or set the hostname or DNS domain name. If a
1391                 hostname is given (or a file with the -F parameter), the
1392                 host name will be set.
1393                 </para>
1394
1395                 <para>
1396                 Options:
1397                 </para>
1398
1399                 <para>
1400                 <screen>
1401                         -s              Short
1402                         -i              Addresses for the hostname
1403                         -d              DNS domain name
1404                         -F, --file FILE Use the contents of FILE to specify the hostname
1405                 </screen>
1406                 </para>
1407
1408                 <para>
1409                 Example:
1410                 </para>
1411
1412                 <para>
1413                 <screen>
1414                         $ hostname
1415                         slag
1416                 </screen>
1417                 </para>
1418         </sect1>
1419
1420         <sect1 id="id">
1421             <title>id</title>
1422
1423                 <para>
1424                 Usage: id [OPTION]... [USERNAME]
1425                 </para>
1426
1427                 <para>
1428                 Print information for USERNAME or the current user.
1429                 </para>
1430
1431                 <para>
1432                 Options:
1433                 </para>
1434
1435                 <para>
1436                 <screen>
1437                         -g      Print only the group ID
1438                         -u      Print only the user ID
1439                         -r      Print the real user ID instead of the effective ID (with -ug)
1440                 </screen>
1441                 </para>
1442
1443                 <para>
1444                 Example:
1445                 </para>
1446
1447                 <para>
1448                 <screen>
1449                         $ id
1450                         uid=1000(andersen) gid=1000(andersen)
1451                 </screen>
1452                 </para>
1453         </sect1>
1454
1455         <sect1 id="init">
1456             <title>init</title>
1457
1458                 <para>
1459                 Usage: init
1460                 </para>
1461
1462                 <para>
1463                 Init is the parent of all processes.
1464                 </para>
1465
1466                 <para>
1467                 This version of init is designed to be run only by the
1468                 kernel.
1469                 </para>
1470
1471                 <para>
1472                 BusyBox init doesn't support multiple runlevels. The
1473                 runlevels field of the /etc/inittab file is completely
1474                 ignored by BusyBox init. If you want runlevels, use
1475                 sysvinit.
1476                 </para>
1477
1478                 <para>
1479                 BusyBox init works just fine without an inittab. If no
1480                 inittab is found, it has the following default behavior:
1481                 </para>
1482
1483                 <para>
1484                 <screen>
1485                         ::sysinit:/etc/init.d/rcS
1486                         ::askfirst:/bin/sh
1487                 </screen>
1488                 </para>
1489
1490                 <para>
1491                 If it detects that /dev/console is _not_ a serial
1492                 console, it will also run:
1493                 </para>
1494
1495                 <para>
1496                 <screen>
1497                         tty2::askfirst:/bin/sh
1498                 </screen>
1499                 </para>
1500
1501                 <para>
1502                 If you choose to use an /etc/inittab file, the inittab
1503                 entry format is as follows:
1504                 </para>
1505
1506                 <para>
1507                 <screen>
1508                         &lt;id&gt;:&lt;runlevels&gt;:&lt;action&gt;:&lt;process&gt;
1509                 </screen>
1510                 </para>
1511
1512                 <sect2>
1513                     <title>id</title>
1514                         <para>
1515                         WARNING: This field has a non-traditional
1516                         meaning for BusyBox init!  The id field is used
1517                         by BusyBox init to specify the controlling tty
1518                         for the specified process to run on.  The
1519                         contents of this field are appended to "/dev/"
1520                         and used as-is.  There is no need for this field
1521                         to be unique, although if it isn't you may have
1522                         strange results.  If this field is left blank,
1523                         it is completely ignored.  Also note that if
1524                         BusyBox detects that a serial console is in use,
1525                         then all entries containing non-empty id fields
1526                         will _not_ be run.  BusyBox init does nothing
1527                         with utmp.  We don't need no stinkin' utmp.
1528                         </para>
1529                 </sect2>
1530
1531                 <sect2>
1532                     <title>runlevels</title>
1533
1534                         <para>
1535                         The runlevels field is completely ignored.
1536                         </para>
1537                 </sect2>
1538
1539                 <sect2>
1540                     <title>action</title>
1541
1542
1543                         <para>
1544                         Valid actions include: sysinit, respawn, askfirst, wait, 
1545                         once, and ctrlaltdel.
1546                         </para>
1547
1548
1549                         <para>
1550                         The available actions can be classified into two groups: actions
1551                         that are run only once, and actions that are re-run when the specified
1552                         process exits.
1553                         </para>
1554
1555                         <para>
1556                         Run only-once actions:
1557                         </para>
1558
1559                         <para>
1560                         'sysinit' is the first item run on boot.  init waits until all
1561                         sysinit actions are completed before continuing.  Following the
1562                         completion of all sysinit actions, all 'wait' actions are run.
1563                         'wait' actions, like  'sysinit' actions, cause init to wait until
1564                         the specified task completes.  'once' actions are asyncronous,
1565                         therefore, init does not wait for them to complete.  'ctrlaltdel'
1566                         actions are run immediately before init causes the system to reboot
1567                         (unmounting filesystems with a 'ctrlaltdel' action is a very good
1568                          idea).
1569                         </para>
1570
1571                         <para>
1572                         Run repeatedly actions:
1573                         </para>
1574
1575                         <para>
1576                         'respawn' actions are run after the 'once' actions.  When a process
1577                         started with a 'respawn' action exits, init automatically restarts
1578                         it.  Unlike sysvinit, BusyBox init does not stop processes from
1579                         respawning out of control.  The 'askfirst' actions acts just like
1580                         respawn, except that before running the specified process it
1581                         displays the line "Please press Enter to activate this console."
1582                         and then waits for the user to press enter before starting the
1583                         specified process.  
1584                         </para>
1585
1586                         <para>
1587                         Unrecognized actions (like initdefault) will cause init to emit an
1588                         error message, and then go along with its business.  All actions are
1589                         run in the reverse order from how they appear in /etc/inittab.
1590                         </para>
1591
1592                 </sect2>
1593
1594                 <sect2>
1595                     <title>process</title>
1596
1597                         <para>
1598                         Specifies the process to be executed and its
1599                         command line.
1600                         </para>
1601                 </sect2>
1602
1603                 <sect2>
1604                     <title>Example /etc/inittab file</title>
1605
1606                     <para>
1607                     <screen>
1608                             # This is run first except when booting in single-user mode.
1609                             #
1610                             ::sysinit:/etc/init.d/rcS
1611
1612                             # /bin/sh invocations on selected ttys
1613                             #
1614                             # Start an "askfirst" shell on the console (whatever that may be)
1615                             ::askfirst:-/bin/sh
1616                             # Start an "askfirst" shell on /dev/tty2-4
1617                             tty2::askfirst:-/bin/sh
1618                             tty2::askfirst:-/bin/sh
1619                             tty2::askfirst:-/bin/sh
1620
1621                             # /sbin/getty invocations for selected ttys
1622                             #
1623                             tty4::respawn:/sbin/getty 38400 tty5
1624                             tty5::respawn:/sbin/getty 38400 tty6
1625
1626                             # Example of how to put a getty on a serial line (for a terminal)
1627                             #
1628                             #::respawn:/sbin/getty -L ttyS0 9600 vt100
1629                             #::respawn:/sbin/getty -L ttyS1 9600 vt100
1630                             #
1631                             # Example how to put a getty on a modem line.
1632                             #::respawn:/sbin/getty 57600 ttyS2
1633
1634                             # Stuff to do before rebooting
1635                             ::ctrlaltdel:/bin/umount -a -r
1636                             ::ctrlaltdel:/sbin/swapoff
1637                     </screen>
1638                     </para>
1639                 </sect2>
1640         </sect1>
1641
1642         <sect1 id="insmod">
1643             <title>insmod</title>
1644
1645                 <para>
1646                 Usage: insmod [OPTION]... MODULE [symbol=value]...
1647                 </para>
1648
1649                 <para>
1650                 Load MODULE into the kernel.
1651                 </para>
1652
1653                 <para>
1654                 Options:
1655                 </para>
1656
1657                 <para>
1658                 <screen>
1659                         -f      Force module to load into the wrong kernel version.
1660                         -k      Make module autoclean-able.
1661                         -v      Verbose output
1662                         -x      Do not export externs
1663                 </screen>
1664                 </para>
1665         </sect1>
1666
1667         <sect1 id="kill">
1668             <title>kill</title>
1669
1670                 <para>
1671                 Usage: kill [OPTION] PID...
1672                 </para>
1673
1674                 <para>
1675                 Send a signal (default is SIGTERM) to the specified
1676                 PID(s).
1677                 </para>
1678
1679                 <para>
1680                 Options:
1681                 </para>
1682
1683                 <para>
1684                 <screen>
1685                         -l      List all signal names and numbers
1686                         -SIG    Send signal SIG
1687                 </screen>
1688                 </para>
1689
1690                 <para>
1691                 Example:
1692                 </para>
1693
1694                 <para>
1695                 <screen>
1696                         $ ps | grep apache
1697                         252 root     root     S [apache]
1698                         263 www-data www-data S [apache]
1699                         264 www-data www-data S [apache]
1700                         265 www-data www-data S [apache]
1701                         266 www-data www-data S [apache]
1702                         267 www-data www-data S [apache]
1703                         $ kill 252
1704                 </screen>
1705                 </para>
1706         </sect1>
1707
1708         <sect1 id="killall">
1709             <title>killall</title>
1710
1711                 <para>
1712                 Usage: killall [OPTION] NAME...
1713                 </para>
1714
1715                 <para>
1716                 Send a signal (default is SIGTERM) to the specified
1717                 NAME(s).
1718                 </para>
1719
1720                 <para>
1721                 Options:
1722                 </para>
1723
1724                 <para>
1725                 <screen>
1726                         -l      List all signal names and numbers
1727                         -SIG    Send signal SIG
1728                 </screen>
1729                 </para>
1730
1731                 <para>
1732                 Example:
1733                 </para>
1734
1735                 <para>
1736                 <screen>
1737                         $ killall apache
1738                 </screen>
1739                 </para>
1740         </sect1>
1741
1742         <sect1 id="length">
1743             <title>length</title>
1744
1745                 <para>
1746                 Usage: length STRING
1747                 </para>
1748
1749                 <para>
1750                 Print the length of STRING.
1751                 </para>
1752
1753                 <para>
1754                 Example:
1755                 </para>
1756
1757                 <para>
1758                 <screen>
1759                         $ length "Hello"
1760                         5
1761                 </screen>
1762                 </para>
1763         </sect1>
1764
1765         <sect1 id="ln">
1766             <title>ln</title>
1767
1768                 <para>
1769                 Usage: ln [OPTION]... TARGET FILE|DIRECTORY
1770                 </para>
1771
1772                 <para>
1773                 Create a link named FILE or DIRECTORY to the specified
1774                 TARGET.  You may use '--' to indicate that all following
1775                 arguments are non-options.
1776                 </para>
1777
1778                 <para>
1779                 Options:
1780                 </para>
1781
1782                 <para>
1783                 <screen>
1784                         -s      Make symbolic link instead of hard link
1785                         -f      Remove existing destination file
1786                 </screen>
1787                 </para>
1788
1789                 <para>
1790                 Example:
1791                 </para>
1792
1793                 <para>
1794                 <screen>
1795                         $ ln -s BusyBox /tmp/ls
1796                         $ ls -l /tmp/ls
1797                         lrwxrwxrwx    1 root     root            7 Apr 12 18:39 ls -&gt; BusyBox*
1798                 </screen>
1799                 </para>
1800         </sect1>
1801
1802         <sect1 id="loadacm">
1803             <title>loadacm</title>
1804
1805                 <para>
1806                 Usage: loadacm
1807                 </para>
1808
1809                 <para>
1810                 Load an acm from stdin.
1811                 </para>
1812
1813                 <para>
1814                 Example:
1815                 </para>
1816
1817                 <para>
1818                 <screen>
1819                         $ loadacm &lt; /etc/i18n/acmname
1820                 </screen>
1821                 </para>
1822         </sect1>
1823
1824         <sect1 id="loadfont">
1825             <title>loadfont</title>
1826
1827                 <para>
1828                 Usage: loadfont
1829                 </para>
1830
1831                 <para>
1832                 Load a console font from stdin.
1833                 </para>
1834
1835                 <para>
1836                 Example:
1837                 </para>
1838
1839                 <para>
1840                 <screen>
1841                         $ loadfont &lt; /etc/i18n/fontname
1842                 </screen>
1843                 </para>
1844         </sect1>
1845
1846         <sect1 id="loadkmap">
1847             <title>loadkmap</title>
1848
1849                 <para>
1850                 Usage: loadkmap
1851                 </para>
1852
1853                 <para>
1854                 Load a binary keyboard translation table from stdin.
1855                 </para>
1856
1857                 <para>
1858                 Example:
1859                 </para>
1860
1861                 <para>
1862                 <screen>
1863                         $ loadkmap &lt; /etc/i18n/lang-keymap
1864                 </screen>
1865                 </para>
1866         </sect1>
1867
1868         <sect1 id="logger">
1869             <title>logger</title>
1870
1871                 <para>
1872                 Usage: logger [OPTION]... [MESSAGE]
1873                 </para>
1874
1875                 <para>
1876                 Write MESSAGE to the system log.  If MESSAGE is '-', log
1877                 stdin.
1878                 </para>
1879
1880                 <para>
1881                 Options:
1882                 </para>
1883
1884                 <para>
1885                 <screen>
1886                         -s      Log to stderr as well as the system log
1887                         -t      Log using the specified tag (defaults to user name)
1888                         -p      Enter the message with the specified priority
1889                                 This may be numerical or a ``facility.level'' pair
1890                 </screen>
1891                 </para>
1892
1893                 <para>
1894                 Example:
1895                 </para>
1896
1897                 <para>
1898                 <screen>
1899                         $ logger "hello"
1900                 </screen>
1901                 </para>
1902         </sect1>
1903
1904         <sect1 id="logname">
1905             <title>logname</title>
1906
1907                 <para>
1908                 Usage: logname
1909                 </para>
1910
1911                 <para>
1912                 Print the name of the current user.
1913                 </para>
1914
1915                 <para>
1916                 Example:
1917                 </para>
1918
1919                 <para>
1920                 <screen>
1921                         $ logname
1922                         root
1923                 </screen>
1924                 </para>
1925         </sect1>
1926
1927         <sect1 id="ls">
1928             <title>ls</title>
1929
1930                 <para>
1931                 Usage: ls [OPTION]... [FILE]...
1932                 </para>
1933
1934                 <para>
1935                 
1936                 </para>
1937
1938                 <para>
1939                 Options:
1940                 </para>
1941
1942                 <para>
1943                 <screen>
1944                         -a      Do not hide entries starting with .
1945                         -c      With  -l:  show ctime (the time of last
1946                                 modification of file status information)
1947                         -d      List directory entries instead of contents
1948                         -e      List both full date and full time
1949                         -l      Use a long listing format
1950                         -n      List numeric UIDs and GIDs instead of names
1951                         -p      Append indicator (one of /=@|) to entries
1952                         -u      With -l: show access time (the time of last
1953                                 access of the file)
1954                         -x      List entries by lines instead of by columns
1955                         -A      Do not list implied . and ..
1956                         -C      List entries by columns
1957                         -F      Append indicator (one of */=@|) to entries
1958                         -L      list entries pointed to by symbolic links
1959                         -R      List subdirectories recursively
1960                 </screen>
1961                 </para>
1962
1963                 <para>
1964                 Example:
1965                 </para>
1966
1967                 <para>
1968                 <screen>
1969                 </screen>
1970                 </para>
1971         </sect1>
1972
1973         <sect1 id="lsmod">
1974             <title>lsmod</title>
1975
1976                 <para>
1977                 Usage: lsmod
1978                 </para>
1979
1980                 <para>
1981                 List currently loaded kernel modules.
1982                 </para>
1983         </sect1>
1984
1985         <sect1 id="makedevs">
1986             <title>makedevs</title>
1987
1988                 <para>
1989                 Usage: makedevsf NAME TYPE MAJOR MINOR FIRST LAST [s]
1990                 </para>
1991
1992                 <para>
1993                 Create a range of block or character special files.
1994                 </para>
1995
1996                 <para>
1997                 TYPE may be:
1998                 </para>
1999
2000                 <para>
2001                 <screen>
2002                         b       Make a block (buffered) device
2003                         c or u  Make a character (un-buffered) device
2004                         p       Make a named pipe. MAJOR and MINOR are ignored for named pipes
2005                 </screen>
2006                 </para>
2007
2008                 <para>
2009                 FIRST specifies the number appended to NAME to create
2010                 the first device.  LAST specifies the number of the last
2011                 item that should be created. If 's' is the last
2012                 argument, the base device is created as well.
2013                 </para>
2014
2015                 <para>
2016                 Example:
2017                 </para>
2018
2019                 <para>
2020                 <screen>
2021                         $ makedevs /dev/ttyS c 4 66 2 63
2022                         [creates ttyS2-ttyS63]
2023                         $ makedevs /dev/hda b 3 0 0 8 s
2024                         [creates hda,hda1-hda8]
2025                 </screen>
2026                 </para>
2027         </sect1>
2028
2029         <sect1 id="md5sum">
2030             <title>md5sum</title>
2031
2032                 <para>
2033                 Usage: md5sum [OPTION]... FILE...
2034                 </para>
2035
2036                 <para>
2037                 Print or check MD5 checksums.
2038                 </para>
2039
2040                 <para>
2041                 Options:
2042                 </para>
2043
2044                 <para>
2045                 <screen>
2046                         -b      Read files in binary mode
2047                         -c      Check MD5 sums against given list
2048                         -t      Read files in text mode (default)
2049                         -g      Read a string
2050                 </screen>
2051                 </para>
2052
2053                 <para>
2054                 The following two options are useful only when verifying
2055                 checksums:
2056                 </para>
2057
2058                 <para>
2059                 <screen>
2060                         -s      Don't output anything, status code shows success
2061                         -w      Warn about improperly formated MD5 checksum lines
2062                 </screen>
2063                 </para>
2064
2065                 <para>
2066                 Example:
2067                 </para>
2068
2069                 <para>
2070                 <screen>
2071                         $ md5sum busybox
2072                         6fd11e98b98a58f64ff3398d7b324003  busybox
2073                         $ md5sum -c
2074                         6fd11e98b98a58f64ff3398d7b324003  busybox
2075                         6fd11e98b98a58f64ff3398d7b324002  busybox
2076                         md5sum: MD5 check failed for 'busybox'
2077                         ^D
2078                 </screen>
2079                 </para>
2080         </sect1>
2081
2082         <sect1 id="mkdir">
2083             <title>mkdir</title>
2084
2085                 <para>
2086                 Usage: mkdir [OPTION]... DIRECTORY...
2087                 </para>
2088
2089                 <para>
2090                 Create the DIRECTORY(s), if they do not already exist.
2091                 </para>
2092
2093                 <para>
2094                 Options:
2095                 </para>
2096
2097                 <para>
2098                 <screen>
2099                         -m      Set permission mode (as in chmod), not rwxrwxrwx - umask
2100                         -p      No error if directory exists, make parent directories as needed
2101                 </screen>
2102                 </para>
2103
2104                 <para>
2105                 Example:
2106                 </para>
2107
2108                 <para>
2109                 <screen>
2110                         $ mkdir /tmp/foo
2111                         $ mkdir /tmp/foo
2112                         /tmp/foo: File exists
2113                         $ mkdir /tmp/foo/bar/baz
2114                         /tmp/foo/bar/baz: No such file or directory
2115                         $ mkdir -p /tmp/foo/bar/baz
2116                 </screen>
2117                 </para>
2118         </sect1>
2119
2120         <sect1 id="mkfifo">
2121             <title>mkfifo</title>
2122
2123                 <para>
2124                 Usage: mkfifo [OPTION] NAME
2125                 </para>
2126
2127                 <para>
2128                 Create a named pipe (identical to 'mknod NAME p').
2129                 </para>
2130
2131                 <para>
2132                 Options:
2133                 </para>
2134
2135                 <para>
2136                 <screen>
2137                         -m MODE Create the pipe using the specified mode (default a=rw)
2138                 </screen>
2139                 </para>
2140         </sect1>
2141
2142         <sect1 id="mkfs.minix">
2143             <title>mkfs.minix</title>
2144
2145                 <para>
2146                 Usage: mkfs.minix [OPTION]... NAME [BLOCKS]
2147                 </para>
2148
2149                 <para>
2150                 Make a MINIX filesystem.
2151                 </para>
2152
2153                 <para>
2154                 Options:
2155                 </para>
2156
2157                 <para>
2158                 <screen>
2159                         -c              Check the device for bad blocks
2160                         -n [14|30]      Specify the maximum length of filenames
2161                         -i              Specify the number of inodes for the filesystem
2162                         -l FILENAME     Read the bad blocks list from FILENAME
2163                         -v              Make a Minix version 2 filesystem
2164                 </screen>
2165                 </para>
2166         </sect1>
2167
2168         <sect1 id="mknod">
2169             <title>mknod</title>
2170
2171                 <para>
2172                 Usage: mknod [OPTION]... NAME TYPE MAJOR MINOR
2173                 </para>
2174
2175                 <para>
2176                 Create a special file (block, character, or pipe).
2177                 </para>
2178
2179                 <para>
2180                 Options:
2181                 </para>
2182
2183                 <para>
2184                 <screen>
2185                         -m      Create the special file using the specified mode (default a=rw)
2186                 </screen>
2187                 </para>
2188
2189                 <para>
2190                 TYPE may be:
2191                 </para>
2192
2193                 <para>
2194                 <screen>
2195                         b       Make a block (buffered) device
2196                         c or u  Make a character (un-buffered) device
2197                         p       Make a named pipe. MAJOR and MINOR are ignored for named pipes
2198                 </screen>
2199                 </para>
2200
2201                 <para>
2202                 Example:
2203                 </para>
2204
2205                 <para>
2206                 <screen>
2207                         $ mknod /dev/fd0 b 2 0 
2208                         $ mknod -m 644 /tmp/pipe p
2209                 </screen>
2210                 </para>
2211         </sect1>
2212
2213         <sect1 id="mkswap">
2214             <title>mkswap</title>
2215
2216                 <para>
2217                 Usage: mkswap [OPTION]... DEVICE [BLOCKS]
2218                 </para>
2219
2220                 <para>
2221                 Prepare a disk partition to be used as a swap partition.
2222                 </para>
2223
2224                 <para>
2225                 Options:
2226                 </para>
2227
2228                 <para>
2229                 <screen>
2230                         -c      Check for read-ability.
2231                         -v0     Make version 0 swap [max 128 Megs].
2232                         -v1     Make version 1 swap [big!] (default for kernels &gt; 2.1.117).
2233                         BLOCKS  Number of block to use (default is entire partition).
2234                 </screen>
2235                 </para>
2236         </sect1>
2237
2238         <sect1 id="mktemp">
2239             <title>mktemp</title>
2240
2241                 <para>
2242                 Usage: mktemp TEMPLATE
2243                 </para>
2244
2245                 <para>
2246                 Creates a temporary file with its name based on
2247                 TEMPLATE.  TEMPLATE is any name with six `Xs' (i.e.
2248                 /tmp/temp.XXXXXX).
2249                 </para>
2250
2251                 <para>
2252                 Example:
2253                 </para>
2254
2255                 <para>
2256                 <screen>
2257                         $ mktemp /tmp/temp.XXXXXX
2258                         /tmp/temp.mWiLjM
2259                         $ ls -la /tmp/temp.mWiLjM
2260                         -rw-------    1 andersen andersen        0 Apr 25 17:10 /tmp/temp.mWiLjM
2261                 </screen>
2262                 </para>
2263         </sect1>
2264
2265         <sect1 id="more">
2266             <title>more</title>
2267
2268                 <para>
2269                 Usage: more [FILE]...
2270                 </para>
2271
2272                 <para>
2273                 Page through text one screenful at a time.
2274                 </para>
2275
2276                 <para>
2277                 Example:
2278                 </para>
2279
2280                 <para>
2281                 <screen>
2282                         $ dmesg | more
2283                 </screen>
2284                 </para>
2285         </sect1>
2286
2287         <sect1 id="mount">
2288             <title>mount</title>
2289
2290                 <para>
2291                 Usage: mount [OPTION]...
2292                 </para>
2293
2294                 <para>
2295                 <screen>
2296                    or: mount [OPTION]... DEVICE DIRECTORY
2297                 </screen>
2298                 </para>
2299
2300                 <para>
2301                 Mount filesystems.
2302                 </para>
2303
2304                 <para>
2305                 Options:
2306                 </para>
2307
2308                 <para>
2309                 <screen>
2310                         -a      Mount all filesystems in /etc/fstab
2311                         -o      One of the many filesystem options listed below
2312                         -r      Mount the filesystem read-only
2313                         -t TYPE Specify the filesystem type
2314                         -w      Mount the filesystem read-write
2315                 </screen>
2316                 </para>
2317
2318                 <para>
2319                 Options for use with the -o flag:
2320                 </para>
2321
2322                 <para>
2323                 <screen>
2324                         async/sync      Writes are asynchronous / synchronous
2325                         atime/noatime   Enable / disable updates to inode access times
2326                         dev/nodev       Allow / disallow use of special device files
2327                         exec/noexec     Allow / disallow use of executable files
2328                         loop            Mount a file via loop device
2329                         suid/nosuid     Allow / disallow set-user-id-root programs
2330                         remount         Remount a currently mounted filesystem
2331                         ro/rw           Mount filesystem read-only / read-write
2332                 </screen>
2333                 </para>
2334
2335                 <para>
2336                 There are even more flags that are filesystem specific.
2337                 You'll have to see the written documentation for those.
2338                 </para>
2339
2340                 <para>
2341                 Example:
2342                 </para>
2343
2344                 <para>
2345                 <screen>
2346                         $ mount
2347                         /dev/hda3 on / type minix (rw)
2348                         proc on /proc type proc (rw)
2349                         devpts on /dev/pts type devpts (rw)
2350                         $ mount /dev/fd0 /mnt -t msdos -o ro
2351                         $ mount /tmp/diskimage /opt -t ext2 -o loop
2352                 </screen>
2353                 </para>
2354         </sect1>
2355
2356         <sect1 id="mt">
2357             <title>mt</title>
2358
2359                 <para>
2360                 Usage: mt [OPTION] OPCODE VALUE
2361                 </para>
2362
2363                 <para>
2364                 Control magnetic tape drive operation.
2365                 </para>
2366
2367                 <para>
2368                 Options:
2369                 </para>
2370
2371                 <para>
2372                 <screen>
2373                         -f DEVICE       Control DEVICE
2374                 </screen>
2375                 </para>
2376         </sect1>
2377
2378         <sect1 id="mv">
2379             <title>mv</title>
2380
2381                 <para>
2382                 Usage: mv SOURCE DEST
2383                 </para>
2384
2385                 <para>
2386                 <screen>
2387                    or: mv SOURCE... DIRECTORY
2388                 </screen>
2389                 </para>
2390
2391                 <para>
2392                 Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
2393                 </para>
2394
2395                 <para>
2396                 Example:
2397                 </para>
2398
2399                 <para>
2400                 <screen>
2401                         $ mv /tmp/foo /bin/bar
2402                 </screen>
2403                 </para>
2404         </sect1>
2405
2406         <sect1 id="nc">
2407             <title>nc</title>
2408
2409                 <para>
2410                 Usage: nc HOST PORT
2411                 </para>
2412
2413                 <para>
2414                 Open a pipe to HOST:PORT.
2415                 </para>
2416
2417                 <para>
2418                 Example:
2419                 </para>
2420
2421                 <para>
2422                 <screen>
2423                         $ nc foobar.somedomain.com 25
2424                         220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
2425                         help
2426                         214-Commands supported:
2427                         214-    HELO EHLO MAIL RCPT DATA AUTH
2428                         214     NOOP QUIT RSET HELP
2429                         quit
2430                         221 foobar closing connection
2431                 </screen>
2432                 </para>
2433         </sect1>
2434
2435         <sect1 id="nslookup">
2436             <title>nslookup</title>
2437
2438                 <para>
2439                 Usage: nslookup [HOST]
2440                 </para>
2441
2442                 <para>
2443                 Query the nameserver for the IP address of the given
2444                 HOST.
2445                 </para>
2446
2447                 <para>
2448                 Example:
2449                 </para>
2450
2451                 <para>
2452                 <screen>
2453                         $ nslookup localhost
2454                         Server:     default
2455                         Address:    default
2456
2457                         Name:       debian
2458                         Address:    127.0.0.1
2459                 </screen>
2460                 </para>
2461         </sect1>
2462
2463         <sect1 id="ping">
2464             <title>ping</title>
2465
2466                 <para>
2467                 Usage: ping [OPTION]... HOST
2468                 </para>
2469
2470                 <para>
2471                 Send ICMP ECHO_REQUEST packets to HOST.
2472                 </para>
2473
2474                 <para>
2475                 Options:
2476                 </para>
2477
2478                 <para>
2479                 <screen>
2480                         -c COUNT        Send only COUNT pings
2481                         -s SIZE         Send SIZE data bytes in packets (default=56)
2482                         -q              Quiet mode, only displays output at start and when finished
2483                 </screen>
2484                 </para>
2485
2486                 <para>
2487                 Example:
2488                 </para>
2489
2490                 <para>
2491                 <screen>
2492                         $ ping localhost
2493                         PING slag (127.0.0.1): 56 data bytes
2494                         64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
2495
2496                         --- debian ping statistics ---
2497                         1 packets transmitted, 1 packets received, 0% packet loss
2498                         round-trip min/avg/max = 20.1/20.1/20.1 ms
2499                 </screen>
2500                 </para>
2501         </sect1>
2502
2503         <sect1 id="poweroff">
2504             <title>poweroff</title>
2505
2506                 <para>
2507                 Usage: poweroff
2508                 </para>
2509
2510                 <para>
2511                 Shut down the system, and request that the kernel turn
2512                 off power upon halting.
2513                 </para>
2514         </sect1>
2515
2516         <sect1 id="printf">
2517             <title>printf</title>
2518
2519                 <para>
2520                 Usage: printf FORMAT [ARGUMENT]...
2521                 </para>
2522
2523                 <para>
2524                 Format and print the given data in a manner similar to
2525                 the C printf command.
2526                 </para>
2527
2528                 <para>
2529                 Example:
2530                 </para>
2531
2532                 <para>
2533                 <screen>
2534                         $ printf "Val=%d\n" 5
2535                         Val=5
2536                 </screen>
2537                 </para>
2538         </sect1>
2539
2540         <sect1 id="ps">
2541             <title>ps</title>
2542
2543                 <para>
2544                 Usage: ps
2545                 </para>
2546
2547                 <para>
2548                 Report process status.  This version of ps accepts no
2549                 options.
2550                 </para>
2551
2552                 <para>
2553                 Options:
2554                 </para>
2555
2556                 <para>
2557                 <screen>
2558                 </screen>
2559                 </para>
2560
2561                 <para>
2562                 Example:
2563                 </para>
2564
2565                 <para>
2566                 <screen>
2567                         $ ps
2568                           PID  Uid      Gid State Command
2569                             1 root     root     S init
2570                             2 root     root     S [kflushd]
2571                             3 root     root     S [kupdate]
2572                             4 root     root     S [kpiod]
2573                             5 root     root     S [kswapd]
2574                           742 andersen andersen S [bash]
2575                           743 andersen andersen S -bash
2576                           745 root     root     S [getty]
2577                          2990 andersen andersen R ps
2578                 </screen>
2579                 </para>
2580         </sect1>
2581
2582         <sect1 id="pwd">
2583             <title>pwd</title>
2584
2585                 <para>
2586                 Usage: pwd
2587                 </para>
2588
2589                 <para>
2590                 Print the full filename of the current working
2591                 directory.
2592                 </para>
2593
2594                 <para>
2595                 Example:
2596                 </para>
2597
2598                 <para>
2599                 <screen>
2600                         $ pwd
2601                         /root
2602                 </screen>
2603                 </para>
2604         </sect1>
2605
2606         <sect1 id="rdate">
2607             <title>rdate</title>
2608
2609                 <para>
2610                 Usage: rdate [OPTION] HOST
2611                 </para>
2612
2613                 <para>
2614                 Get and possibly set the system date and time from a remote HOST.
2615                 </para>
2616
2617                 <para>
2618                 Options:
2619                 </para>
2620
2621                 <para>
2622                 <screen>
2623                         -s      Set the system date and time (default).
2624                         -p      Print the date and time.
2625                 </screen>
2626                 </para>
2627         </sect1>
2628
2629         <sect1 id="reboot">
2630             <title>reboot</title>
2631
2632                 <para>
2633                 Usage: reboot
2634                 </para>
2635
2636                 <para>
2637                 Reboot the system.
2638                 </para>
2639         </sect1>
2640
2641         <sect1 id="renice">
2642             <title>renice</title>
2643
2644                 <para>
2645                 Usage: renice priority pid [pid ...]
2646                 </para>
2647
2648                 <para>
2649                 Changes priority of running processes. Allowed priorities range
2650                 from 20 (the process runs only when nothing else is running) to 0
2651                 (default priority) to -20 (almost nothing else ever gets to run).
2652                 </para>
2653         </sect1>
2654
2655         <sect1 id="reset">
2656             <title>reset</title>
2657
2658                 <para>
2659                 Usage: reset
2660                 </para>
2661
2662                 <para>
2663                 Resets the screen.
2664                 </para>
2665         </sect1>
2666
2667         <sect1 id="rm">
2668             <title>rm</title>
2669
2670                 <para>
2671                 Usage: rm [OPTION]... FILE...
2672                 </para>
2673
2674                 <para>
2675                 Remove (unlink) the FILE(s).  You may use '--' to
2676                 indicate that all following arguments are non-options.
2677                 </para>
2678
2679                 <para>
2680                 Options:
2681                 </para>
2682
2683                 <para>
2684                 <screen>
2685                         -f              Remove existing destinations, never prompt
2686                         -r or -R        Remove the contents of directories recursively
2687                 </screen>
2688                 </para>
2689
2690                 <para>
2691                 Example:
2692                 </para>
2693
2694                 <para>
2695                 <screen>
2696                         $ rm -rf /tmp/foo
2697                 </screen>
2698                 </para>
2699         </sect1>
2700
2701         <sect1 id="rmdir">
2702             <title>rmdir</title>
2703
2704                 <para>
2705                 Usage: rmdir DIRECTORY...
2706                 </para>
2707
2708                 <para>
2709                 Remove DIRECTORY(s) if they are empty.
2710                 </para>
2711
2712                 <para>
2713                 Example:
2714                 </para>
2715
2716                 <para>
2717                 <screen>
2718                         $ rmdir /tmp/foo
2719                 </screen>
2720                 </para>
2721         </sect1>
2722
2723         <sect1 id="rmmod">
2724             <title>rmmod</title>
2725
2726                 <para>
2727                 Usage: rmmod [OPTION]... [MODULE]...
2728                 </para>
2729
2730                 <para>
2731                 Unload MODULE(s) from the kernel.
2732                 </para>
2733
2734                 <para>
2735                 Options:
2736                 </para>
2737
2738                 <para>
2739                 <screen>
2740                         -a      Try to remove all unused kernel modules
2741                 </screen>
2742                 </para>
2743
2744                 <para>
2745                 Example:
2746                 </para>
2747
2748                 <para>
2749                 <screen>
2750                         $ rmmod tulip
2751                 </screen>
2752                 </para>
2753         </sect1>
2754
2755         <sect1 id="sed">
2756             <title>sed</title>
2757
2758                 <para>
2759                 Usage: sed [OPTION]... SCRIPT [FILE]...
2760                 </para>
2761
2762                 <para>
2763                 Allowed sed scripts come in the following form:
2764                 </para>
2765
2766                 <para>
2767                 <screen>
2768                 ADDR [!] COMMAND
2769                 </screen>
2770                 </para>
2771
2772                 <para>
2773                 ADDR can be:
2774                 </para>
2775
2776                 <para>
2777                 <screen>
2778                         NUMBER    Match specified line number
2779                         $         Match last line
2780                         /REGEXP/  Match specified regexp
2781                 </screen>
2782                 </para>
2783
2784                 <para>
2785                 ! inverts the meaning of the match
2786                 </para>
2787
2788                 <para>
2789                 COMMAND can be:
2790                 </para>
2791
2792                 <para>
2793                 <screen>
2794                         s/regexp/replacement/[igp]
2795                                 which attempt to match regexp against the pattern space
2796                                 and if successful replaces the matched portion with replacement.
2797                         aTEXT
2798                                 which appends TEXT after the pattern space
2799                 </screen>
2800                 </para>
2801
2802                 <para>
2803                 This version of sed matches full regular expressions.
2804                 </para>
2805
2806                 <para>
2807                 Options:
2808                 </para>
2809
2810                 <para>
2811                 <screen>
2812                         -e      Add the script to the commands to be executed
2813                         -n      Suppress automatic printing of pattern space
2814                 </screen>
2815                 </para>
2816
2817                 <para>
2818                 Example:
2819                 </para>
2820
2821                 <para>
2822                 <screen>
2823                         $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
2824                         bar
2825                 </screen>
2826                 </para>
2827         </sect1>
2828
2829         <sect1 id="setkeycodes">
2830             <title>setkeycodes</title>
2831
2832                 <para>
2833                 Usage: setkeycodes SCANCODE KEYCODE ...
2834                 </para>
2835
2836                 <para>
2837                 Set entries into the kernel's scancode-to-keycode map,
2838                 allowing unusual keyboards to generate usable keycodes.
2839                 </para>
2840
2841                 <para>
2842                 SCANCODE may be either xx or e0xx (hexadecimal), and
2843                 KEYCODE is given in decimal.
2844                 </para>
2845
2846                 <para>
2847                 Example:
2848                 </para>
2849
2850                 <para>
2851                 <screen>
2852                         $ setkeycodes e030 127
2853                 </screen>
2854                 </para>
2855         </sect1>
2856
2857
2858         <sect1 id="sh">
2859             <title>sh</title>
2860
2861                 <para>
2862                 Usage: sh
2863                 </para>
2864
2865                 <para>
2866                 lash -- the BusyBox LAme SHell (command interpreter)
2867                 </para>
2868
2869                 <para>
2870                 This command does not yet have proper documentation.  
2871                 </para>
2872
2873                 <para>
2874                 Use lash just as you would use any other shell. It
2875                 properly handles pipes, redirects, job control, can be
2876                 used as the shell for scripts (#!/bin/sh), and has a
2877                 sufficient set of builtins to do what is needed. It does
2878                 not (yet) support Bourne Shell syntax. If you need
2879                 things like ``if-then-else'', ``while'', and such, use
2880                 ash or bash. If you just need a very simple and
2881                 extremely small shell, this will do the job.
2882                 </para>
2883         </sect1>
2884
2885         <sect1 id="sleep">
2886             <title>sleep</title>
2887
2888                 <para>
2889                 Usage: sleep N
2890                 </para>
2891
2892                 <para>
2893                 Pause for N seconds.
2894                 </para>
2895
2896                 <para>
2897                 Example:
2898                 </para>
2899
2900                 <para>
2901                 <screen>
2902                         $ sleep 2
2903                         [2 second delay results]
2904                 </screen>
2905                 </para>
2906         </sect1>
2907
2908         <sect1 id="sort">
2909             <title>sort</title>
2910
2911                 <para>
2912                 Usage: sort [OPTION]... [FILE]...
2913                 </para>
2914
2915                 <para>
2916                 Sort lines of text in FILE(s).
2917                 </para>
2918
2919                 <para>
2920                 Options:
2921                 </para>
2922
2923                 <para>
2924                 <screen>
2925                         -n      Compare numerically
2926                         -r      Reverse after sorting
2927                 </screen>
2928                 </para>
2929
2930                 <para>
2931                 Example:
2932                 </para>
2933
2934                 <para>
2935                 <screen>
2936                         $ echo -e "e\nf\nb\nd\nc\na" | sort
2937                         a
2938                         b
2939                         c
2940                         d
2941                         e
2942                         f
2943                 </screen>
2944                 </para>
2945         </sect1>
2946
2947         <sect1 id="swapoff">
2948             <title>swapoff</title>
2949
2950                 <para>
2951                 Usage: swapoff [OPTION] [DEVICE]
2952                 </para>
2953
2954                 <para>
2955                 Stop swapping virtual memory pages on DEVICE.
2956                 </para>
2957
2958                 <para>
2959                 Options:
2960                 </para>
2961
2962                 <para>
2963                 <screen>
2964                         -a      Stop swapping on all swap devices
2965                 </screen>
2966                 </para>
2967         </sect1>
2968
2969         <sect1 id="swapon">
2970             <title>swapon</title>
2971
2972                 <para>
2973                 Usage: swapon [OPTION] [DEVICE]
2974                 </para>
2975
2976                 <para>
2977                 Start swapping virtual memory pages on the given device.
2978                 </para>
2979
2980                 <para>
2981                 Options:
2982                 </para>
2983
2984                 <para>
2985                 <screen>
2986                         -a      Start swapping on all swap devices
2987                 </screen>
2988                 </para>
2989         </sect1>
2990
2991         <sect1 id="sync">
2992             <title>sync</title>
2993
2994                 <para>
2995                 Usage: sync
2996                 </para>
2997
2998                 <para>
2999                 Write all buffered filesystem blocks to disk.
3000                 </para>
3001         </sect1>
3002
3003         <sect1 id="syslogd">
3004             <title>syslogd</title>
3005
3006                 <para>
3007                 Usage: syslogd [OPTION]...
3008                 </para>
3009
3010                 <para>
3011                 Linux system and kernel (provides klogd) logging
3012                 utility. Note that this version of syslogd/klogd ignores
3013                 /etc/syslog.conf.
3014                 </para>
3015
3016                 <para>
3017                 Options:
3018                 </para>
3019
3020                 <para>
3021                 <screen>
3022                         -m NUM  Interval between MARK lines (default=20min, 0=off)
3023                         -n      Run as a foreground process
3024                         -K      Do not start up the klogd process
3025                         -O FILE Use an alternate log file (default=/var/log/messages)
3026                         -R HOST[:PORT] Log remotely to IP or hostname on PORT (default PORT=514/UDP)
3027                         -L      Log locally as well as network logging (default is network only)
3028                 </screen>
3029                 </para>
3030
3031                 <para>
3032                 Example:
3033                 </para>
3034
3035                 <para>
3036                 <screen>
3037                 $ syslogd -R masterlog:514
3038                 $ syslogd -R 192.168.1.1:601
3039                 </screen>
3040                 </para>
3041         </sect1>
3042
3043         <sect1 id="tail">
3044             <title>tail</title>
3045
3046                 <para>
3047                 Usage: tail [OPTION] [FILE]...
3048                 </para>
3049
3050                 <para>
3051                 Print last 10 lines of each FILE to standard output.
3052                 With more than one FILE, precede each with a header
3053                 giving the file name. With no FILE, or when FILE is -,
3054                 read stdin.
3055                 </para>
3056
3057                 <para>
3058                 Options:
3059                 </para>
3060
3061                 <para>
3062                 <screen>
3063                         -n NUM  Print last NUM lines instead of last 10
3064                         -f      Output data as the file grows.  This version
3065                                 of 'tail -f' supports only one file at a time.
3066                 </screen>
3067                 </para>
3068
3069                 <para>
3070                 Example:
3071                 </para>
3072
3073                 <para>
3074                 <screen>
3075                         $ tail -n 1 /etc/resolv.conf
3076                         nameserver 10.0.0.1
3077                 </screen>
3078                 </para>
3079         </sect1>
3080
3081         <sect1 id="tar">
3082             <title>tar</title>
3083
3084                 <para>
3085                 Usage: tar [MODE] [OPTION] [FILE]...
3086                 </para>
3087
3088                 <para>
3089                 
3090                 </para>
3091
3092                 <para>
3093                 MODE may be chosen from
3094                 </para>
3095
3096                 <para>
3097                 <screen>
3098                         c       Create
3099                         x       Extract
3100                         t       List
3101                 </screen>
3102                 </para>
3103
3104                 <para>
3105                 Options:
3106                 </para>
3107
3108                 <para>
3109                 <screen>
3110                         f FILE                  Use FILE for tarfile (or stdin if '-')
3111                         O                               Extract to stdout
3112                         exclude FILE    File to exclude
3113                         v                               List files processed
3114                 </screen>
3115                 </para>
3116
3117                 <para>
3118                 Example:
3119                 </para>
3120
3121                 <para>
3122                 <screen>
3123                         $ zcat /tmp/tarball.tar.gz | tar -xf -
3124                         $ tar -cf /tmp/tarball.tar /usr/local
3125                 </screen>
3126                 </para>
3127         </sect1>
3128
3129         <sect1 id="tee">
3130             <title>tee</title>
3131
3132                 <para>
3133                 Usage: tee [OPTION]... [FILE]...
3134                 </para>
3135
3136                 <para>
3137                 Copy stdin to FILE(s), and also to stdout.
3138                 </para>
3139
3140                 <para>
3141                 Options:
3142                 </para>
3143
3144                 <para>
3145                 <screen>
3146                         -a      Append to the given FILEs, do not overwrite
3147                 </screen>
3148                 </para>
3149
3150                 <para>
3151                 Example:
3152                 </para>
3153
3154                 <para>
3155                 <screen>
3156                         $ echo "Hello" | tee /tmp/foo
3157                         Hello
3158                         $ cat /tmp/foo
3159                         Hello
3160                 </screen>
3161                 </para>
3162         </sect1>
3163
3164         <sect1 id="telnet">
3165             <title>telnet</title>
3166
3167                 <para>
3168                 Usage: telnet HOST [PORT]
3169                 </para>
3170
3171                 <para>
3172                 Establish interactive communication with another
3173                 computer over a network using the TELNET protocol.
3174                 </para>
3175         </sect1>
3176
3177         <sect1 id="test">
3178             <title>test, [</title>
3179
3180                 <para>
3181                 Usage: test EXPRESSION
3182                 </para>
3183
3184                 <para>
3185                    or: [ EXPRESSION ]
3186                 </para>
3187
3188                 <para>
3189                 Check file types and compare values returning an exit
3190                 code determined by the value of EXPRESSION.
3191                 </para>
3192
3193                 <para>
3194                 Example:
3195                 </para>
3196
3197                 <para>
3198                 <screen>
3199                         $ test 1 -eq 2
3200                         $ echo $?
3201                         1
3202                         $ test 1 -eq 1
3203                         $ echo $?
3204                         0
3205                         $ [ -d /etc ]
3206                         $ echo $?
3207                         0
3208                         $ [ -d /junk ]
3209                         $ echo $?
3210                         1
3211                 </screen>
3212                 </para>
3213         </sect1>
3214
3215         <sect1 id="touch">
3216             <title>touch</title>
3217
3218                 <para>
3219                 Usage: touch [OPTION]... FILE...
3220                 </para>
3221
3222                 <para>
3223                 Update the last-modified date on (or create) FILE(s).
3224                 </para>
3225
3226                 <para>
3227                 Options:
3228                 </para>
3229
3230                 <para>
3231                 <screen>
3232                         -c      Do not create files
3233                 </screen>
3234                 </para>
3235
3236                 <para>
3237                 Example:
3238                 </para>
3239
3240                 <para>
3241                 <screen>
3242                         $ ls -l /tmp/foo
3243                         /bin/ls: /tmp/foo: No such file or directory
3244                         $ touch /tmp/foo
3245                         $ ls -l /tmp/foo
3246                         -rw-rw-r--    1 andersen andersen        0 Apr 15 01:11 /tmp/foo
3247                 </screen>
3248                 </para>
3249         </sect1>
3250
3251         <sect1 id="tr">
3252             <title>tr</title>
3253
3254                 <para>
3255                 Usage: tr [OPTION]... STRING1 [STRING2]
3256                 </para>
3257
3258                 <para>
3259                 Translate, squeeze, and/or delete characters from stdin,
3260                 writing to stdout.
3261                 </para>
3262
3263                 <para>
3264                 Options:
3265                 </para>
3266
3267                 <para>
3268                 <screen>
3269                         -c      Take complement of STRING1
3270                         -d      Delete input characters coded STRING1
3271                         -s      Squeeze multiple output characters of STRING2 into one character
3272                 </screen>
3273                 </para>
3274
3275                 <para>
3276                 Example:
3277                 </para>
3278
3279                 <para>
3280                 <screen>
3281                         $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
3282                         hello world
3283                 </screen>
3284                 </para>
3285         </sect1>
3286
3287         <sect1 id="true">
3288             <title>true</title>
3289
3290                 <para>
3291                 Usage: true
3292                 </para>
3293
3294                 <para>
3295                 Return an exit code of TRUE (1).
3296                 </para>
3297
3298                 <para>
3299                 Example:
3300                 </para>
3301
3302                 <para>
3303                 <screen>
3304                         $ true
3305                         $ echo $?
3306                         0
3307                 </screen>
3308                 </para>
3309         </sect1>
3310
3311         <sect1 id="tty">
3312             <title>tty</title>
3313
3314                 <para>
3315                 Usage: tty
3316                 </para>
3317
3318                 <para>
3319                 Print the file name of the terminal connected to stdin.
3320                 </para>
3321
3322                 <para>
3323                 Options:
3324                 </para>
3325
3326                 <para>
3327                 <screen>
3328                         -s      Print nothing, only return an exit status
3329                 </screen>
3330                 </para>
3331
3332                 <para>
3333                 Example:
3334                 </para>
3335
3336                 <para>
3337                 <screen>
3338                         $ tty
3339                         /dev/tty2
3340                 </screen>
3341                 </para>
3342         </sect1>
3343
3344         <sect1 id="umount">
3345             <title>umount</title>
3346
3347                 <para>
3348                 Usage: umount [OPTION]... DEVICE|DIRECTORY
3349                 </para>
3350
3351                 <para>
3352                 
3353                 </para>
3354
3355                 <para>
3356                 Options:
3357                 </para>
3358
3359                 <para>
3360                 <screen>
3361                         -a      Unmount all file systems
3362                         -r      Try to remount devices as read-only if mount is busy
3363                         -f      Force filesystem umount (i.e. unreachable NFS server)
3364                         -l      Do not free loop device (if a loop device has been used)
3365                 </screen>
3366                 </para>
3367
3368                 <para>
3369                 Example:
3370                 </para>
3371
3372                 <para>
3373                 <screen>
3374                         $ umount /dev/hdc1 
3375                 </screen>
3376                 </para>
3377         </sect1>
3378
3379         <sect1 id="uname">
3380             <title>uname</title>
3381
3382                 <para>
3383                 Usage: uname [OPTION]...
3384                 </para>
3385
3386                 <para>
3387                 Print certain system information. With no OPTION, same
3388                 as -s.
3389                 </para>
3390
3391                 <para>
3392                 Options:
3393                 </para>
3394
3395                 <para>
3396                 <screen>
3397                         -a      Print all information
3398                         -m      Print the machine (hardware) type
3399                         -n      Print the machine's network node hostname
3400                         -r      Print the operating system release
3401                         -s      Print the operating system name
3402                         -p      Print the host processor type
3403                         -v      Print the operating system version
3404                 </screen>
3405                 </para>
3406
3407                 <para>
3408                 Example:
3409                 </para>
3410
3411                 <para>
3412                 <screen>
3413                         $ uname -a
3414                         Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
3415                 </screen>
3416                 </para>
3417         </sect1>
3418
3419         <sect1 id="uniq">
3420             <title>uniq</title>
3421
3422                 <para>
3423                 Usage: uniq [INPUT [OUTPUT]]
3424                 </para>
3425
3426                 <para>
3427                 Discard all but one of successive identical lines from
3428                 INPUT (or stdin), writing to OUTPUT (or stdout).
3429                 </para>
3430
3431                 <para>
3432                 Options:
3433                 </para>
3434
3435                 <para>
3436                 <screen>
3437                 -c              prefix lines by the number of occurrences
3438                 -d              only print duplicate lines
3439                 -u              only print unique lines
3440                 </screen>
3441                 </para>
3442
3443                 <para>
3444                 Example:
3445                 </para>
3446
3447                 <para>
3448                 <screen>
3449                         $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
3450                         a
3451                         b
3452                         c
3453                 </screen>
3454                 </para>
3455         </sect1>
3456         
3457         <sect1 id="unix2dos">
3458             <title>unix2dos</title>
3459
3460                 <para>
3461                 Usage: unix2dos < unixfile > dosfile
3462                 </para>
3463
3464                 <para>
3465                 Converts a text file from unix format to dos format.
3466                 </para>
3467
3468         </sect1>
3469
3470         <sect1 id="unrpm">
3471             <title>unrpm</title>
3472
3473                 <para>
3474                 Usage: unrpm < package.rpm | gzip -d | cpio -idmuv
3475                 </para>
3476
3477                 <para>
3478                 Extracts an rpm archive.
3479                 </para>
3480
3481         </sect1>
3482
3483         <sect1 id="update">
3484             <title>update</title>
3485
3486                 <para>
3487                 Usage: update [OPTION]...
3488                 </para>
3489
3490                 <para>
3491                 Periodically flush filesystem buffers.
3492                 </para>
3493
3494                 <para>
3495                 Options:
3496                 </para>
3497
3498                 <para>
3499                 <screen>
3500                         -S      Force use of sync(2) instead of flushing
3501                         -s SECS Call sync this often (default 30)
3502                         -f SECS Flush some buffers this often (default 5)
3503                 </screen>
3504                 </para>
3505         </sect1>
3506
3507         <sect1 id="uptime">
3508             <title>uptime</title>
3509
3510                 <para>
3511                 Usage: uptime
3512                 </para>
3513
3514                 <para>
3515                 Display how long the system has been running since boot.
3516                 </para>
3517
3518                 <para>
3519                 Example:
3520                 </para>
3521
3522                 <para>
3523                 <screen>
3524                         $ uptime
3525                           1:55pm  up  2:30, load average: 0.09, 0.04, 0.00
3526                 </screen>
3527                 </para>
3528         </sect1>
3529
3530         <sect1 id="usleep">
3531             <title>usleep</title>
3532
3533                 <para>
3534                 Usage: usleep N
3535                 </para>
3536
3537                 <para>
3538                 Pause for N microseconds.
3539                 </para>
3540
3541                 <para>
3542                 Example:
3543                 </para>
3544
3545                 <para>
3546                 <screen>
3547                         $ usleep 1000000
3548                         [pauses for 1 second]
3549                 </screen>
3550                 </para>
3551         </sect1>
3552
3553         <sect1 id="uudecode">
3554             <title>uudecode</title>
3555
3556                 <para>
3557                 Usage: uudecode [OPTION] [FILE]
3558                 </para>
3559
3560                 <para>
3561                 Uudecode a uuencoded file.
3562                 </para>
3563
3564                 <para>
3565                 Options:
3566                 </para>
3567
3568                 <para>
3569                 <screen>
3570                         -o FILE Direct output to FILE
3571                 </screen>
3572                 </para>
3573
3574                 <para>
3575                 Example:
3576                 </para>
3577
3578                 <para>
3579                 <screen>
3580                         $ uudecode -o busybox busybox.uu
3581                         $ ls -l busybox
3582                         -rwxr-xr-x   1 ams      ams        245264 Jun  7 21:35 busybox
3583                 </screen>
3584                 </para>
3585         </sect1>
3586
3587         <sect1 id="uuencode">
3588             <title>uuencode</title>
3589
3590                 <para>
3591                 Usage: uuencode [OPTION] [INFILE] OUTFILE
3592                 </para>
3593
3594                 <para>
3595                 Uuencode a file.
3596                 </para>
3597
3598                 <para>
3599                 Options:
3600                 </para>
3601
3602                 <para>
3603                 <screen>
3604                         -m      Use base64 encoding as of RFC1521
3605                 </screen>
3606                 </para>
3607
3608                 <para>
3609                 Example:
3610                 </para>
3611
3612                 <para>
3613                 <screen>
3614                         $ uuencode busybox busybox
3615                         begin 755 busybox
3616                         M?T5,1@$!`0````````````(``P`!````L+@$"#0```!0N@,``````#0`(``&amp;
3617                         .....
3618                         $ uudecode busybox busybox &gt; busybox.uu
3619                         $
3620                 </screen>
3621                 </para>
3622         </sect1>
3623
3624         <sect1 id="wc">
3625             <title>wc</title>
3626
3627                 <para>
3628                 Usage: wc [OPTION]... [FILE]...
3629                 </para>
3630
3631                 <para>
3632                 Print line, word, and byte counts for each FILE, and a
3633                 total line if more than one FILE is specified. With no
3634                 FILE, read stdin.
3635                 </para>
3636
3637                 <para>
3638                 Options:
3639                 </para>
3640
3641                 <para>
3642                 <screen>
3643                         -c      Print the byte counts
3644                         -l      Print the newline counts
3645                         -L      Print the length of the longest line
3646                         -w      Print the word counts
3647                 </screen>
3648                 </para>
3649
3650                 <para>
3651                 Example:
3652                 </para>
3653
3654                 <para>
3655                 <screen>
3656                         $ wc /etc/passwd
3657                              31      46    1365 /etc/passwd
3658                 </screen>
3659                 </para>
3660         </sect1>
3661
3662         <sect1 id="which">
3663             <title>which</title>
3664
3665                 <para>
3666                 Usage: which [COMMAND]...
3667                 </para>
3668
3669                 <para>
3670                 Locate COMMAND(s).
3671                 </para>
3672
3673                 <para>
3674                 Example:
3675                 </para>
3676
3677                 <para>
3678                 <screen>
3679                         $ which login
3680                         /bin/login
3681                 </screen>
3682                 </para>
3683         </sect1>
3684
3685         <sect1 id="whoami">
3686             <title>whoami</title>
3687
3688                 <para>
3689                 Usage: whoami
3690                 </para>
3691
3692                 <para>
3693                 Print the user name associated with the current
3694                 effective user id.
3695                 </para>
3696
3697                 <para>
3698                 Example:
3699                 </para>
3700
3701                 <para>
3702                 <screen>
3703                         $ whoami
3704                         andersen
3705                 </screen>
3706                 </para>
3707         </sect1>
3708
3709         <sect1 id="xargs">
3710             <title>xargs</title>
3711
3712                 <para>
3713                 Usage: xargs [OPTIONS] [COMMAND] [ARGS...]
3714                 </para>
3715
3716                 <para>
3717                 Executes COMMAND on every item given by standard input.
3718                 </para>
3719
3720                 <para>
3721                 Options:
3722                 </para>
3723
3724                 <para>
3725                 <screen>
3726                         -t      Print the command just before it is run
3727                 </screen>
3728                 </para>
3729
3730
3731                 <para>
3732                 Example:
3733                 </para>
3734
3735                 <para>
3736                 <screen>
3737                         $ ls | xargs gzip
3738                         $ find . -name '*.c' -print | xargs rm
3739                 </screen>
3740                 </para>
3741         </sect1>
3742
3743         <sect1 id="yes">
3744             <title>yes</title>
3745
3746                 <para>
3747                 Usage: yes [STRING]...
3748                 </para>
3749
3750                 <para>
3751                 Repeatedly output a line with all specified STRING(s),
3752                 or `y'.
3753                 </para>
3754         </sect1>
3755
3756         <sect1 id="zcat">
3757             <title>zcat</title>
3758
3759                 <para>
3760                 Usage: zcat [OPTION]... FILE
3761                 </para>
3762
3763                 <para>
3764                 Uncompress FILE (or stdin if FILE is '-') to stdout.  
3765                 </para>
3766
3767                 <para>
3768                 Options:
3769                 </para>
3770
3771                 <para>
3772                 <screen>
3773                         -t      Test compressed file integrity
3774                 </screen>
3775                 </para>
3776
3777                 <para>
3778                 Example:
3779                 </para>
3780
3781                 <para>
3782                 <screen>
3783                 </screen>
3784                 </para>
3785         </sect1>
3786   </chapter>
3787
3788   <chapter id="LIBC-NSS">
3789     <title>LIBC NSS</title>
3790
3791         <para>
3792         GNU Libc uses the Name Service Switch (NSS) to configure the
3793         behavior of the C library for the local environment, and to
3794         configure how it reads system data, such as passwords and group
3795         information. BusyBox has made it Policy that it will never use
3796         NSS, and will never use libc calls that make use of NSS. This
3797         allows you to run an embedded system without the need for
3798         installing an /etc/nsswitch.conf file and without /lib/libnss_*
3799         libraries installed.
3800         </para>
3801
3802         <para>
3803         If you are using a system that is using a remote LDAP server for
3804         authentication via GNU libc NSS, and you want to use BusyBox,
3805         then you will need to adjust the BusyBox source. Chances are
3806         though, that if you have enough space to install of that stuff
3807         on your system, then you probably want the full GNU utilities.
3808         </para>
3809   </chapter>
3810
3811   <chapter id="SEE-ALSO">
3812     <title>SEE ALSO</title>
3813
3814         <para>
3815         <literal>textutils(1),</literal>
3816         <literal>shellutils(1),</literal>
3817         etc...
3818         </para>
3819   </chapter>
3820
3821   <chapter id="MAINTAINER">
3822     <title>MAINTAINER</title>
3823
3824         <para>
3825         Erik Andersen &lt;andersee@debian.org&gt; &lt;andersen@lineo.com&gt;
3826         </para>
3827   </chapter>
3828
3829   <chapter id="AUTHORS">
3830     <title>AUTHORS</title>
3831
3832         <para>
3833         The following people have made significant contributions to 
3834         BusyBox -- whether they know it or not.
3835         </para>
3836
3837         <para>
3838         Erik Andersen &lt;andersee@debian.org&gt;
3839         </para>
3840
3841         <para>
3842         Edward Betts &lt;edward@debian.org&gt;
3843         </para>
3844
3845         <para>
3846         John Beppu &lt;beppu@lineo.com&gt;
3847         </para>
3848
3849         <para>
3850         Brian Candler &lt;B.Candler@pobox.com&gt;
3851         </para>
3852
3853         <para>
3854         Randolph Chung &lt;tausq@debian.org&gt;
3855         </para>
3856
3857         <para>
3858         Dave Cinege &lt;dcinege@psychosis.com&gt;       
3859         </para>
3860
3861         <para>
3862         Karl M. Hegbloom &lt;karlheg@debian.org&gt;
3863         </para>
3864
3865         <para>
3866         Daniel Jacobowitz &lt;dan@debian.org&gt;
3867         </para>
3868
3869         <para>
3870         Matt Kraai &lt;kraai@alumni.carnegiemellon.edu&gt;
3871         </para>
3872
3873         <para>
3874         John Lombardo &lt;john@deltanet.com&gt; 
3875         </para>
3876
3877         <para>
3878         Glenn McGrath &lt;bug1@netconnect.com.au&gt;
3879         </para>
3880
3881         <para>
3882         Bruce Perens &lt;bruce@perens.com&gt;
3883         </para>
3884
3885         <para>
3886         Chip Rosenthal &lt;chip@unicom.com&gt;, &lt;crosenth@covad.com&gt;
3887         </para>
3888
3889         <para>
3890         Pavel Roskin &lt;proski@gnu.org&gt;
3891         </para>
3892
3893         <para>
3894         Gyepi Sam &lt;gyepi@praxis-sw.com&gt;
3895         </para>
3896
3897         <para>
3898         Linus Torvalds &lt;torvalds@transmeta.com&gt;
3899         </para>
3900
3901         <para>
3902         Mark Whitley &lt;markw@lineo.com&gt;
3903         </para>
3904
3905         <para>
3906         Charles P. Wright &lt;cpwright@villagenet.com&gt;
3907         </para>
3908
3909         <para>
3910         Enrique Zanardi &lt;ezanardi@ull.es&gt;
3911         </para>
3912
3913
3914   </chapter>
3915 </book>    <!-- End of the book -->