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