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