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