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. The utilities in BusyBox generally have fewer options then
20 their full featured GNU cousins; however, the options that are included provide
21 the expected functionality and behave very much like their GNU counterparts.
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 mktemp, mnc, more, mount, mt, mv, nslookup, ping, poweroff, printf, ps, pwd,
64 reboot, rm, rmdir, rmmod, sed, setkeycodes, sh, sfdisk, sleep, sort, sync,
65 syslogd, swapon, swapoff, tail, tar, test, tee, touch, tr, true, tty, umount,
66 uname, uniq, update, uptime, usleep, wc, whoami, yes, zcat, [
68 -------------------------------
74 Usage: basename [file ...]
76 Strips directory path and suffixes from FILE(s).
80 $ basename /usr/local/bin/foo
82 $ basename /usr/local/bin/
85 -------------------------------
91 Concatenates FILE(s) and prints them to the standard output.
98 -------------------------------
102 Usage: chgrp [OPTION]... GROUP FILE...
104 Change the group membership of each FILE to GROUP.
108 -R change files and directories recursively
113 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
114 $ chgrp root /tmp/foo
116 -r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
118 -------------------------------
122 Usage: chmod [B<-R>] MODE[,MODE]... FILE...
124 Changes file access permissions for the specified FILE(s) (or directories).
125 Each MODE is defined by combining the letters for WHO has access to the file,
126 an OPERATOR for selecting how the permissions should be changed, and a
127 PERISSION for FILE(s) (or directories).
129 WHO may be chosen from
131 u User who owns the file
132 g Users in the file's Group
133 o Other users not in the file's group
136 OPERATOR may be chosen from
139 - Remove a permission
140 = Assign a permission
142 PERMISSION may be chosen from
146 x Execute (or access for directories)
147 s Set user (or group) ID bit
148 t Stickey bit (for directories prevents removing files by non-owners)
150 Alternately, permissions can be set numerically where the first three
151 numbers are calculated by adding the octal values, such as
157 An optional fourth digit can also be used to specify
165 -R Change files and directories recursively.
170 -rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
173 -rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
176 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
178 -------------------------------
182 Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
184 Changes the owner and/or group of each FILE to OWNER and/or GROUP.
188 -R Changes files and directories recursively
193 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
194 $ chown root /tmp/foo
196 -r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
197 $ chown root.root /tmp/foo
199 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
201 -------------------------------
205 Usage: chroot NEWROOT [COMMAND...]
207 Run COMMAND with root directory set to NEWROOT.
212 lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
213 $ mount /dev/hdc1 /mnt -t minix
216 -rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
218 -------------------------------
224 -------------------------------
230 Changes the foreground virtual terminal to /dev/ttyN
232 -------------------------------
236 Usage: cp [OPTION]... SOURCE DEST
238 or: cp [OPTION]... SOURCE... DIRECTORY
240 Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
246 -p Preserves file attributes if possable
247 -R Copies directories recursively
249 -------------------------------
253 Usage: date [OPTION]... [+FORMAT]
255 or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
257 Displays the current time in the given FORMAT, or sets the system date.
261 -R Outputs RFC-822 compliant date string
262 -s Sets time described by STRING
263 -u Prints or sets Coordinated Universal Time
268 Wed Apr 12 18:52:41 MDT 2000
270 -------------------------------
274 Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n]
276 Copy a file, converting and formatting according to options
278 if=FILE read from FILE instead of stdin
279 of=FILE write to FILE instead of stdout
280 bs=n read and write n bytes at a time
281 count=n copy only n input blocks
282 skip=n skip n input blocks
283 seek=n skip n output blocks
285 Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2)
289 $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
293 -------------------------------
297 Usage: df [filesystem ...]
299 Prints the filesystem space used and space available.
304 Filesystem 1k-blocks Used Available Use% Mounted on
305 /dev/sda3 8690864 8553540 137324 98% /
306 /dev/sda1 64216 36364 27852 57% /boot
308 Filesystem 1k-blocks Used Available Use% Mounted on
309 /dev/sda3 8690864 8553540 137324 98% /
311 -------------------------------
317 Strip non-directory suffix from file name
326 -------------------------------
330 Usage: dmesg [B<-c>] [B<-n> level] [B<-s> bufsize]
332 Print or controls the kernel ring buffer.
334 -------------------------------
338 Usage: du [OPTION]... [FILE]...
340 Summarize disk space used for each FILE and/or directory.
341 Disk space is printed in units of 1k (i.e. 1024 bytes).
345 -l count sizes many times if hard linked
346 -s display only a total for each argument
352 12 ./kernel-patches/CVS
362 -------------------------------
368 Dump utmp file format (pipe delimited) from FILE
373 $ dutmp /var/run/utmp
374 8|7||si|||0|0|0|955637625|760097|0
375 2|0|~|~~|reboot||0|0|0|955637625|782235|0
376 1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
377 8|125||l4|||0|0|0|955637629|998367|0
378 6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
379 6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
380 7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
382 -------------------------------
386 Usage: echo [-neE] [ARG ...]
388 Prints the specified ARGs to stdout
392 -n suppress trailing newline
393 -e interpret backslash-escaped characters (i.e. \t=tab etc)
394 -E disable interpretation of backslash-escaped characters
398 $ echo "Erik is cool"
400 $ echo -e "Erik\nis\ncool"
404 $ echo "Erik\nis\ncool"
407 -------------------------------
411 Returns an exit code of FALSE (1)
419 -------------------------------
423 Usage: fbset [options] [mode]
425 Show and modify frame buffer device settings
446 # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
447 geometry 1024 768 1024 768 16
448 timings 12714 128 32 16 4 128 4
450 rgba 5/11,6/5,5/0,0/0
453 -------------------------------
457 Usage: fdflush device
459 Force floppy disk drive to detect disk change
461 -------------------------------
465 Usage: find [PATH...] [EXPRESSION]
467 Search for files in a directory hierarchy. The default PATH is
468 the current directory; default EXPRESSION is '-print'
471 EXPRESSION may consist of:
473 -follow Dereference symbolic links.
474 -name PATTERN File name (leading directories removed) matches PATTERN.
475 -print print the full file name followed by a newline to stdout.
479 $ find / -name /etc/passwd
482 -------------------------------
488 Displays the amount of free and used memory in the system.
493 total used free shared buffers
494 Mem: 257628 248724 8904 59644 93124
495 Swap: 128516 8404 120112
496 Total: 386144 257128 129016
498 -------------------------------
502 Usage: freeramdisk DEVICE
504 Free all memory used by the specified ramdisk.
508 $ freeramdisk /dev/ram2
510 -------------------------------
516 Deallocates unused virtual terminal /dev/ttyN
518 -------------------------------
522 Usage: fsck.minix [B<-larvsmf>] /dev/name
524 Performs a consistency check for MINIX filesystems.
528 -l Lists all filenames
529 -r Perform interactive repairs
530 -a Perform automatic repairs
532 -s Outputs super-block information
533 -m Activates MINIX-like "mode not cleared" warnings
534 -f Force file system check.
536 -------------------------------
540 Usage: grep [OPTIONS]... PATTERN [FILE]...
542 Search for PATTERN in each FILE or standard input.
546 -h suppress the prefixing filename on output
547 -i ignore case distinctions
548 -n print line number with output lines
549 -q be quiet. Returns 0 if result was found, 1 otherwise
550 -v select non-matching lines
552 This version of grep matches full regular expresions.
556 $ grep root /etc/passwd
557 root:x:0:0:root:/root:/bin/bash
558 $ grep ^[rR]oo. /etc/passwd
559 root:x:0:0:root:/root:/bin/bash
561 -------------------------------
565 Usage: gunzip [OPTION]... FILE
567 Uncompress FILE (or standard input if FILE is '-').
571 -c Write output to standard output
572 -t Test compressed file integrity
576 $ ls -la /tmp/BusyBox*
577 -rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
578 $ gunzip /tmp/BusyBox-0.43.tar.gz
579 $ ls -la /tmp/BusyBox*
580 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
582 -------------------------------
586 Usage: gzip [OPTION]... FILE
588 Compress FILE with maximum compression.
589 When FILE is '-', reads standard input. Implies B<-c>.
593 -c Write output to standard output instead of FILE.gz
597 $ ls -la /tmp/BusyBox*
598 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
599 $ gzip /tmp/BusyBox-0.43.tar
600 $ ls -la /tmp/BusyBox*
601 -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
604 -------------------------------
610 This comand halts the system.
612 -------------------------------
616 Usage: head [OPTION] [FILE]...
618 Print first 10 lines of each FILE to standard output.
619 With more than one FILE, precede each with a header giving the
620 file name. With no FILE, or when FILE is -, read standard input.
624 -n NUM Print first NUM lines instead of first 10
628 $ head -n 2 /etc/passwd
629 root:x:0:0:root:/root:/bin/bash
630 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
632 -------------------------------
638 Prints out a unique 32-bit identifier for the current
639 machine. The 32-bit identifier is intended to be unique
640 among all UNIX systems in existence.
642 -------------------------------
646 Usage: hostname [OPTION] {hostname | B<-F> file}
648 Get or set the hostname or DNS domain name. If a hostname is given
649 (or a file with the B<-F> parameter), the host name will be set.
654 -i Addresses for the hostname
656 -F FILE Use the contents of FILE to specify the hostname
663 -------------------------------
669 Init is the parent of all processes.
671 This version of init is designed to be run only by the kernel.
673 BusyBox init doesn't support multiple runlevels. The runlevels field of
674 the /etc/inittab file is completely ignored by BusyBox init. If you want
675 runlevels, use sysvinit.
677 BusyBox init works just fine without an inittab. If no inittab is found,
678 it has the following default behavior:
680 ::sysinit:/etc/init.d/rcS
683 if it detects that /dev/console is _not_ a serial console, it will also run:
685 tty2::askfirst:/bin/sh
687 If you choose to use an /etc/inittab file, the inittab entry format is as follows:
689 <id>:<runlevels>:<action>:<process>
693 WARNING: This field has a non-traditional meaning for BusyBox init!
694 The id field is used by BusyBox init to specify the controlling tty for
695 the specified process to run on. The contents of this field are
696 appended to "/dev/" and used as-is. There is no need for this field to
697 be unique, although if it isn't you may have strange results. If this
698 field is left blank, it is completely ignored. Also note that if
699 BusyBox detects that a serial console is in use, then all entries
700 containing non-empty id fields will _not_ be run. BusyBox init does
701 nothing with utmp. We don't need no stinkin' utmp.
705 The runlevels field is completely ignored.
709 Valid actions include: sysinit, respawn, askfirst, wait,
710 once, and ctrlaltdel.
712 askfirst acts just like respawn, but before running the specified
713 process it displays the line "Please press Enter to activate this
714 console." and then waits for the user to press enter before starting
715 the specified process.
717 Unrecognised actions (like initdefault) will cause init to emit
718 an error message, and then go along with its business.
722 Specifies the process to be executed and it's command line.
725 Example /etc/inittab file:
727 # This is run first except when booting in single-user mode.
729 ::sysinit:/etc/init.d/rcS
731 # /bin/sh invocations on selected ttys
733 # Start an "askfirst" shell on the console (whatever that may be)
735 # Start an "askfirst" shell on /dev/tty2
736 tty2::askfirst:/bin/sh
738 # /sbin/getty invocations for selected ttys
740 tty4::respawn:/sbin/getty 38400 tty4
741 tty5::respawn:/sbin/getty 38400 tty5
744 # Example of how to put a getty on a serial line (for a terminal)
746 #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
747 #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
749 # Example how to put a getty on a modem line.
750 #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
752 # Stuff to do before rebooting
753 ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1
754 ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1
756 -------------------------------
760 Usage: kill [B<-signal>] process-id [process-id ...]
762 Send a signal (default is SIGTERM) to the specified process(es).
766 -l List all signal names and numbers.
771 252 root root S [apache]
772 263 www-data www-data S [apache]
773 264 www-data www-data S [apache]
774 265 www-data www-data S [apache]
775 266 www-data www-data S [apache]
776 267 www-data www-data S [apache]
779 -------------------------------
783 Usage: killall [B<-signal>] process-name [process-name ...]
785 Send a signal (default is SIGTERM) to the specified process(es).
789 -l List all signal names and numbers.
795 -------------------------------
801 Prints out the length of the specified string.
808 -------------------------------
812 Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY
814 Create a link named LINK_NAME or DIRECTORY to the specified TARGET
818 -s make symbolic links instead of hard links
819 -f remove existing destination files
823 $ ln -s BusyBox /tmp/ls
825 lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
827 -------------------------------
833 Loads an acm from standard input.
837 $ loadacm < /etc/i18n/acmname
839 -------------------------------
845 Loads a console font from standard input.
849 $ loadfont < /etc/i18n/fontname
851 -------------------------------
857 Loads a binary keyboard translation table from standard input.
861 $ loadkmap < /etc/i18n/lang-keymap
863 -------------------------------
867 Usage: logger [OPTION]... [MESSAGE]
869 Write MESSAGE to the system log. If MESSAGE is '-', log stdin.
873 -s Log to stderr as well as the system log.
874 -t Log using the specified tag (defaults to user name).
875 -p Enter the message with the specified priority.
876 This may be numerical or a ``facility.level'' pair.
882 -------------------------------
888 Print the name of the current user.
895 -------------------------------
899 Usage: ls [B<-1acdelnpuxACF>] [filenames...]
903 -a do not hide entries starting with .
904 -c with -l: show ctime (the time of last
905 modification of file status information)
906 -d list directory entries instead of contents
907 -e list both full date and full time
908 -l use a long listing format
909 -n list numeric UIDs and GIDs instead of names
910 -p append indicator (one of /=@|) to entries
911 -u with -l: show access time (the time of last
913 -x list entries by lines instead of by columns
914 -A do not list implied . and ..
915 -C list entries by columns
916 -F append indicator (one of */=@|) to entries
918 -------------------------------
924 Shows a list of all currently loaded kernel modules.
926 -------------------------------
930 Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
932 Creates a range of block or character special files
936 b: Make a block (buffered) device.
937 c or u: Make a character (un-buffered) device.
938 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
940 FIRST specifies the number appended to NAME to create the first device.
941 LAST specifies the number of the last item that should be created.
942 If 's' is the last argument, the base device is created as well.
946 $ makedevs /dev/ttyS c 4 66 2 63
947 [creates ttyS2-ttyS63]
948 $ makedevs /dev/hda b 3 0 0 8 s
949 [creates hda,hda1-hda8]
951 -------------------------------
955 Usage: math expression ...
957 This is a Tiny RPN calculator that understands the
958 following operations: +, -, /, *, and, or, not, eor.
964 $ math 8 8 \* 2 2 + /
971 -------------------------------
975 Usage: mkdir [OPTION] DIRECTORY...
977 Create the DIRECTORY(ies), if they do not already exist
981 -m set permission mode (as in chmod), not rwxrwxrwx - umask
982 -p no error if dir exists, make parent directories as needed
988 /tmp/foo: File exists
989 $ mkdir /tmp/foo/bar/baz
990 /tmp/foo/bar/baz: No such file or directory
991 $ mkdir -p /tmp/foo/bar/baz
993 -------------------------------
997 Usage: mkfifo [OPTIONS] name
999 Creates a named pipe (identical to 'mknod name p')
1003 -m create the pipe using the specified mode (default a=rw)
1005 -------------------------------
1009 Usage: mkfs.minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
1011 Make a MINIX filesystem.
1015 -c Check the device for bad blocks
1016 -n [14|30] Specify the maximum length of filenames
1017 -i Specify the number of inodes for the filesystem
1018 -l FILENAME Read the bad blocks list from FILENAME
1019 -v Make a Minix version 2 filesystem
1021 -------------------------------
1025 Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR
1027 Create a special file (block, character, or pipe).
1031 -m create the special file using the specified mode (default a=rw)
1034 b: Make a block (buffered) device.
1035 c or u: Make a character (un-buffered) device.
1036 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
1040 $ mknod /dev/fd0 b 2 0
1041 $ mknod -m 644 /tmp/pipe p
1043 -------------------------------
1047 Usage: mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
1049 Prepare a disk partition to be used as a swap partition.
1053 -c Check for read-ability.
1054 -v0 Make version 0 swap [max 128 Megs].
1055 -v1 Make version 1 swap [big!] (default for kernels > 2.1.117).
1056 block-count Number of block to use (default is entire partition).
1058 -------------------------------
1062 Usage: mktemp [B<-q>] TEMPLATE
1064 Creates a temporary file with its name based on TEMPLATE.
1065 TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).
1069 $ mktemp /tmp/temp.XXXXXX
1071 $ ls -la /tmp/temp.mWiLjM
1072 -rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM
1074 -------------------------------
1078 Usage: mnc [IP] [port]
1080 mini-netcat opens a pipe to IP:port
1084 $ mnc foobar.somedomain.com 25
1085 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
1087 214-Commands supported:
1088 214- HELO EHLO MAIL RCPT DATA AUTH
1089 214 NOOP QUIT RSET HELP
1091 221 foobar closing connection
1093 -------------------------------
1097 Usage: more [file ...]
1099 More is a filter for paging through text one screenful at a time.
1105 -------------------------------
1109 Usage: mount [flags]
1110 mount [flags] device directory [B<-o> options,more-options]
1114 -a: Mount all file systems in fstab.
1115 -o option: One of many filesystem options, listed below.
1116 -r: Mount the filesystem read-only.
1117 -t filesystem-type: Specify the filesystem type.
1118 -w: Mount for reading and writing (default).
1120 Options for use with the "B<-o>" flag:
1122 async / sync: Writes are asynchronous / synchronous.
1123 dev / nodev: Allow use of special device files / disallow them.
1124 exec / noexec: Allow use of executable files / disallow them.
1125 loop: Mounts a file via loop device.
1126 suid / nosuid: Allow set-user-id-root programs / disallow them.
1127 remount: Re-mount a currently-mounted filesystem, changing its flags.
1128 ro / rw: Mount for read-only / read-write.
1129 There are EVEN MORE flags that are specific to each filesystem.
1130 You'll have to see the written documentation for those.
1135 /dev/hda3 on / type minix (rw)
1136 proc on /proc type proc (rw)
1137 devpts on /dev/pts type devpts (rw)
1138 $ mount /dev/fd0 /mnt -t msdos -o ro
1139 $ mount /tmp/diskimage /opt -t ext2 -o loop
1141 -------------------------------
1145 Usage: mt [B<-f> device] opcode value
1147 Control magnetic tape drive operation
1149 -------------------------------
1153 Usage: mv SOURCE DEST
1155 or: mv SOURCE... DIRECTORY
1157 Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
1161 $ mv /tmp/foo /bin/bar
1163 -------------------------------
1167 Usage: nslookup [HOST]
1169 Queries the nameserver for the IP address of the given HOST
1173 $ nslookup localhost
1180 -------------------------------
1184 Usage: ping [OPTION]... host
1186 Send ICMP ECHO_REQUEST packets to network hosts.
1190 -c COUNT Send only COUNT pings.
1191 -q Quiet mode, only displays output at start
1196 PING slag (127.0.0.1): 56 data bytes
1197 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
1199 --- debian ping statistics ---
1200 1 packets transmitted, 1 packets received, 0% packet loss
1201 round-trip min/avg/max = 20.1/20.1/20.1 ms
1203 -------------------------------
1207 Shuts down the system, and requests that the kernel turn off power upon halting.
1209 -------------------------------
1213 Usage: printf format [argument...]
1215 Formats and prints the given data in a manner similar to the C printf command.
1219 $ printf "Val=%d\n" 5
1222 -------------------------------
1228 Report process status
1230 This version of ps accepts no options.
1235 PID Uid Gid State Command
1237 2 root root S [kflushd]
1238 3 root root S [kupdate]
1239 4 root root S [kpiod]
1240 5 root root S [kswapd]
1241 742 andersen andersen S [bash]
1242 743 andersen andersen S -bash
1243 745 root root S [getty]
1244 2990 andersen andersen R ps
1246 -------------------------------
1250 Prints the full filename of the current working directory.
1257 -------------------------------
1261 Instructs the kernel to reboot the system.
1263 -------------------------------
1267 Usage: rm [OPTION]... FILE...
1269 Remove (unlink) the FILE(s).
1273 -f remove existing destinations, never prompt
1274 -r or -R remove the contents of directories recursively
1280 -------------------------------
1284 Usage: rmdir [OPTION]... DIRECTORY...
1286 Remove the DIRECTORY(ies), if they are empty.
1292 -------------------------------
1296 Usage: rmmod [OPTION]... [MODULE]...
1298 Unloads the specified kernel modules from the kernel.
1302 -a Try to remove all unused kernel modules.
1308 -------------------------------
1312 Usage: sed [B<-n>] B<-e> script [file...]
1314 Allowed sed scripts come in the following form:
1318 where address ADDR can be:
1319 NUMBER Match specified line number
1321 /REGEXP/ Match specified regexp
1322 (! inverts the meaning of the match)
1325 s/regexp/replacement/[igp]
1326 which attempt to match regexp against the pattern space
1327 and if successful replaces the matched portion with replacement.
1330 which appends TEXT after the pattern space
1334 -e add the script to the commands to be executed
1335 -n suppress automatic printing of pattern space
1337 This version of sed matches full regular expresions.
1341 $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
1344 -------------------------------
1348 Usage: setkeycodes SCANCODE KEYCODE ...
1350 Set entries into the kernel's scancode-to-keycode map,
1351 allowing unusual keyboards to generate usable keycodes.
1353 SCANCODE may be either xx or e0xx (hexadecimal),
1354 and KEYCODE is given in decimal
1358 # setkeycodes e030 127
1360 -------------------------------
1366 lash -- the BusyBox LAme SHell (command interpreter)
1368 This command does not yet have proper documentation.
1370 Use lash just as you would use any other shell. It properly handles pipes,
1371 redirects, job control, can be used as the shell for scripts (#!/bin/sh), and
1372 has a sufficient set of builtins to do what is needed. It does not (yet)
1373 support Bourne Shell syntax. If you need things like "if-then-else", "while",
1374 and such, use ash or bash. If you just need a very simple and extremely small
1375 shell, this will do the job.
1377 -------------------------------
1381 Usage: sfdisk [options] device ...
1383 device: something like /dev/hda or /dev/sda
1387 -s [or --show-size]: list size of a partition
1388 -c [or --id]: print or change partition Id
1389 -l [or --list]: list partitions of each device
1390 -d [or --dump]: idem, but in a format suitable for later input
1391 -i [or --increment]: number cylinders etc. from 1 instead of from 0
1392 -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/cylinders/MB
1393 -T [or --list-types]:list the known partition types
1394 -D [or --DOS]: for DOS-compatibility: waste a little space
1395 -R [or --re-read]: make kernel reread partition table
1396 -N# : change only the partition with number #
1397 -n : do not actually write to disk
1398 -O file : save the sectors that will be overwritten to file
1399 -I file : restore these sectors again
1400 -v [or --version]: print version
1401 -? [or --help]: print this message
1405 -g [or --show-geometry]: print the kernel's idea of the geometry
1406 -x [or --show-extended]: also list extended partitions on output
1408 or expect descriptors for them on input
1409 -L [or --Linux]: do not complain about things irrelevant for Linux
1410 -q [or --quiet]: suppress warning messages
1411 You can override the detected geometry using:
1412 -C# [or --cylinders #]:set the number of cylinders to use
1413 -H# [or --heads #]: set the number of heads to use
1414 -S# [or --sectors #]: set the number of sectors to use
1416 You can disable all consistency checking with:
1418 -f [or --force]: do what I say, even if it is stupid
1420 -------------------------------
1426 Pause for N seconds.
1431 [2 second delay results]
1433 -------------------------------
1437 Usage: sort [B<-n>] [B<-r>] [FILE]...
1439 Sorts lines of text in the specified files
1443 $ echo -e "e\nf\nb\nd\nc\na" | sort
1451 -------------------------------
1457 Write all buffered filesystem blocks to disk.
1459 -------------------------------
1463 Usage: syslogd [OPTION]...
1465 Linux system and kernel (provides klogd) logging utility.
1466 Note that this version of syslogd/klogd ignores /etc/syslog.conf.
1470 -m Change the mark timestamp interval. default=20min. 0=off
1471 -n Do not fork into the background (for when run by init)
1472 -K Do not start up the klogd process (by default syslogd spawns klogd).
1473 -O Specify an alternate log file. default=/var/log/messages
1475 -------------------------------
1479 Usage: swapon [OPTION] [device]
1481 Start swapping virtual memory pages on the given device.
1485 -a Start swapping on all swap devices
1487 -------------------------------
1491 Usage: swapoff [OPTION] [device]
1493 Stop swapping virtual memory pages on the given device.
1497 -a Stop swapping on all swap devices
1499 -------------------------------
1503 Usage: tail [OPTION] [FILE]...
1505 Print last 10 lines of each FILE to standard output.
1506 With more than one FILE, precede each with a header giving the
1507 file name. With no FILE, or when FILE is -, read standard input.
1511 -n NUM Print last NUM lines instead of first 10
1512 -f Output data as the file grows. This version
1513 of 'tail -f' supports only one file at a time.
1517 $ tail -n 1 /etc/resolv.conf
1520 -------------------------------
1524 Usage: tar -[cxtvO] [B<--exclude> File] [B<-f> tarFile] [FILE] ...
1526 Create, extract, or list files from a tar file. Note that
1527 this version of tar treats hard links as separate files.
1529 Main operation mode:
1537 f name of tarfile or "-" for stdin
1539 --exclude file to exclude
1543 v verbosely list files processed
1547 $ zcat /tmp/tarball.tar.gz | tar -xf -
1548 $ tar -cf /tmp/tarball.tar /usr/local
1550 -------------------------------
1554 Usage: test EXPRESSION
1557 Checks file types and compares values returning an exit
1558 code determined by the value of EXPRESSION.
1575 -------------------------------
1579 Usage: tee [OPTION]... [FILE]...
1581 Copy standard input to each FILE, and also to standard output.
1585 -a append to the given FILEs, do not overwrite
1589 $ echo "Hello" | tee /tmp/foo
1593 -------------------------------
1597 Usage: touch [B<-c>] file [file ...]
1599 Update the last-modified date on (or create) the selected file[s].
1604 /bin/ls: /tmp/foo: No such file or directory
1607 -rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo
1609 -------------------------------
1613 Usage: tr [-cds] STRING1 [STRING2]
1615 Translate, squeeze, and/or delete characters from
1616 standard input, writing to standard output.
1620 -c take complement of STRING1
1621 -d delete input characters coded STRING1
1622 -s squeeze multiple output characters of STRING2 into one character
1626 $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
1629 -------------------------------
1633 Returns an exit code of TRUE (0)
1641 -------------------------------
1647 Print the file name of the terminal connected to standard input.
1651 -s print nothing, only return an exit status
1658 -------------------------------
1662 Usage: umount [flags] filesystem|directory
1666 -a: Unmount all file systems
1667 -r: Try to remount devices as read-only if mount is busy
1668 -f: Do not free loop device (if a loop device has been used)
1674 -------------------------------
1678 Usage: uname [OPTION]...
1680 Print certain system information. With no OPTION, same as B<-s>.
1684 -a print all information
1685 -m the machine (hardware) type
1686 -n print the machine's network node hostname
1687 -r print the operating system release
1688 -s print the operating system name
1689 -p print the host processor type
1690 -v print the operating system version
1695 Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
1697 -------------------------------
1701 Usage: uniq [OPTION]... [INPUT [OUTPUT]]
1703 Discard all but one of successive identical lines from INPUT
1704 (or standard input), writing to OUTPUT (or standard output).
1708 $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
1713 -------------------------------
1717 Usage: update [options]
1719 Periodically flushes filesystem buffers.
1723 -S force use of sync(2) instead of flushing
1724 -s SECS call sync this often (default 30)
1725 -f SECS flush some buffers this often (default 5)
1727 -------------------------------
1733 Tells how long the system has been running since boot.
1738 1:55pm up 2:30, load average: 0.09, 0.04, 0.00
1740 -------------------------------
1746 Pauses for N microseconds.
1751 [pauses for 1 second]
1753 -------------------------------
1757 Usage: wc [OPTION]... [FILE]...
1759 Print line, word, and byte counts for each FILE, and a total line if
1760 more than one FILE is specified. With no FILE, read standard input.
1764 -c print the byte counts
1765 -l print the newline counts
1766 -L print the length of the longest line
1767 -w print the word counts
1772 31 46 1365 /etc/passwd
1774 -------------------------------
1780 Prints the user name associated with the current effective user id.
1787 -------------------------------
1791 Usage: yes [OPTION]... [STRING]...
1793 Repeatedly outputs a line with all specified STRING(s), or `y'.
1795 -------------------------------
1799 This is essentially an alias for invoking "gunzip B<-c>", where
1800 it decompresses the file inquestion and send the output to stdout.
1802 -------------------------------
1808 GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
1809 library for the local environment, and to configure how it reads system data,
1810 such as passwords and group information. BusyBox has made it Policy that it
1811 will never use NSS, and will never use and libc calls that make use of NSS.
1812 This allows you to run an embedded system without the need for installing an
1813 /etc/nsswitch.conf file and without and /lib/libnss_* libraries installed.
1815 If you are using a system that is using a remote LDAP server for authentication
1816 via GNU libc NSS, and you want to use BusyBox, then you will need to adjust the
1817 BusyBox source. Chances are though, that if you have enough space to install
1818 of that stuff on your system, then you probably want the full GNU utilities.
1822 textutils(1), shellutils(1), etc...
1826 Erik Andersen <andersee@debian.org> <andersen@lineo.com>
1830 The following people have contributed code to BusyBox whether
1831 they know it or not.
1833 Erik Andersen <andersee@debian.org>
1837 John Beppu <beppu@lineo.com>
1841 Brian Candler <B.Candler@pobox.com>
1845 Randolph Chung <tausq@debian.org>
1849 Dave Cinege <dcinege@psychosis.com>
1853 Karl M. Hegbloom <karlheg@debian.org>
1857 John Lombardo <john@deltanet.com>
1861 Bruce Perens <bruce@perens.com>
1865 Linus Torvalds <torvalds@transmeta.com>
1869 Charles P. Wright <cpwright@villagenet.com>
1873 Enrique Zanardi <ezanardi@ull.es>
1879 # $Id: busybox.pod,v 1.27 2000/05/02 06:40:02 erik Exp $