5 BusyBox - The Swiss Army Knife of Embedded Linux
9 BusyBox <function> [arguments...] # or
11 <function> [arguments...] # if symlinked
15 BusyBox combines tiny versions of many common UNIX utilities into a single
16 small executable. It provides minimalist replacements for most of the utilities
17 you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
18 tar, etc. BusyBox provides a fairly complete POSIX environment for any small
19 or emdedded system. While the number of options for the utilities BusyBox
20 provides have generally been reduced, the provided options behave very much
21 like they do in their full featured GNU cousins.
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).
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.
39 will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
42 You can also invoke BusyBox by issuing the command as an argument on the
43 command line. For example, entering
47 will also cause BusyBox to behave as 'ls'.
51 Most BusyBox commands support the B<--help> option to provide a
52 terse runtime description of their behavior.
56 Currently defined functions include:
58 basename, cat, chgrp, chmod, chown, chroot, clear, chvt, cp, date, dd, df,
59 dirname, dmesg, du, dutmp, echo, false, fbset, fdflush, find, free,
60 freeramdisk, deallocvt, fsck.minix, grep, gunzip, gzip, halt, head, hostid,
61 hostname, init, kill, killall, length, ln, loadacm, loadfont, loadkmap, logger,
62 logname, ls, lsmod, makedevs, math, mkdir, mkfifo, mkfs.minix, mknod, mkswap,
63 mnc, more, mount, mt, mv, nslookup, ping, poweroff, printf, ps, pwd, reboot,
64 rm, rmdir, rmmod, sed, sh, sfdisk, sleep, sort, sync, syslogd, swapon, swapoff,
65 tail, tar, test, tee, touch, tr, true, tty, umount, uname, uniq, update,
66 uptime, usleep, wc, whoami, yes, zcat, [
72 Usage: basename [file ...]
74 Strips directory path and suffixes from FILE(s).
78 $ basename /usr/local/bin/foo
80 $ basename /usr/local/bin/
83 -------------------------------
89 Concatenates FILE(s) and prints them to the standard output.
96 -------------------------------
100 Usage: chgrp [OPTION]... GROUP FILE...
102 Change the group membership of each FILE to GROUP.
106 -R change files and directories recursively
111 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
112 $ chgrp root /tmp/foo
114 -r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
116 -------------------------------
120 Usage: chmod [B<-R>] MODE[,MODE]... FILE...
122 Changes file access permissions for the specified FILE(s) (or directories).
123 Each MODE is defined by combining the letters for WHO has access to the file,
124 an OPERATOR for selecting how the permissions should be changed, and a
125 PERISSION for FILE(s) (or directories).
127 WHO may be chosen from
129 u User who owns the file
130 g Users in the file's Group
131 o Other users not in the file's group
134 OPERATOR may be chosen from
137 - Remove a permission
138 = Assign a permission
140 PERMISSION may be chosen from
144 x Execute (or access for directories)
145 s Set user (or group) ID bit
146 t Stickey bit (for directories prevents removing files by non-owners)
148 Alternately, permissions can be set numerically where the first three
149 numbers are calculated by adding the octal values, such as
155 An optional fourth digit can also be used to specify
163 -R Change files and directories recursively.
168 -rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
171 -rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
174 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
176 -------------------------------
180 Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
182 Changes the owner and/or group of each FILE to OWNER and/or GROUP.
186 -R Changes files and directories recursively
191 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
192 $ chown root /tmp/foo
194 -r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
195 $ chown root.root /tmp/foo
197 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
199 -------------------------------
203 Usage: chroot NEWROOT [COMMAND...]
205 Run COMMAND with root directory set to NEWROOT.
210 lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
211 $ mount /dev/hdc1 /mnt -t minix
214 -rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
216 -------------------------------
222 -------------------------------
228 Changes the foreground virtual terminal to /dev/ttyN
230 -------------------------------
234 Usage: cp [OPTION]... SOURCE DEST
236 or: cp [OPTION]... SOURCE... DIRECTORY
238 Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
242 -p Preserves file attributes if possable
243 -R Copies directories recursively
245 -------------------------------
249 Usage: date [OPTION]... [+FORMAT]
251 or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
253 Displays the current time in the given FORMAT, or sets the system date.
256 -R Outputs RFC-822 compliant date string
257 -s Sets time described by STRING
258 -u Prints or sets Coordinated Universal Time
263 Wed Apr 12 18:52:41 MDT 2000
265 -------------------------------
269 Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n]
271 Copy a file, converting and formatting according to options
273 if=FILE read from FILE instead of stdin
274 of=FILE write to FILE instead of stdout
275 bs=n read and write n bytes at a time
276 count=n copy only n input blocks
277 skip=n skip n input blocks
278 seek=n skip n output blocks
280 Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2)
284 $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
288 -------------------------------
292 Usage: df [filesystem ...]
294 Prints the filesystem space used and space available.
299 Filesystem 1k-blocks Used Available Use% Mounted on
300 /dev/sda3 8690864 8553540 137324 98% /
301 /dev/sda1 64216 36364 27852 57% /boot
303 Filesystem 1k-blocks Used Available Use% Mounted on
304 /dev/sda3 8690864 8553540 137324 98% /
306 -------------------------------
312 Strip non-directory suffix from file name
321 -------------------------------
325 Usage: dmesg [B<-c>] [B<-n> level] [B<-s> bufsize]
327 Print or controls the kernel ring buffer.
329 -------------------------------
333 Usage: du [OPTION]... [FILE]...
335 Summarize disk space used for each FILE and/or directory.
336 Disk space is printed in units of 1k (i.e. 1024 bytes).
340 -l count sizes many times if hard linked
341 -s display only a total for each argument
347 12 ./kernel-patches/CVS
357 -------------------------------
363 Dump utmp file format (pipe delimited) from FILE
368 $ dutmp /var/run/utmp
369 8|7||si|||0|0|0|955637625|760097|0
370 2|0|~|~~|reboot||0|0|0|955637625|782235|0
371 1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
372 8|125||l4|||0|0|0|955637629|998367|0
373 6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
374 6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
375 7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
377 -------------------------------
381 Usage: echo [-neE] [ARG ...]
383 Prints the specified ARGs to stdout
387 -n suppress trailing newline
388 -e interpret backslash-escaped characters (i.e. \t=tab etc)
389 -E disable interpretation of backslash-escaped characters
393 $ echo "Erik is cool"
395 $ echo -e "Erik\nis\ncool"
399 $ echo "Erik\nis\ncool"
402 -------------------------------
406 Returns an exit code of FALSE (1)
414 -------------------------------
418 Usage: fbset [options] [mode]
420 Show and modify frame buffer device settings
441 # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
442 geometry 1024 768 1024 768 16
443 timings 12714 128 32 16 4 128 4
445 rgba 5/11,6/5,5/0,0/0
448 -------------------------------
452 Usage: fdflush device
454 Force floppy disk drive to detect disk change
456 -------------------------------
460 Usage: find [PATH...] [EXPRESSION]
462 Search for files in a directory hierarchy. The default PATH is
463 the current directory; default EXPRESSION is '-print'
466 EXPRESSION may consist of:
468 -follow Dereference symbolic links.
469 -name PATTERN File name (leading directories removed) matches PATTERN.
470 -print print the full file name followed by a newline to stdout.
474 $ find / -name /etc/passwd
477 -------------------------------
483 Displays the amount of free and used memory in the system.
488 total used free shared buffers
489 Mem: 257628 248724 8904 59644 93124
490 Swap: 128516 8404 120112
491 Total: 386144 257128 129016
493 -------------------------------
497 Usage: freeramdisk DEVICE
499 Free all memory used by the specified ramdisk.
503 $ freeramdisk /dev/ram2
505 -------------------------------
511 Deallocates unused virtual terminal /dev/ttyN
513 -------------------------------
517 Usage: fsck.minix [B<-larvsmf>] /dev/name
519 Performs a consistency check for MINIX filesystems.
523 -l Lists all filenames
524 -r Perform interactive repairs
525 -a Perform automatic repairs
527 -s Outputs super-block information
528 -m Activates MINIX-like "mode not cleared" warnings
529 -f Force file system check.
531 -------------------------------
535 Usage: grep [OPTIONS]... PATTERN [FILE]...
537 Search for PATTERN in each FILE or standard input.
541 -h suppress the prefixing filename on output
542 -i ignore case distinctions
543 -n print line number with output lines
544 -q be quiet. Returns 0 if result was found, 1 otherwise
546 This version of grep matches full regular expresions.
550 $ grep root /etc/passwd
551 root:x:0:0:root:/root:/bin/bash
552 $ grep ^[rR]oo. /etc/passwd
553 root:x:0:0:root:/root:/bin/bash
555 -------------------------------
559 Usage: gunzip [OPTION]... FILE
561 Uncompress FILE (or standard input if FILE is '-').
565 -c Write output to standard output
566 -t Test compressed file integrity
570 $ ls -la /tmp/BusyBox*
571 -rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
572 $ gunzip /tmp/BusyBox-0.43.tar.gz
573 $ ls -la /tmp/BusyBox*
574 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
576 -------------------------------
580 Usage: gzip [OPTION]... FILE
582 Compress FILE with maximum compression.
583 When FILE is '-', reads standard input. Implies B<-c>.
587 -c Write output to standard output instead of FILE.gz
591 $ ls -la /tmp/BusyBox*
592 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
593 $ gzip /tmp/BusyBox-0.43.tar
594 $ ls -la /tmp/BusyBox*
595 -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
598 -------------------------------
604 This comand halts the system.
606 -------------------------------
610 Usage: head [OPTION] [FILE]...
612 Print first 10 lines of each FILE to standard output.
613 With more than one FILE, precede each with a header giving the
614 file name. With no FILE, or when FILE is -, read standard input.
618 -n NUM Print first NUM lines instead of first 10
622 $ head -n 2 /etc/passwd
623 root:x:0:0:root:/root:/bin/bash
624 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
626 -------------------------------
632 Prints out a unique 32-bit identifier for the current
633 machine. The 32-bit identifier is intended to be unique
634 among all UNIX systems in existence.
636 -------------------------------
640 Usage: hostname [OPTION] {hostname | B<-F> file}
642 Get or set the hostname or DNS domain name. If a hostname is given
643 (or a file with the B<-F> parameter), the host name will be set.
648 -i Addresses for the hostname
650 -F FILE Use the contents of FILE to specify the hostname
657 -------------------------------
663 Init is the parent of all processes.
665 This version of init is designed to be run only by the kernel.
667 BusyBox init doesn't support multiple runlevels. The runlevels field of
668 the /etc/inittab file is completely ignored by BusyBox init. If you want
669 runlevels, use sysvinit.
671 BusyBox init works just fine without an inittab. If no inittab is found,
672 it has the following default behavior:
674 ::sysinit:/etc/init.d/rcS
677 if it detects that /dev/console is _not_ a serial console, it will also run:
679 tty2::askfirst:/bin/sh
681 If you choose to use an /etc/inittab file, the inittab entry format is as follows:
683 <id>:<runlevels>:<action>:<process>
687 WARNING: This field has a non-traditional meaning for BusyBox init!
688 The id field is used by BusyBox init to specify the controlling tty for
689 the specified process to run on. The contents of this field are
690 appended to "/dev/" and used as-is. There is no need for this field to
691 be unique, although if it isn't you may have strange results. If this
692 field is left blank, it is completely ignored. Also note that if
693 BusyBox detects that a serial console is in use, then all entries
694 containing non-empty id fields will _not_ be run. BusyBox init does
695 nothing with utmp. We don't need no stinkin' utmp.
699 The runlevels field is completely ignored.
703 Valid actions include: sysinit, respawn, askfirst, wait,
704 once, and ctrlaltdel.
706 askfirst acts just like respawn, but before running the specified
707 process it displays the line "Please press Enter to activate this
708 console." and then waits for the user to press enter before starting
709 the specified process.
711 Unrecognised actions (like initdefault) will cause init to emit
712 an error message, and then go along with its business.
716 Specifies the process to be executed and it's command line.
719 Example /etc/inittab file:
721 # This is run first except when booting in single-user mode.
723 ::sysinit:/etc/init.d/rcS
725 # /bin/sh invocations on selected ttys
727 # Start an "askfirst" shell on the console (whatever that may be)
729 # Start an "askfirst" shell on /dev/tty2
730 tty2::askfirst:/bin/sh
732 # /sbin/getty invocations for selected ttys
734 tty4::respawn:/sbin/getty 38400 tty4
735 tty5::respawn:/sbin/getty 38400 tty5
738 # Example of how to put a getty on a serial line (for a terminal)
740 #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
741 #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
743 # Example how to put a getty on a modem line.
744 #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
746 # Stuff to do before rebooting
747 ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1
748 ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1
750 -------------------------------
754 Usage: kill [B<-signal>] process-id [process-id ...]
756 Send a signal (default is SIGTERM) to the specified process(es).
760 -l List all signal names and numbers.
765 252 root root S [apache]
766 263 www-data www-data S [apache]
767 264 www-data www-data S [apache]
768 265 www-data www-data S [apache]
769 266 www-data www-data S [apache]
770 267 www-data www-data S [apache]
773 -------------------------------
777 Usage: killall [B<-signal>] process-name [process-name ...]
779 Send a signal (default is SIGTERM) to the specified process(es).
783 -l List all signal names and numbers.
789 -------------------------------
795 Prints out the length of the specified string.
801 -------------------------------
805 Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY
806 Create a link named LINK_NAME or DIRECTORY to the specified TARGET
810 -s make symbolic links instead of hard links
811 -f remove existing destination files
815 $ ln -s BusyBox /tmp/ls
816 [andersen@debian BusyBox]$ ls -l /tmp/ls
817 lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
819 -------------------------------
825 Loads an acm from standard input.
829 $ loadacm < /etc/i18n/acmname
831 -------------------------------
837 Loads a console font from standard input.
841 $ loadfont < /etc/i18n/fontname
843 -------------------------------
849 Loads a binary keyboard translation table from standard input.
853 $ loadkmap < /etc/i18n/lang-keymap
855 -------------------------------
859 Usage: logger [OPTION]... [MESSAGE]
861 Write MESSAGE to the system log. If MESSAGE is '-', log stdin.
865 -s Log to stderr as well as the system log.
866 -t Log using the specified tag (defaults to user name).
867 -p Enter the message with the specified priority.
868 This may be numerical or a ``facility.level'' pair.
874 -------------------------------
880 Print the name of the current user.
887 -------------------------------
891 Usage: ls [B<-1acdelnpuxACF>] [filenames...]
895 -a do not hide entries starting with .
896 -c with -l: show ctime (the time of last
897 modification of file status information)
898 -d list directory entries instead of contents
899 -e list both full date and full time
900 -l use a long listing format
901 -n list numeric UIDs and GIDs instead of names
902 -p append indicator (one of /=@|) to entries
903 -u with -l: show access time (the time of last
905 -x list entries by lines instead of by columns
906 -A do not list implied . and ..
907 -C list entries by columns
908 -F append indicator (one of */=@|) to entries
910 -------------------------------
916 Shows a list of all currently loaded kernel modules.
918 -------------------------------
922 Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
924 Creates a range of block or character special files
928 b: Make a block (buffered) device.
929 c or u: Make a character (un-buffered) device.
930 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
932 FIRST specifies the number appended to NAME to create the first device.
933 LAST specifies the number of the last item that should be created.
934 If 's' is the last argument, the base device is created as well.
938 $ makedevs /dev/ttyS c 4 66 2 63
939 [creates ttyS2-ttyS63]
940 $ makedevs /dev/hda b 3 0 0 8 s
941 [creates hda,hda1-hda8]
943 -------------------------------
947 Usage: math expression ...
949 This is a Tiny RPN calculator that understands the
950 following operations: +, -, /, *, and, or, not, eor.
956 $ math 8 8 \* 2 2 + /
963 -------------------------------
967 Usage: mkdir [OPTION] DIRECTORY...
969 Create the DIRECTORY(ies), if they do not already exist
973 -m set permission mode (as in chmod), not rwxrwxrwx - umask
974 -p no error if dir exists, make parent directories as needed
980 /tmp/foo: File exists
981 $ mkdir /tmp/foo/bar/baz
982 /tmp/foo/bar/baz: No such file or directory
983 $ mkdir -p /tmp/foo/bar/baz
985 -------------------------------
989 Usage: mkfifo [OPTIONS] name
991 Creates a named pipe (identical to 'mknod name p')
995 -m create the pipe using the specified mode (default a=rw)
997 -------------------------------
1001 Usage: mkfs.minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
1003 Make a MINIX filesystem.
1007 -c Check the device for bad blocks
1008 -n [14|30] Specify the maximum length of filenames
1009 -i Specify the number of inodes for the filesystem
1010 -l FILENAME Read the bad blocks list from FILENAME
1011 -v Make a Minix version 2 filesystem
1013 -------------------------------
1017 Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR
1019 Create a special file (block, character, or pipe).
1023 -m create the special file using the specified mode (default a=rw)
1026 b: Make a block (buffered) device.
1027 c or u: Make a character (un-buffered) device.
1028 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
1032 $ mknod /dev/fd0 b 2 0
1033 $ mknod -m 644 /tmp/pipe p
1035 -------------------------------
1039 Usage: mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
1041 Prepare a disk partition to be used as a swap partition.
1045 -c Check for read-ability.
1046 -v0 Make version 0 swap [max 128 Megs].
1047 -v1 Make version 1 swap [big!] (default for kernels > 2.1.117).
1048 block-count Number of block to use (default is entire partition).
1050 -------------------------------
1054 Usage: mnc [IP] [port]
1056 mini-netcat opens a pipe to IP:port
1060 $ mnc foobar.somedomain.com 25
1061 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
1063 214-Commands supported:
1064 214- HELO EHLO MAIL RCPT DATA AUTH
1065 214 NOOP QUIT RSET HELP
1067 221 foobar closing connection
1069 -------------------------------
1073 Usage: more [file ...]
1075 More is a filter for paging through text one screenful at a time.
1081 -------------------------------
1085 Usage: mount [flags]
1086 mount [flags] device directory [B<-o> options,more-options]
1090 -a: Mount all file systems in fstab.
1091 -o option: One of many filesystem options, listed below.
1092 -r: Mount the filesystem read-only.
1093 -t filesystem-type: Specify the filesystem type.
1094 -w: Mount for reading and writing (default).
1096 Options for use with the "B<-o>" flag:
1098 async / sync: Writes are asynchronous / synchronous.
1099 dev / nodev: Allow use of special device files / disallow them.
1100 exec / noexec: Allow use of executable files / disallow them.
1101 loop: Mounts a file via loop device.
1102 suid / nosuid: Allow set-user-id-root programs / disallow them.
1103 remount: Re-mount a currently-mounted filesystem, changing its flags.
1104 ro / rw: Mount for read-only / read-write.
1105 There are EVEN MORE flags that are specific to each filesystem.
1106 You'll have to see the written documentation for those.
1111 /dev/hda3 on / type minix (rw)
1112 proc on /proc type proc (rw)
1113 devpts on /dev/pts type devpts (rw)
1114 $ mount /dev/fd0 /mnt -t msdos -o ro
1115 $ mount /tmp/diskimage /opt -t ext2 -o loop
1117 -------------------------------
1121 Usage: mt [B<-f> device] opcode value
1123 Control magnetic tape drive operation
1125 -------------------------------
1129 Usage: mv SOURCE DEST
1131 or: mv SOURCE... DIRECTORY
1133 Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
1137 $ mv /tmp/foo /bin/bar
1139 -------------------------------
1143 Usage: nslookup [HOST]
1145 Queries the nameserver for the IP address of the given HOST
1149 $ nslookup localhost
1156 -------------------------------
1160 Usage: ping [OPTION]... host
1162 Send ICMP ECHO_REQUEST packets to network hosts.
1166 -c COUNT Send only COUNT pings.
1167 -q Quiet mode, only displays output at start
1172 PING slag (127.0.0.1): 56 data bytes
1173 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
1175 --- debian ping statistics ---
1176 1 packets transmitted, 1 packets received, 0% packet loss
1177 round-trip min/avg/max = 20.1/20.1/20.1 ms
1179 -------------------------------
1183 Shuts down the system, and requests that the kernel turn off power upon halting.
1185 -------------------------------
1189 Usage: printf format [argument...]
1191 Formats and prints the given data in a manner similar to the C printf command.
1195 $ printf "Val=%d\n" 5
1198 -------------------------------
1204 Report process status
1206 This version of ps accepts no options.
1211 PID Uid Gid State Command
1213 2 root root S [kflushd]
1214 3 root root S [kupdate]
1215 4 root root S [kpiod]
1216 5 root root S [kswapd]
1217 742 andersen andersen S [bash]
1218 743 andersen andersen S -bash
1219 745 root root S [getty]
1220 2990 andersen andersen R ps
1222 -------------------------------
1226 Prints the full filename of the current working directory.
1233 -------------------------------
1237 Instructs the kernel to reboot the system.
1239 -------------------------------
1243 Usage: rm [OPTION]... FILE...
1245 Remove (unlink) the FILE(s).
1249 -f remove existing destinations, never prompt
1250 -r or -R remove the contents of directories recursively
1256 -------------------------------
1260 Usage: rmdir [OPTION]... DIRECTORY...
1262 Remove the DIRECTORY(ies), if they are empty.
1268 -------------------------------
1272 Usage: rmmod [OPTION]... [MODULE]...
1274 Unloads the specified kernel modules from the kernel.
1278 -a Try to remove all unused kernel modules.
1284 -------------------------------
1288 Usage: sed [B<-n>] B<-e> script [file...]
1290 Allowed sed scripts come in the following form:
1294 where address ADDR can be:
1295 NUMBER Match specified line number
1297 /REGEXP/ Match specified regexp
1298 (! inverts the meaning of the match)
1301 s/regexp/replacement/[igp]
1302 which attempt to match regexp against the pattern space
1303 and if successful replaces the matched portion with replacement.
1306 which appends TEXT after the pattern space
1310 -e add the script to the commands to be executed
1311 -n suppress automatic printing of pattern space
1313 This version of sed matches full regular expresions.
1317 $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
1320 -------------------------------
1326 lash -- the BusyBox LAme SHell (command interpreter)
1328 This command does not yet have proper documentation.
1330 Use lash just as you would use any other shell. It properly handles pipes,
1331 redirects, job control, can be used as the shell for scripts (#!/bin/sh), and
1332 has a sufficient set of builtins to do what is needed. It does not (yet)
1333 support Bourne Shell syntax. If you need things like "if-then-else", "while",
1334 and such, use ash or bash. If you just need a very simple and extremely small
1335 shell, this will do the job.
1337 -------------------------------
1341 Usage: sfdisk [options] device ...
1343 device: something like /dev/hda or /dev/sda
1347 -s [or --show-size]: list size of a partition
1348 -c [or --id]: print or change partition Id
1349 -l [or --list]: list partitions of each device
1350 -d [or --dump]: idem, but in a format suitable for later input
1351 -i [or --increment]: number cylinders etc. from 1 instead of from 0
1352 -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/cylinders/MB
1353 -T [or --list-types]:list the known partition types
1354 -D [or --DOS]: for DOS-compatibility: waste a little space
1355 -R [or --re-read]: make kernel reread partition table
1356 -N# : change only the partition with number #
1357 -n : do not actually write to disk
1358 -O file : save the sectors that will be overwritten to file
1359 -I file : restore these sectors again
1360 -v [or --version]: print version
1361 -? [or --help]: print this message
1365 -g [or --show-geometry]: print the kernel's idea of the geometry
1366 -x [or --show-extended]: also list extended partitions on output
1368 or expect descriptors for them on input
1369 -L [or --Linux]: do not complain about things irrelevant for Linux
1370 -q [or --quiet]: suppress warning messages
1371 You can override the detected geometry using:
1372 -C# [or --cylinders #]:set the number of cylinders to use
1373 -H# [or --heads #]: set the number of heads to use
1374 -S# [or --sectors #]: set the number of sectors to use
1376 You can disable all consistency checking with:
1378 -f [or --force]: do what I say, even if it is stupid
1380 -------------------------------
1386 Pause for N seconds.
1391 [2 second delay results]
1393 -------------------------------
1397 Usage: sort [B<-n>] [B<-r>] [FILE]...
1399 Sorts lines of text in the specified files
1403 $ echo -e "e\nf\nb\nd\nc\na" | sort
1411 -------------------------------
1417 Write all buffered filesystem blocks to disk.
1419 -------------------------------
1423 Usage: syslogd [OPTION]...
1425 Linux system and kernel (provides klogd) logging utility.
1426 Note that this version of syslogd/klogd ignores /etc/syslog.conf.
1430 -m Change the mark timestamp interval. default=20min. 0=off
1431 -n Do not fork into the background (for when run by init)
1432 -K Do not start up the klogd process (by default syslogd spawns klogd).
1433 -O Specify an alternate log file. default=/var/log/messages
1435 -------------------------------
1439 Usage: swapon [OPTION] [device]
1441 Start swapping virtual memory pages on the given device.
1445 -a Start swapping on all swap devices
1447 -------------------------------
1451 Usage: swapoff [OPTION] [device]
1453 Stop swapping virtual memory pages on the given device.
1457 -a Stop swapping on all swap devices
1459 -------------------------------
1463 Usage: tail [OPTION] [FILE]...
1465 Print last 10 lines of each FILE to standard output.
1466 With more than one FILE, precede each with a header giving the
1467 file name. With no FILE, or when FILE is -, read standard input.
1471 -n NUM Print last NUM lines instead of first 10
1472 -f Output data as the file grows. This version
1473 of 'tail -f' supports only one file at a time.
1477 $ tail -n 1 /etc/resolv.conf
1480 -------------------------------
1484 Usage: tar -[cxtvO] [B<--exclude> File] [B<-f> tarFile] [FILE] ...
1486 Create, extract, or list files from a tar file. Note that
1487 this version of tar treats hard links as separate files.
1489 Main operation mode:
1497 f name of tarfile or "-" for stdin
1499 --exclude file to exclude
1503 v verbosely list files processed
1507 $ zcat /tmp/tarball.tar.gz | tar -xf -
1508 $ tar -cf /tmp/tarball.tar /usr/local
1510 -------------------------------
1514 Usage: test EXPRESSION
1517 Checks file types and compares values returning an exit
1518 code determined by the value of EXPRESSION.
1535 -------------------------------
1539 Usage: tee [OPTION]... [FILE]...
1541 Copy standard input to each FILE, and also to standard output.
1545 -a append to the given FILEs, do not overwrite
1549 $ echo "Hello" | tee /tmp/foo
1553 -------------------------------
1557 Usage: touch [B<-c>] file [file ...]
1559 Update the last-modified date on (or create) the selected file[s].
1564 /bin/ls: /tmp/foo: No such file or directory
1567 -rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo
1569 -------------------------------
1573 Usage: tr [B<-cdsu>] string1 [string2]
1575 Translate, squeeze, and/or delete characters from standard
1576 input, writing to standard output.
1580 $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
1583 -------------------------------
1587 Returns an exit code of TRUE (0)
1595 -------------------------------
1601 Print the file name of the terminal connected to standard input.
1605 -s print nothing, only return an exit status
1612 -------------------------------
1616 Usage: umount [flags] filesystem|directory
1620 -a: Unmount all file systems
1621 -r: Try to remount devices as read-only if mount is busy
1622 -f: Do not free loop device (if a loop device has been used)
1628 -------------------------------
1632 Usage: uname [OPTION]...
1634 Print certain system information. With no OPTION, same as B<-s>.
1638 -a print all information
1639 -m the machine (hardware) type
1640 -n print the machine's network node hostname
1641 -r print the operating system release
1642 -s print the operating system name
1643 -p print the host processor type
1644 -v print the operating system version
1649 Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
1651 -------------------------------
1655 Usage: uniq [OPTION]... [INPUT [OUTPUT]]
1657 Discard all but one of successive identical lines from INPUT
1658 (or standard input), writing to OUTPUT (or standard output).
1662 $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
1667 -------------------------------
1671 Usage: update [options]
1673 Periodically flushes filesystem buffers.
1677 -S force use of sync(2) instead of flushing
1678 -s SECS call sync this often (default 30)
1679 -f SECS flush some buffers this often (default 5)
1681 -------------------------------
1687 Tells how long the system has been running since boot.
1692 1:55pm up 2:30, load average: 0.09, 0.04, 0.00
1694 -------------------------------
1700 Pauses for N microseconds.
1705 [pauses for 1 second]
1707 -------------------------------
1711 Usage: wc [OPTION]... [FILE]...
1713 Print line, word, and byte counts for each FILE, and a total line if
1714 more than one FILE is specified. With no FILE, read standard input.
1718 -c print the byte counts
1719 -l print the newline counts
1720 -L print the length of the longest line
1721 -w print the word counts
1726 31 46 1365 /etc/passwd
1728 -------------------------------
1734 Prints the user name associated with the current effective user id.
1741 -------------------------------
1745 Usage: yes [OPTION]... [STRING]...
1747 Repeatedly outputs a line with all specified STRING(s), or `y'.
1749 -------------------------------
1753 This is essentially an alias for invoking "gunzip B<-c>", where
1754 it decompresses the file inquestion and send the output to stdout.
1756 -------------------------------
1762 textutils(1), shellutils(1), etc...
1766 Erik Andersen <andersee@debian.org> <andersen@lineo.com>
1770 The following people have contributed code to BusyBox whether
1771 they know it or not.
1773 Erik Andersen <andersee@debian.org>
1777 John Beppu <beppu@lineo.com>
1781 Brian Candler <B.Candler@pobox.com>
1785 Randolph Chung <tausq@debian.org>
1789 Dave Cinege <dcinege@psychosis.com>
1793 Karl M. Hegbloom <karlheg@debian.org>
1797 John Lombardo <john@deltanet.com>
1801 Bruce Perens <bruce@perens.com>
1805 Linus Torvalds <torvalds@transmeta.com>
1809 Charles P. Wright <cpwright@villagenet.com>
1813 Enrique Zanardi <ezanardi@ull.es>
1819 # $Id: busybox.pod,v 1.20 2000/04/21 01:23:36 erik Exp $