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