Lots of updates. Finished implementing BB_FEATURE_TRIVIAL_HELP
[oweals/busybox.git] / docs / busybox.pod
1 # vi: set sw=4 ts=4:
2
3 =head1 NAME
4
5 BusyBox - The Swiss Army Knife of Embedded Linux
6
7 =head1 SYNTAX
8
9  BusyBox <function> [arguments...]  # or
10
11  <function> [arguments...]          # if symlinked
12
13 =head1 DESCRIPTION
14
15 BusyBox combines tiny versions of many common UNIX utilities into a single
16 small executable. It provides minimalist replacements for most of the utilities
17 you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
18 tar, etc.  BusyBox provides a fairly complete POSIX environment for any small
19 or emdedded system.  The utilities in BusyBox generally have fewer options then
20 their full featured GNU cousins; however, the options that are included provide
21 the expected functionality and behave very much like their GNU counterparts.  
22
23 BusyBox has been written with size-optimization and limited resources in mind.
24 It is also extremely modular so you can easily include or exclude commands (or
25 features) at compile time.  This makes it easy to customize your embedded
26 systems.  To create a working system, just add a kernel, a shell (such as ash),
27 and an editor (such as elvis-tiny or ae).
28
29 =head1 USAGE
30
31 When you create a link to BusyBox for the function you wish to use, when BusyBox
32 is called using that link it will behave as if the command itself has been invoked.
33
34 For example, entering
35
36         ln -s ./BusyBox ls
37         ./ls
38
39 will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
40 into BusyBox).  
41
42 You can also invoke BusyBox by issuing the command as an argument on the
43 command line.  For example, entering
44
45         ./BusyBox ls
46
47 will also cause BusyBox to behave as 'ls'. 
48
49 =head1 COMMON OPTIONS
50
51 Most BusyBox commands support the B<--help> option to provide a
52 terse runtime description of their behavior. 
53
54 =head1 COMMANDS
55
56 Currently defined functions include:
57
58 basename, cat, chgrp, chmod, chown, chroot, clear, chvt, cp, date, dd, df,
59 dirname, dmesg, du, dutmp, echo, false, fbset, fdflush, find, free,
60 freeramdisk, deallocvt, fsck.minix, grep, gunzip, gzip, halt, head, hostid,
61 hostname, init, kill, killall, length, ln, loadacm, loadfont, loadkmap, logger,
62 logname, ls, lsmod, makedevs, math, mkdir, mkfifo, mkfs.minix, mknod, mkswap,
63 mktemp, mnc, more, mount, mt, mv, nslookup, ping, poweroff, printf, ps, pwd,
64 reboot, rm, rmdir, rmmod, sed, setkeycodes, sh, sfdisk, sleep, sort, sync,
65 syslogd, swapon, swapoff, tail, tar, test, tee, touch, tr, true, tty, umount,
66 uname, uniq, update, uptime, usleep, wc, whoami, yes, zcat, [
67
68 -------------------------------
69
70 =over 4
71
72 =item basename
73
74 Usage: basename FILE [SUFFIX]
75
76 Strips directory path and suffixes from FILE.
77 If specified, also removes any trailing SUFFIX.
78
79 Example: 
80
81         $ basename /usr/local/bin/foo
82         foo
83         $ basename /usr/local/bin/
84         bin
85         $ basename /foo/bar.txt .txt
86         bar
87
88 -------------------------------
89
90 =item cat  
91
92 Usage: cat [FILE ...]
93
94 Concatenates FILE(s) and prints them to the standard output.
95
96 Example:
97
98         $ cat /proc/uptime
99         110716.72 17.67
100
101 -------------------------------
102
103 =item chgrp
104
105 Usage: chgrp [OPTION]... GROUP FILE...
106
107 Change the group membership of each FILE to GROUP.
108
109 Options:
110
111         -R      change files and directories recursively
112
113 Example:
114
115         $ ls -l /tmp/foo
116         -r--r--r--    1 andersen andersen        0 Apr 12 18:25 /tmp/foo
117         $ chgrp root /tmp/foo
118         $ ls -l /tmp/foo
119         -r--r--r--    1 andersen root            0 Apr 12 18:25 /tmp/foo
120
121 -------------------------------
122
123 =item chmod
124
125 Usage: chmod [B<-R>] MODE[,MODE]... FILE...
126
127 Changes file access permissions for the specified FILE(s) (or directories).
128 Each MODE is defined by combining the letters for WHO has access to the file,
129 an OPERATOR for selecting how the permissions should be changed, and a
130 PERISSION for FILE(s) (or directories).
131
132 WHO may be chosen from
133
134         u       User who owns the file
135         g       Users in the file's Group
136         o       Other users not in the file's group
137         a       All users
138
139 OPERATOR may be chosen from
140
141         +       Add a permission
142         -       Remove a permission
143         =       Assign a permission
144  
145 PERMISSION may be chosen from
146
147         r       Read
148         w       Write
149         x       Execute (or access for directories)
150         s       Set user (or group) ID bit
151         t       Stickey bit (for directories prevents removing files by non-owners)
152
153 Alternately, permissions can be set numerically where the first three
154 numbers are calculated by adding the octal values, such as
155
156         4       Read
157         2       Write
158         1       Execute
159
160 An optional fourth digit can also be used to specify
161
162         4       Set user ID
163         2       Set group ID
164         1       Stickey bit
165
166 Options:
167
168         -R      Change files and directories recursively.
169  
170 Example:
171
172         $ ls -l /tmp/foo
173         -rw-rw-r--    1 root     root            0 Apr 12 18:25 /tmp/foo
174         $ chmod u+x /tmp/foo
175         $ ls -l /tmp/foo
176         -rwxrw-r--    1 root     root            0 Apr 12 18:25 /tmp/foo*
177         $ chmod 444 /tmp/foo
178         $ ls -l /tmp/foo
179         -r--r--r--    1 root     root            0 Apr 12 18:25 /tmp/foo
180
181 -------------------------------
182
183 =item chown
184
185 Usage: chown [OPTION]...  OWNER[<.|:>[GROUP] FILE...
186
187 Changes the owner and/or group of each FILE to OWNER and/or GROUP.
188
189 Options:
190
191         -R      Changes files and directories recursively
192
193 Example:
194
195         $ ls -l /tmp/foo
196         -r--r--r--    1 andersen andersen        0 Apr 12 18:25 /tmp/foo
197         $ chown root /tmp/foo
198         $ ls -l /tmp/foo
199         -r--r--r--    1 root     andersen        0 Apr 12 18:25 /tmp/foo
200         $ chown root.root /tmp/foo
201         ls -l /tmp/foo
202         -r--r--r--    1 root     root            0 Apr 12 18:25 /tmp/foo
203
204 -------------------------------
205
206 =item chroot
207
208 Usage: chroot NEWROOT [COMMAND...]
209
210 Run COMMAND with root directory set to NEWROOT.
211  
212 Example:
213
214         $ ls -l /bin/ls
215         lrwxrwxrwx    1 root     root          12 Apr 13 00:46 /bin/ls -> /BusyBox
216         $ mount /dev/hdc1 /mnt -t minix
217         $ chroot /mnt
218         $ ls -l /bin/ls
219         -rwxr-xr-x    1 root     root        40816 Feb  5 07:45 /bin/ls*
220
221 -------------------------------
222
223 =item clear
224
225 Clears the screen.
226
227 -------------------------------
228
229 =item chvt
230
231 Usage: chvt N
232
233 Changes the foreground virtual terminal to /dev/ttyN
234
235 -------------------------------
236
237 =item cp
238
239 Usage: cp [OPTION]... SOURCE DEST
240
241    or: cp [OPTION]... SOURCE... DIRECTORY
242
243 Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
244
245 Options:
246
247         -a      Same as -dpR
248         -d      Preserves links
249         -p      Preserves file attributes if possable
250         -R      Copies directories recursively
251
252 -------------------------------
253
254 =item date
255
256 Usage: date [OPTION]... [+FORMAT]
257
258   or:  date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
259
260 Displays the current time in the given FORMAT, or sets the system date.
261
262 Options:
263
264         -R      Outputs RFC-822 compliant date string
265         -s      Sets time described by STRING
266         -u      Prints or sets Coordinated Universal Time
267
268 Example:
269
270         $ date
271         Wed Apr 12 18:52:41 MDT 2000
272
273 -------------------------------
274
275 =item dd
276
277 Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n]
278
279 Copy a file, converting and formatting according to options
280
281         if=FILE read from FILE instead of stdin
282         of=FILE write to FILE instead of stdout
283         bs=n    read and write n bytes at a time
284         count=n copy only n input blocks
285         skip=n  skip n input blocks
286         seek=n  skip n output blocks
287
288 Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2)
289  
290 Example:
291
292         $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
293         4+0 records in
294         4+0 records out
295
296 -------------------------------
297
298 =item df
299
300 Usage: df [filesystem ...]
301
302 Prints the filesystem space used and space available.
303
304 Example:
305
306         $ df
307         Filesystem           1k-blocks      Used Available Use% Mounted on
308         /dev/sda3              8690864   8553540    137324  98% /
309         /dev/sda1                64216     36364     27852  57% /boot
310         $ df /dev/sda3
311         Filesystem           1k-blocks      Used Available Use% Mounted on
312         /dev/sda3              8690864   8553540    137324  98% /
313
314 -------------------------------
315
316 =item dirname
317
318 Usage: dirname NAME
319
320 Strip non-directory suffix from file name
321
322 Example:
323
324         $ dirname /tmp/foo
325         /tmp
326         $ dirname /tmp/foo/
327         /tmp
328
329 -------------------------------
330
331 =item dmesg
332
333 Usage: dmesg [B<-c>] [B<-n> level] [B<-s> bufsize]
334  
335 Print or controls the kernel ring buffer.
336
337 -------------------------------
338
339 =item du
340
341 Usage: du [OPTION]... [FILE]...
342
343 Summarize disk space used for each FILE and/or directory.
344 Disk space is printed in units of 1k (i.e. 1024 bytes).
345
346 Options:
347
348         -l      count sizes many times if hard linked
349         -s      display only a total for each argument
350
351 Example:
352
353         $ ./BusyBox du
354         16      ./CVS
355         12      ./kernel-patches/CVS
356         80      ./kernel-patches
357         12      ./tests/CVS
358         36      ./tests
359         12      ./scripts/CVS
360         16      ./scripts
361         12      ./docs/CVS
362         104     ./docs
363         2417    .
364          
365 -------------------------------
366
367 =item dutmp
368
369 Usage: dutmp [FILE]
370
371 Dump utmp file format (pipe delimited) from FILE
372 or stdin to stdout.
373
374 Example:
375
376         $ dutmp /var/run/utmp
377         8|7||si|||0|0|0|955637625|760097|0
378         2|0|~|~~|reboot||0|0|0|955637625|782235|0
379         1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
380         8|125||l4|||0|0|0|955637629|998367|0
381         6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
382         6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
383         7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
384          
385 -------------------------------
386
387 =item echo
388
389 Usage: echo [-neE] [ARG ...]
390
391 Prints the specified ARGs to stdout
392
393 Options:
394
395         -n      suppress trailing newline
396         -e      interpret backslash-escaped characters (i.e. \t=tab etc)
397         -E      disable interpretation of backslash-escaped characters
398
399 Example:
400
401         $ echo "Erik is cool"
402         Erik is cool
403         $  echo -e "Erik\nis\ncool"
404         Erik
405         is
406         cool
407         $ echo "Erik\nis\ncool"
408         Erik\nis\ncool
409          
410 -------------------------------
411
412 =item false
413
414 Returns an exit code of FALSE (1)
415
416 Example:
417
418         $ false
419         $ echo $?
420         1
421
422 -------------------------------
423
424 =item fbset
425
426 Usage: fbset [options] [mode]
427
428 Show and modify frame buffer device settings
429
430 Options:
431
432         -h
433         -fb
434         -db
435         -a
436         -i
437         -g
438         -t
439         -accel
440         -hsync
441         -vsync
442         -laced
443         -double
444
445 Example:
446
447         $ fbset
448         mode "1024x768-76"
449                         # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
450                         geometry 1024 768 1024 768 16
451                         timings 12714 128 32 16 4 128 4
452                         accel false
453                         rgba 5/11,6/5,5/0,0/0
454         endmode
455
456 -------------------------------
457
458 =item fdflush
459
460 Usage: fdflush device
461
462 Force floppy disk drive to detect disk change
463
464 -------------------------------
465
466 =item find
467
468 Usage: find [PATH...] [EXPRESSION]
469
470 Search for files in a directory hierarchy.  The default PATH is
471 the current directory; default EXPRESSION is '-print'
472
473
474 EXPRESSION may consist of:
475
476         -follow                 Dereference symbolic links.
477         -name PATTERN   File name (leading directories removed) matches PATTERN.
478         -print                  print the full file name followed by a newline to stdout.
479
480 Example:
481
482         $ find / -name /etc/passwd
483         /etc/passwd
484
485 -------------------------------
486
487 =item free
488
489 Usage: free
490
491 Displays the amount of free and used system memory.
492
493 Example:
494
495         $ free
496                                   total         used         free       shared      buffers
497           Mem:       257628       248724         8904        59644        93124
498          Swap:       128516         8404       120112
499         Total:       386144       257128       129016
500
501 -------------------------------
502
503 =item freeramdisk
504
505 Usage: freeramdisk DEVICE
506
507 Frees all memory used by the specified ramdisk.
508
509 Example:
510
511         $ freeramdisk /dev/ram2
512
513 -------------------------------
514
515 =item deallocvt
516
517 Usage: deallocvt N
518
519 Deallocates unused virtual terminal /dev/ttyN
520
521 -------------------------------
522
523 =item fsck.minix
524
525 Usage: fsck.minix [B<-larvsmf>] /dev/name
526
527 Performs a consistency check for MINIX filesystems.
528
529 OPTIONS:
530
531         -l      Lists all filenames
532         -r      Perform interactive repairs
533         -a      Perform automatic repairs
534         -v      verbose
535         -s      Outputs super-block information
536         -m      Activates MINIX-like "mode not cleared" warnings
537         -f      Force file system check.
538
539 -------------------------------
540
541 =item grep
542
543 Usage: grep [OPTIONS]... PATTERN [FILE]...
544
545 Search for PATTERN in each FILE or standard input.
546
547 OPTIONS:
548
549         -h      suppress the prefixing filename on output
550         -i      ignore case distinctions
551         -n      print line number with output lines
552         -q      be quiet. Returns 0 if result was found, 1 otherwise
553         -v      select non-matching lines
554
555 This version of grep matches full regular expresions.
556
557 Example:
558
559         $ grep root /etc/passwd
560         root:x:0:0:root:/root:/bin/bash
561         $ grep ^[rR]oo. /etc/passwd
562         root:x:0:0:root:/root:/bin/bash
563
564 -------------------------------
565
566 =item gunzip
567
568 Usage: gunzip [OPTION]... FILE
569
570 Uncompress FILE (or standard input if FILE is '-').
571
572 Options:
573
574         -c      Write output to standard output
575         -t      Test compressed file integrity
576
577 Example:
578
579         $ ls -la /tmp/BusyBox*
580         -rw-rw-r--    1 andersen andersen   557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
581         $ gunzip /tmp/BusyBox-0.43.tar.gz
582         $ ls -la /tmp/BusyBox*
583         -rw-rw-r--    1 andersen andersen  1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
584
585 -------------------------------
586
587 =item gzip
588
589 Usage: gzip [OPTION]... FILE
590
591 Compress FILE with maximum compression.
592 When FILE is '-', reads standard input.  Implies B<-c>.
593
594 Options:
595
596         -c      Write output to standard output instead of FILE.gz
597
598 Example:
599
600         $ ls -la /tmp/BusyBox*
601         -rw-rw-r--    1 andersen andersen  1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
602         $ gzip /tmp/BusyBox-0.43.tar
603         $ ls -la /tmp/BusyBox*
604         -rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
605
606
607 -------------------------------
608
609 =item halt
610
611 Usage: halt
612
613 This comand halts the system.
614
615 -------------------------------
616
617 =item head
618
619 Usage: head [OPTION] [FILE]...
620
621 Print first 10 lines of each FILE to standard output.
622 With more than one FILE, precede each with a header giving the
623 file name. With no FILE, or when FILE is -, read standard input.
624
625 Options:
626
627         -n NUM          Print first NUM lines instead of first 10
628
629 Example:
630
631         $ head -n 2 /etc/passwd
632         root:x:0:0:root:/root:/bin/bash
633         daemon:x:1:1:daemon:/usr/sbin:/bin/sh
634
635 -------------------------------
636
637 =item hostid
638
639 Usage: hostid
640
641 Prints out a unique  32-bit  identifier  for  the  current
642 machine.   The  32-bit identifier is intended to be unique
643 among all UNIX systems in existence. 
644
645 -------------------------------
646
647 =item hostname
648
649 Usage: hostname [OPTION] {hostname | B<-F> file}
650
651 Get or set the hostname or DNS domain name. If a hostname is given
652 (or a file with the B<-F> parameter), the host name will be set.
653
654 Options:
655
656         -s              Short
657         -i              Addresses for the hostname
658         -d              DNS domain name
659         -F FILE         Use the contents of FILE to specify the hostname
660
661 Example:
662
663         $ hostname
664         slag 
665
666 -------------------------------
667
668 =item init
669
670 Usage: init
671
672 Init is the parent of all processes.
673
674 This version of init is designed to be run only by the kernel.
675
676 BusyBox init doesn't support multiple runlevels.  The runlevels field of
677 the /etc/inittab file is completely ignored by BusyBox init. If you want 
678 runlevels, use sysvinit.
679
680 BusyBox init works just fine without an inittab.  If no inittab is found, 
681 it has the following default behavior:
682
683         ::sysinit:/etc/init.d/rcS
684         ::askfirst:/bin/sh
685
686 if it detects that /dev/console is _not_ a serial console, it will also run:
687
688         tty2::askfirst:/bin/sh
689
690 If you choose to use an /etc/inittab file, the inittab entry format is as follows:
691
692         <id>:<runlevels>:<action>:<process>
693
694         <id>: 
695
696                 WARNING: This field has a non-traditional meaning for BusyBox init!
697                 The id field is used by BusyBox init to specify the controlling tty for
698                 the specified process to run on.  The contents of this field are
699                 appended to "/dev/" and used as-is.  There is no need for this field to
700                 be unique, although if it isn't you may have strange results.  If this
701                 field is left blank, it is completely ignored.  Also note that if
702                 BusyBox detects that a serial console is in use, then all entries
703                 containing non-empty id fields will _not_ be run.  BusyBox init does
704                 nothing with utmp.  We don't need no stinkin' utmp.
705
706         <runlevels>: 
707
708                 The runlevels field is completely ignored.
709
710         <action>: 
711
712                 Valid actions include: sysinit, respawn, askfirst, wait, 
713                 once, and ctrlaltdel.
714
715                 askfirst acts just like respawn, but before running the specified
716                 process it displays the line "Please press Enter to activate this
717                 console." and then waits for the user to press enter before starting
718                 the specified process.
719
720                 Unrecognised actions (like initdefault) will cause init to emit
721                 an error message, and then go along with its business.
722
723         <process>: 
724
725                 Specifies the process to be executed and it's command line.
726
727
728 Example /etc/inittab file:
729
730         # This is run first except when booting in single-user mode.
731         #
732         ::sysinit:/etc/init.d/rcS
733
734         # /bin/sh invocations on selected ttys
735         #
736         # Start an "askfirst" shell on the console (whatever that may be)
737         ::askfirst:/bin/sh
738         # Start an "askfirst" shell on /dev/tty2
739         tty2::askfirst:/bin/sh
740
741         # /sbin/getty invocations for selected ttys
742         #
743         tty4::respawn:/sbin/getty 38400 tty4
744         tty5::respawn:/sbin/getty 38400 tty5
745
746
747         # Example of how to put a getty on a serial line (for a terminal)
748         #
749         #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
750         #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
751         #
752         # Example how to put a getty on a modem line.
753         #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
754
755         # Stuff to do before rebooting
756         ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1
757         ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1
758
759 -------------------------------
760
761 =item kill
762
763 Usage: kill [B<-signal>] process-id [process-id ...]
764
765 Send a signal (default is SIGTERM) to the specified process(es).
766
767 Options:
768
769         -l      List all signal names and numbers.
770
771 Example:
772
773         $ ps | grep apache
774         252 root     root     S [apache]
775         263 www-data www-data S [apache]
776         264 www-data www-data S [apache]
777         265 www-data www-data S [apache]
778         266 www-data www-data S [apache]
779         267 www-data www-data S [apache]
780         $ kill 252
781
782 -------------------------------
783
784 =item killall
785
786 Usage: killall [B<-signal>] process-name [process-name ...]
787
788 Send a signal (default is SIGTERM) to the specified process(es).
789
790 Options:
791
792         -l      List all signal names and numbers.
793
794 Example:
795
796         $ killall apache
797
798 -------------------------------
799
800 =item length
801
802 Usage: length STRING
803
804 Prints out the length of the specified STRING.
805
806 Example:
807
808         $ length "Hello"
809         5
810
811 -------------------------------
812
813 =item ln
814
815 Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY
816
817 Create a link named LINK_NAME or DIRECTORY to the specified TARGET
818  
819 Options:
820
821         -s      make symbolic links instead of hard links
822         -f      remove existing destination files
823  
824 Example:
825
826     $ ln -s BusyBox /tmp/ls
827     $ ls -l /tmp/ls
828     lrwxrwxrwx    1 root     root            7 Apr 12 18:39 ls -> BusyBox*
829
830 -------------------------------
831
832 =item loadacm
833
834 Usage: loadacm
835
836 Loads an acm from standard input.
837
838 Example:
839
840         $ loadacm < /etc/i18n/acmname
841
842 -------------------------------
843
844 =item loadfont
845
846 Usage: loadfont
847
848 Loads a console font from standard input.
849
850 Example:
851
852         $ loadfont < /etc/i18n/fontname
853
854 -------------------------------
855
856 =item loadkmap
857
858 Usage: loadkmap
859
860 Loads a binary keyboard translation table from standard input.
861
862 Example:
863
864         $ loadkmap < /etc/i18n/lang-keymap
865
866 -------------------------------
867
868 =item logger
869
870 Usage: logger [OPTION]... [MESSAGE]
871
872 Write MESSAGE to the system log.  If MESSAGE is '-', log stdin.
873
874 Options:
875
876         -s      Log to stderr as well as the system log.
877         -t      Log using the specified tag (defaults to user name).
878         -p      Enter the message with the specified priority.
879                 This may be numerical or a ``facility.level'' pair.
880
881 Example:
882
883                 $ logger "hello"
884
885 -------------------------------
886
887 =item logname
888
889 Usage: logname
890
891 Print the name of the current user.
892
893 Example:
894
895         $ logname
896         root
897
898 -------------------------------
899
900 =item ls
901
902 Usage: ls [B<-1acdelnpuxACF>] [filenames...]
903
904 Options:
905
906         -a      do not hide entries starting with .
907         -c      with  -l:  show ctime (the time of last
908                 modification of file status information)
909         -d      list directory entries instead of contents
910         -e      list both full date and full time
911         -l      use a long listing format
912         -n      list numeric UIDs and GIDs instead of names
913         -p      append indicator (one of /=@|) to entries
914         -u      with -l: show access time (the time of last
915                 access of the file)
916         -x      list entries by lines instead of by columns
917         -A      do not list implied . and ..
918         -C      list entries by columns
919         -F      append indicator (one of */=@|) to entries
920
921 -------------------------------
922
923 =item lsmod
924
925 Usage: lsmod
926
927 Shows a list of all currently loaded kernel modules.
928
929 -------------------------------
930
931 =item makedevs
932
933 Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
934
935 Creates a range of block or character special files
936
937 TYPEs include:
938
939         b:      Make a block (buffered) device.
940         c or u: Make a character (un-buffered) device.
941         p:      Make a named pipe. MAJOR and MINOR are ignored for named pipes.
942
943 FIRST specifies the number appended to NAME to create the first device.
944 LAST specifies the number of the last item that should be created.
945 If 's' is the last argument, the base device is created as well.
946
947 Example:
948
949         $ makedevs /dev/ttyS c 4 66 2 63
950         [creates ttyS2-ttyS63]
951         $ makedevs /dev/hda b 3 0 0 8 s
952         [creates hda,hda1-hda8]
953
954 -------------------------------
955
956 =item math
957
958 Usage: math expression ...
959
960 This is a Tiny RPN calculator that understands the
961 following operations: +, -, /, *, and, or, not, eor.
962
963 Example:
964
965         $ math 2 2 add
966         4
967         $ math 8 8 \* 2 2 + /
968         16
969         $ math 0 1 and
970         0
971         $ math 0 1 or
972         1
973
974 -------------------------------
975
976 =item mkdir
977
978 Usage: mkdir [OPTION] DIRECTORY...
979
980 Create the DIRECTORY(ies), if they do not already exist
981
982 Options:
983
984         -m      set permission mode (as in chmod), not rwxrwxrwx - umask
985         -p      no error if dir exists, make parent directories as needed
986
987 Example:
988
989         $ mkdir /tmp/foo
990         $ mkdir /tmp/foo
991         /tmp/foo: File exists
992         $ mkdir /tmp/foo/bar/baz
993         /tmp/foo/bar/baz: No such file or directory
994         $ mkdir -p /tmp/foo/bar/baz
995
996 -------------------------------
997
998 =item mkfifo
999
1000 Usage: mkfifo [OPTIONS] name
1001
1002 Creates a named pipe (identical to 'mknod name p')
1003
1004 Options:
1005
1006         -m      create the pipe using the specified mode (default a=rw)
1007
1008 -------------------------------
1009
1010 =item mkfs.minix
1011
1012 Usage: mkfs.minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
1013
1014 Make a MINIX filesystem.
1015
1016 OPTIONS:
1017
1018         -c              Check the device for bad blocks
1019         -n [14|30]      Specify the maximum length of filenames
1020         -i              Specify the number of inodes for the filesystem
1021         -l FILENAME     Read the bad blocks list from FILENAME
1022         -v              Make a Minix version 2 filesystem
1023
1024 -------------------------------
1025
1026 =item mknod
1027
1028 Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR
1029
1030 Create a special file (block, character, or pipe).
1031
1032 Options:
1033
1034         -m      create the special file using the specified mode (default a=rw)
1035
1036 TYPEs include:
1037         b:      Make a block (buffered) device.
1038         c or u: Make a character (un-buffered) device.
1039         p:      Make a named pipe. MAJOR and MINOR are ignored for named pipes.
1040
1041 Example:
1042
1043         $ mknod /dev/fd0 b 2 0 
1044         $ mknod -m 644 /tmp/pipe p
1045
1046 -------------------------------
1047
1048 =item mkswap
1049
1050 Usage: mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
1051
1052 Prepare a disk partition to be used as a swap partition.
1053
1054 Options:
1055
1056         -c              Check for read-ability.
1057         -v0             Make version 0 swap [max 128 Megs].
1058         -v1             Make version 1 swap [big!] (default for kernels > 2.1.117).
1059         block-count     Number of block to use (default is entire partition).
1060
1061 -------------------------------
1062
1063 =item mktemp
1064
1065 Usage: mktemp [B<-q>] TEMPLATE
1066
1067 Creates a temporary file with its name based on TEMPLATE.
1068 TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).
1069
1070 Example:
1071
1072         $ mktemp /tmp/temp.XXXXXX
1073         /tmp/temp.mWiLjM
1074         $ ls -la /tmp/temp.mWiLjM
1075         -rw-------    1 andersen andersen        0 Apr 25 17:10 /tmp/temp.mWiLjM
1076
1077 -------------------------------
1078
1079 =item mnc
1080
1081 Usage: mnc [IP] [port]
1082
1083 mini-netcat opens a pipe to IP:port
1084
1085 Example:
1086
1087         $ mnc foobar.somedomain.com 25
1088         220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
1089         help
1090         214-Commands supported:
1091         214-    HELO EHLO MAIL RCPT DATA AUTH
1092         214     NOOP QUIT RSET HELP
1093         quit
1094         221 foobar closing connection
1095  
1096 -------------------------------
1097
1098 =item more
1099
1100 Usage: more [file ...]
1101
1102 More is a filter for paging through text one screenful at a time.
1103
1104 Example:
1105
1106         $ dmesg | more
1107
1108 -------------------------------
1109
1110 =item mount
1111
1112 Usage:  mount [flags]
1113         mount [flags] device directory [B<-o> options,more-options]
1114
1115 Flags:
1116
1117         -a:             Mount all file systems in fstab.
1118         -o option:      One of many filesystem options, listed below.
1119         -r:             Mount the filesystem read-only.
1120         -t fs-type:     Specify the filesystem type.
1121         -w:             Mount for reading and writing (default).
1122
1123 Options for use with the "B<-o>" flag:
1124
1125         async/sync:     Writes are asynchronous / synchronous.
1126         atime/noatime:  Enable / disable updates to inode access times.
1127         dev/nodev:      Allow use of special device files / disallow them.
1128         exec/noexec:    Allow use of executable files / disallow them.
1129         loop:           Mounts a file via loop device.
1130         suid/nosuid:    Allow set-user-id-root programs / disallow them.
1131         remount:        Re-mount a currently-mounted filesystem, changing its flags.
1132         ro/rw:          Mount for read-only / read-write.
1133         There are EVEN MORE flags that are specific to each filesystem.
1134         You'll have to see the written documentation for those.
1135
1136 Example:
1137
1138         $ mount
1139         /dev/hda3 on / type minix (rw)
1140         proc on /proc type proc (rw)
1141         devpts on /dev/pts type devpts (rw)
1142         $ mount /dev/fd0 /mnt -t msdos -o ro
1143         $ mount /tmp/diskimage /opt -t ext2 -o loop
1144
1145 -------------------------------
1146
1147 =item mt
1148
1149 Usage: mt [B<-f> device] opcode value
1150
1151 Control magnetic tape drive operation
1152
1153 -------------------------------
1154
1155 =item mv
1156
1157 Usage: mv SOURCE DEST
1158
1159    or: mv SOURCE... DIRECTORY
1160
1161 Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
1162
1163 Example:
1164
1165         $ mv /tmp/foo /bin/bar
1166
1167 -------------------------------
1168
1169 =item nslookup
1170
1171 Usage: nslookup [HOST]
1172
1173 Queries the nameserver for the IP address of the given HOST
1174
1175 Example:
1176
1177         $ nslookup localhost
1178         Server:     default
1179         Address:    default
1180
1181         Name:       debian
1182         Address:    127.0.0.1
1183
1184 -------------------------------
1185
1186 =item ping
1187
1188 Usage: ping [OPTION]... host
1189
1190 Send ICMP ECHO_REQUEST packets to network hosts.
1191
1192 Options:
1193
1194         -c COUNT        Send only COUNT pings.
1195         -q              Quiet mode, only displays output at start
1196                         and when finished.
1197 Example:
1198
1199         $ ping localhost
1200         PING slag (127.0.0.1): 56 data bytes
1201         64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
1202
1203         --- debian ping statistics ---
1204         1 packets transmitted, 1 packets received, 0% packet loss
1205         round-trip min/avg/max = 20.1/20.1/20.1 ms
1206
1207 -------------------------------
1208
1209 =item poweroff
1210
1211 Shuts down the system, and requests that the kernel turn off power upon halting.
1212
1213 -------------------------------
1214
1215 =item printf
1216
1217 Usage: printf format [argument...]
1218
1219 Formats and prints the given data in a manner similar to the C printf command.
1220
1221 Example:
1222
1223         $ printf "Val=%d\n" 5
1224         Val=5
1225
1226 -------------------------------
1227
1228 =item ps
1229
1230 Usage: ps
1231
1232 Report process status
1233
1234 This version of ps accepts no options.
1235
1236 Example:
1237
1238         $ ps
1239   PID  Uid      Gid State Command
1240     1 root     root     S init
1241     2 root     root     S [kflushd]
1242     3 root     root     S [kupdate]
1243     4 root     root     S [kpiod]
1244     5 root     root     S [kswapd]
1245   742 andersen andersen S [bash]
1246   743 andersen andersen S -bash
1247   745 root     root     S [getty]
1248  2990 andersen andersen R ps
1249
1250 -------------------------------
1251
1252 =item pwd
1253
1254 Prints the full filename of the current working directory.
1255
1256 Example:
1257
1258         $ pwd
1259         /root
1260
1261 -------------------------------
1262
1263 =item reboot
1264
1265 Instructs the kernel to reboot the system.
1266
1267 -------------------------------
1268
1269 =item rm
1270
1271 Usage: rm [OPTION]... FILE...
1272
1273 Remove (unlink) the FILE(s).
1274
1275 Options:
1276
1277         -f              remove existing destinations, never prompt
1278         -r or -R        remove the contents of directories recursively
1279
1280 Example:
1281
1282         $ rm -rf /tmp/foo
1283
1284 -------------------------------
1285
1286 =item rmdir
1287
1288 Usage: rmdir [OPTION]... DIRECTORY...
1289
1290 Remove the DIRECTORY(ies), if they are empty.
1291
1292 Example:
1293
1294         # rmdir /tmp/foo
1295
1296 -------------------------------
1297
1298 =item rmmod
1299
1300 Usage: rmmod [OPTION]... [MODULE]...
1301
1302 Unloads the specified kernel modules from the kernel.
1303
1304 Options:
1305
1306         -a      Try to remove all unused kernel modules.
1307
1308 Example:
1309
1310         $ rmmod tulip
1311
1312 -------------------------------
1313
1314 =item sed
1315
1316 Usage: sed [B<-n>] B<-e> script [file...]
1317
1318 Allowed sed scripts come in the following form:
1319
1320         'ADDR [!] COMMAND'
1321
1322         where address ADDR can be:
1323           NUMBER    Match specified line number
1324           $         Match last line
1325           /REGEXP/  Match specified regexp
1326           (! inverts the meaning of the match)
1327
1328         and COMMAND can be:
1329           s/regexp/replacement/[igp]
1330                  which attempt to match regexp against the pattern space
1331                  and if successful replaces the matched portion with replacement.
1332
1333           aTEXT
1334                  which appends TEXT after the pattern space
1335
1336 Options:
1337
1338         -e      add the script to the commands to be executed
1339         -n      suppress automatic printing of pattern space
1340
1341 This version of sed matches full regular expresions.
1342
1343 Example:
1344
1345         $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
1346         bar
1347
1348 -------------------------------
1349
1350 =item setkeycodes
1351
1352 Usage: setkeycodes SCANCODE KEYCODE ...
1353
1354 Set entries into the kernel's scancode-to-keycode map,
1355 allowing unusual keyboards to generate usable keycodes.
1356
1357 SCANCODE may be either xx or e0xx (hexadecimal),
1358 and KEYCODE is given in decimal
1359
1360 Example:
1361
1362         # setkeycodes e030 127
1363
1364 -------------------------------
1365
1366 =item sh
1367
1368 Usage: sh
1369
1370 lash -- the BusyBox LAme SHell (command interpreter)
1371
1372 This command does not yet have proper documentation.  
1373
1374 Use lash just as you would use any other shell.  It properly handles pipes,
1375 redirects, job control, can be used as the shell for scripts (#!/bin/sh), and
1376 has a sufficient set of builtins to do what is needed.  It does not (yet)
1377 support Bourne Shell syntax.  If you need things like "if-then-else", "while",
1378 and such, use ash or bash.  If you just need a very simple and extremely small
1379 shell, this will do the job.
1380
1381 -------------------------------
1382
1383 =item sfdisk
1384
1385 Usage: sfdisk [options] device ...
1386
1387 device: something like /dev/hda or /dev/sda
1388
1389 useful options:
1390
1391     -s [or --show-size]: list size of a partition
1392     -c [or --id]:        print or change partition Id
1393     -l [or --list]:      list partitions of each device
1394     -d [or --dump]:      idem, but in a format suitable for later input
1395     -i [or --increment]: number cylinders etc. from 1 instead of from 0
1396     -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/MB
1397     -T [or --list-types]:list the known partition types
1398     -D [or --DOS]:       for DOS-compatibility: waste a little space
1399     -R [or --re-read]:   make kernel reread partition table
1400     -N# :                change only the partition with number #
1401     -n :                 do not actually write to disk
1402     -O file :            save the sectors that will be overwritten to file
1403     -I file :            restore these sectors again
1404     -v [or --version]:   print version
1405     -? [or --help]:      print this message
1406
1407 dangerous options:
1408
1409     -g [or --show-geometry]: print the kernel's idea of the geometry
1410     -x [or --show-extended]: also list extended partitions on output
1411
1412                              or expect descriptors for them on input
1413     -L  [or --Linux]:      do not complain about things irrelevant for Linux
1414     -q  [or --quiet]:      suppress warning messages
1415     You can override the detected geometry using:
1416     -C# [or --cylinders #]:set the number of cylinders to use
1417     -H# [or --heads #]:    set the number of heads to use
1418     -S# [or --sectors #]:  set the number of sectors to use
1419
1420 You can disable all consistency checking with:
1421
1422     -f  [or --force]:      do what I say, even if it is stupid
1423
1424 -------------------------------
1425
1426 =item sleep
1427
1428 Usage: sleep N
1429
1430 Pause for N seconds.
1431
1432 Example:
1433
1434         $ sleep 2
1435         [2 second delay results]
1436
1437 -------------------------------
1438
1439 =item sort
1440
1441 Usage: sort [B<-n>] [B<-r>] [FILE]...
1442
1443 Sorts lines of text in the specified files
1444
1445 Example:
1446
1447         $ echo -e "e\nf\nb\nd\nc\na" | sort
1448         a
1449         b
1450         c
1451         d
1452         e
1453         f
1454
1455 -------------------------------
1456
1457 =item sync
1458
1459 Usage: sync
1460
1461 Write all buffered filesystem blocks to disk.
1462
1463 -------------------------------
1464
1465 =item syslogd
1466
1467 Usage: syslogd [OPTION]...
1468
1469 Linux system and kernel (provides klogd) logging utility.
1470 Note that this version of syslogd/klogd ignores /etc/syslog.conf.
1471
1472 Options:
1473
1474         -m      Change the mark timestamp interval. default=20min. 0=off
1475         -n      Do not fork into the background (for when run by init)
1476         -K      Do not start up the klogd process (by default syslogd spawns klogd).
1477         -O      Specify an alternate log file.  default=/var/log/messages
1478
1479 -------------------------------
1480
1481 =item swapon
1482
1483 Usage: swapon [OPTION] [device]
1484
1485 Start swapping virtual memory pages on the given device.
1486
1487 Options:
1488
1489         -a      Start swapping on all swap devices
1490
1491 -------------------------------
1492
1493 =item swapoff
1494
1495 Usage: swapoff [OPTION] [device]
1496
1497 Stop swapping virtual memory pages on the given device.
1498
1499 Options:
1500
1501         -a      Stop swapping on all swap devices
1502
1503 -------------------------------
1504
1505 =item tail
1506
1507 Usage: tail [OPTION] [FILE]...
1508
1509 Print last 10 lines of each FILE to standard output.
1510 With more than one FILE, precede each with a header giving the
1511 file name. With no FILE, or when FILE is -, read standard input.
1512
1513 Options:
1514
1515         -n NUM          Print last NUM lines instead of first 10
1516         -f              Output data as the file grows.  This version
1517                         of 'tail -f' supports only one file at a time.
1518
1519 Example:
1520
1521         $ tail -n 1 /etc/resolv.conf
1522         nameserver 10.0.0.1
1523
1524 -------------------------------
1525
1526 =item tar
1527
1528 Usage: tar -[cxtvO] [B<--exclude> File] [B<-f> tarFile] [FILE] ...
1529
1530 Create, extract, or list files from a tar file.  Note that
1531 this version of tar treats hard links as separate files.
1532
1533 Main operation mode:
1534
1535         c               create
1536         x               extract
1537         t               list
1538
1539 File selection:
1540
1541         f               name of tarfile or "-" for stdin
1542         O               extract to stdout
1543         --exclude       file to exclude
1544
1545 Informative output:
1546
1547         v               verbosely list files processed
1548
1549 Example:
1550
1551         $ zcat /tmp/tarball.tar.gz | tar -xf -
1552         $ tar -cf /tmp/tarball.tar /usr/local
1553
1554 -------------------------------
1555
1556 =item test, [
1557
1558 Usage: test EXPRESSION
1559 or   [ EXPRESSION ]
1560
1561 Checks file types and compares values returning an exit
1562 code determined by the value of EXPRESSION.
1563
1564 Example:
1565
1566         $ test 1 -eq 2
1567         $ echo $?
1568         1
1569         $ test 1 -eq 1
1570         $ echo $?
1571         0
1572         $ [ -d /etc ]
1573         $ echo $?
1574         0
1575         $ [ -d /junk ]
1576         $ echo $?
1577         1
1578
1579 -------------------------------
1580
1581 =item tee
1582
1583 Usage: tee [OPTION]... [FILE]...
1584
1585 Copy standard input to each FILE, and also to standard output.
1586
1587 Options:
1588
1589         -a      append to the given FILEs, do not overwrite
1590
1591 Example:
1592
1593         $ echo "Hello" | tee /tmp/foo
1594         $ cat /tmp/foo
1595         Hello
1596
1597 -------------------------------
1598
1599 =item touch
1600
1601 Usage: touch [B<-c>] file [file ...]
1602
1603 Update the last-modified date on (or create) the selected file[s].
1604
1605 Example:
1606
1607         $ ls -l /tmp/foo
1608         /bin/ls: /tmp/foo: No such file or directory
1609         $ touch /tmp/foo
1610         $ ls -l /tmp/foo
1611         -rw-rw-r--    1 andersen andersen        0 Apr 15 01:11 /tmp/foo
1612
1613 -------------------------------
1614
1615 =item tr
1616
1617 Usage: tr [-cds] STRING1 [STRING2]
1618
1619 Translate, squeeze, and/or delete characters from
1620 standard input, writing to standard output.
1621
1622 Options:
1623
1624         -c      take complement of STRING1
1625         -d      delete input characters coded STRING1
1626         -s      squeeze multiple output characters of STRING2 into one character
1627
1628 Example:
1629
1630         $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
1631         hello world
1632
1633 -------------------------------
1634
1635 =item true
1636
1637 Returns an exit code of TRUE (0)
1638
1639 Example:
1640
1641         $ true
1642         $ echo $?
1643         0
1644
1645 -------------------------------
1646
1647 =item tty
1648
1649 Usage: tty
1650
1651 Print the file name of the terminal connected to standard input.
1652
1653 Options:
1654
1655         -s      print nothing, only return an exit status
1656
1657 Example:
1658
1659         $ tty
1660         /dev/tty2
1661
1662 -------------------------------
1663
1664 =item umount
1665
1666 Usage: umount [flags] filesystem|directory
1667
1668 Flags:
1669
1670                 -a:     Unmount all file systems
1671                 -r:     Try to remount devices as read-only if mount is busy
1672                 -f:     Force filesystem umount (i.e. unreachable NFS server)
1673                 -l:     Do not free loop device (if a loop device has been used)
1674
1675 Example:
1676
1677         $ umount /dev/hdc1 
1678
1679 -------------------------------
1680
1681 =item uname
1682
1683 Usage: uname [OPTION]...
1684
1685 Print certain system information.  With no OPTION, same as B<-s>.
1686
1687 Options:
1688
1689         -a      print all information
1690         -m      the machine (hardware) type
1691         -n      print the machine's network node hostname
1692         -r      print the operating system release
1693         -s      print the operating system name
1694         -p      print the host processor type
1695         -v      print the operating system version
1696
1697 Example:
1698
1699         $ uname -a
1700         Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
1701
1702 -------------------------------
1703
1704 =item uniq
1705
1706 Usage: uniq [OPTION]... [INPUT [OUTPUT]]
1707
1708 Discard all but one of successive identical lines from INPUT
1709 (or standard input), writing to OUTPUT (or standard output).
1710
1711 Example:
1712
1713         $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
1714         a
1715         b
1716         c
1717
1718 -------------------------------
1719
1720 =item update
1721
1722 Usage: update [options]
1723
1724 Periodically flushes filesystem buffers.
1725
1726 Options:
1727
1728         -S      force use of sync(2) instead of flushing
1729         -s SECS call sync this often (default 30)
1730         -f SECS flush some buffers this often (default 5)
1731
1732 -------------------------------
1733
1734 =item uptime
1735
1736 Usage: uptime
1737
1738 Tells how long the system has been running since boot.
1739
1740 Example:
1741
1742         $ uptime
1743           1:55pm  up  2:30, load average: 0.09, 0.04, 0.00
1744
1745 -------------------------------
1746
1747 =item usleep
1748
1749 Usage: usleep N
1750
1751 Pauses for N microseconds.
1752
1753 Example:
1754
1755         $ usleep 1000000
1756         [pauses for 1 second]
1757
1758 -------------------------------
1759
1760 =item wc
1761
1762 Usage: wc [OPTION]... [FILE]...
1763
1764 Print line, word, and byte counts for each FILE, and a total line if
1765 more than one FILE is specified.  With no FILE, read standard input.
1766
1767 Options:
1768
1769         -c      print the byte counts
1770         -l      print the newline counts
1771         -L      print the length of the longest line
1772         -w      print the word counts
1773
1774 Example:
1775
1776         $ wc /etc/passwd
1777              31      46    1365 /etc/passwd
1778
1779 -------------------------------
1780
1781 =item whoami
1782
1783 Usage: whoami
1784
1785 Prints the user name associated with the current effective user id.
1786
1787 Example:
1788
1789         $ whoami
1790         andersen
1791
1792 -------------------------------
1793
1794 =item yes
1795
1796 Usage: yes [OPTION]... [STRING]...
1797
1798 Repeatedly outputs a line with all specified STRING(s), or `y'.
1799
1800 -------------------------------
1801
1802 =item zcat
1803
1804 This is essentially an alias for invoking "gunzip B<-c>", where 
1805 it decompresses the file inquestion and send the output to stdout. 
1806
1807 -------------------------------
1808
1809 =back
1810
1811 =head1 LIBC NSS
1812
1813 GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
1814 library for the local environment, and to configure how it reads system data,
1815 such as passwords and group information.  BusyBox has made it Policy that it
1816 will never use NSS, and will never use and libc calls that make use of NSS.
1817 This allows you to run an embedded system without the need for installing an
1818 /etc/nsswitch.conf file and without and /lib/libnss_* libraries installed.
1819
1820 If you are using a system that is using a remote LDAP server for authentication
1821 via GNU libc NSS, and you want to use BusyBox, then you will need to adjust the
1822 BusyBox source.  Chances are though, that if you have enough space to install
1823 of that stuff on your system, then you probably want the full GNU utilities.
1824
1825 =head1 SEE ALSO
1826
1827 textutils(1), shellutils(1), etc...
1828
1829 =head1 MAINTAINER
1830
1831 Erik Andersen <andersee@debian.org> <andersen@lineo.com>
1832
1833 =head1 AUTHORS
1834
1835 The following people have contributed code to BusyBox whether
1836 they know it or not.
1837
1838 Erik Andersen <andersee@debian.org>
1839
1840 =for html <br>
1841
1842 John Beppu <beppu@lineo.com>
1843
1844 =for html <br>
1845
1846 Brian Candler <B.Candler@pobox.com>
1847
1848 =for html <br>
1849
1850 Randolph Chung <tausq@debian.org>
1851
1852 =for html <br>
1853
1854 Dave Cinege <dcinege@psychosis.com>     
1855
1856 =for html <br>
1857
1858 Karl M. Hegbloom <karlheg@debian.org>
1859
1860 =for html <br>
1861
1862 John Lombardo <john@deltanet.com>       
1863
1864 =for html <br>
1865
1866 Bruce Perens <bruce@perens.com>
1867
1868 =for html <br>
1869
1870 Linus Torvalds <torvalds@transmeta.com>
1871
1872 =for html <br>
1873
1874 Charles P. Wright <cpwright@villagenet.com>
1875
1876 =for html <br>
1877
1878 Enrique Zanardi <ezanardi@ull.es>
1879
1880 =for html <br>
1881
1882 =cut
1883
1884 # $Id: busybox.pod,v 1.30 2000/05/12 19:41:47 erik Exp $