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