blob: e12c8243ca8c414b2adafa358b55450ffa5f9fa9 [file] [log] [blame]
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001# vi: set sw=4 ts=4:
John Beppu08e7f752000-04-13 03:22:20 +00002
John Beppu3a1b6be2000-01-18 15:45:59 +00003=head1 NAME
4
Erik Andersencf8d38a2000-04-21 01:23:36 +00005BusyBox - The Swiss Army Knife of Embedded Linux
John Beppu3a1b6be2000-01-18 15:45:59 +00006
Erik Andersencf8d38a2000-04-21 01:23:36 +00007=head1 SYNTAX
John Beppu3a1b6be2000-01-18 15:45:59 +00008
Erik Andersencf8d38a2000-04-21 01:23:36 +00009 BusyBox <function> [arguments...] # or
John Beppu46a4e762000-01-18 22:33:11 +000010
11 <function> [arguments...] # if symlinked
John Beppu3a1b6be2000-01-18 15:45:59 +000012
13=head1 DESCRIPTION
14
Erik Andersencf8d38a2000-04-21 01:23:36 +000015BusyBox combines tiny versions of many common UNIX utilities into a single
16small executable. It provides minimalist replacements for most of the utilities
17you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
18tar, etc. BusyBox provides a fairly complete POSIX environment for any small
Eric Andersen98cd53e2000-06-16 19:56:44 +000019or embedded system. The utilities in BusyBox generally have fewer options than
Eric Andersenf2fffef2000-06-05 17:23:06 +000020their full-featured GNU cousins; however, the options that are included provide
Pavel Roskin1a804e42000-06-21 21:38:00 +000021the expected functionality and behave very much like their GNU counterparts.
Erik Andersen62dc17a2000-04-13 01:18:23 +000022
Erik Andersencf8d38a2000-04-21 01:23:36 +000023BusyBox has been written with size-optimization and limited resources in mind.
24It is also extremely modular so you can easily include or exclude commands (or
25features) at compile time. This makes it easy to customize your embedded
26systems. To create a working system, just add a kernel, a shell (such as ash),
27and an editor (such as elvis-tiny or ae).
28
29=head1 USAGE
30
31When you create a link to BusyBox for the function you wish to use, when BusyBox
32is called using that link it will behave as if the command itself has been invoked.
33
34For example, entering
35
36 ln -s ./BusyBox ls
Erik Andersen62dc17a2000-04-13 01:18:23 +000037 ./ls
38
39will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
Pavel Roskin1a804e42000-06-21 21:38:00 +000040into BusyBox).
Erik Andersen62dc17a2000-04-13 01:18:23 +000041
Erik Andersencf8d38a2000-04-21 01:23:36 +000042You can also invoke BusyBox by issuing the command as an argument on the
43command line. For example, entering
44
45 ./BusyBox ls
Erik Andersen62dc17a2000-04-13 01:18:23 +000046
47will also cause BusyBox to behave as 'ls'.
John Beppu08fe43d2000-01-19 12:39:16 +000048
Erik Anderseneef65802000-04-19 05:12:02 +000049=head1 COMMON OPTIONS
50
51Most BusyBox commands support the B<--help> option to provide a
52terse runtime description of their behavior.
53
John Beppu46a4e762000-01-18 22:33:11 +000054=head1 COMMANDS
55
Erik Andersen62dc17a2000-04-13 01:18:23 +000056Currently defined functions include:
57
Eric Andersencff3fe32000-09-20 19:22:26 +000058ar, basename, cat, chgrp, chmod, chown, chroot, chvt, clear, cp, cut, date, dc,
59dd, deallocvt, df, dirname, dmesg, dos2unix, du, dumpkmap, dutmp, echo, false,
60fbset, fdflush, find, free, freeramdisk, fsck.minix, getopt, grep, gunzip,
61gzip, halt, head, hostid, hostname, id, init, insmod, kill, killall, length,
62ln, loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs, mkdir,
63mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, nslookup,
64ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm, rmdir,
65rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync, syslogd, tail,
66tar, tee, telnet, test, touch, tr, true, tty, umount, uname, uniq, unix2dos,
67unrpm, update, uptime, usleep, uudecode, uuencode, wc, which, whoami, yes,
68zcat, [
Erik Andersen62dc17a2000-04-13 01:18:23 +000069
Erik Andersena19bc642000-05-02 06:40:02 +000070-------------------------------
71
John Beppu46a4e762000-01-18 22:33:11 +000072=over 4
73
Eric Andersen86ab8a32000-06-02 03:21:42 +000074=item ar
75
76Usage: ar [optxvV] archive [filenames]
77
78Extract or list files from an ar archive.
79
80Options:
81
82 o preserve original dates
83 p extract to stdout
84 t list
85 x extract
86 v verbosely list files processed
87
88-------------------------------
89
Erik Andersen62dc17a2000-04-13 01:18:23 +000090=item basename
91
Erik Andersenac130e12000-05-10 05:00:31 +000092Usage: basename FILE [SUFFIX]
Erik Andersen62dc17a2000-04-13 01:18:23 +000093
Erik Andersenac130e12000-05-10 05:00:31 +000094Strips directory path and suffixes from FILE.
95If specified, also removes any trailing SUFFIX.
Erik Andersen62dc17a2000-04-13 01:18:23 +000096
Pavel Roskin1a804e42000-06-21 21:38:00 +000097Example:
Erik Andersen62dc17a2000-04-13 01:18:23 +000098
99 $ basename /usr/local/bin/foo
100 foo
101 $ basename /usr/local/bin/
102 bin
Erik Andersenac130e12000-05-10 05:00:31 +0000103 $ basename /foo/bar.txt .txt
104 bar
Erik Andersen62dc17a2000-04-13 01:18:23 +0000105
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000106-------------------------------
107
Erik Andersena6c75222000-04-18 00:00:52 +0000108=item cat
John Beppu46a4e762000-01-18 22:33:11 +0000109
Erik Andersencf8d38a2000-04-21 01:23:36 +0000110Usage: cat [FILE ...]
Erik Andersen62dc17a2000-04-13 01:18:23 +0000111
Erik Andersencf8d38a2000-04-21 01:23:36 +0000112Concatenates FILE(s) and prints them to the standard output.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000113
114Example:
115
116 $ cat /proc/uptime
117 110716.72 17.67
John Beppu4581b4c2000-01-19 15:04:41 +0000118
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000119-------------------------------
120
Erik Andersen5e1189e2000-04-15 16:34:54 +0000121=item chgrp
122
123Usage: chgrp [OPTION]... GROUP FILE...
124
125Change the group membership of each FILE to GROUP.
Erik Andersen26702fe2000-04-17 16:44:46 +0000126
Erik Andersen5e1189e2000-04-15 16:34:54 +0000127Options:
128
129 -R change files and directories recursively
Erik Andersen26702fe2000-04-17 16:44:46 +0000130
Erik Andersen5e1189e2000-04-15 16:34:54 +0000131Example:
132
133 $ ls -l /tmp/foo
134 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
135 $ chgrp root /tmp/foo
136 $ ls -l /tmp/foo
137 -r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
138
139-------------------------------
140
John Beppu46a4e762000-01-18 22:33:11 +0000141=item chmod
142
John Beppuf17792c2000-04-13 03:16:01 +0000143Usage: chmod [B<-R>] MODE[,MODE]... FILE...
John Beppu4581b4c2000-01-19 15:04:41 +0000144
Erik Andersencf8d38a2000-04-21 01:23:36 +0000145Changes file access permissions for the specified FILE(s) (or directories).
Erik Andersen62dc17a2000-04-13 01:18:23 +0000146Each MODE is defined by combining the letters for WHO has access to the file,
147an OPERATOR for selecting how the permissions should be changed, and a
Eric Andersen98cd53e2000-06-16 19:56:44 +0000148PERMISSION for FILE(s) (or directories).
Erik Andersen62dc17a2000-04-13 01:18:23 +0000149
Erik Andersencf8d38a2000-04-21 01:23:36 +0000150WHO may be chosen from
Erik Andersen62dc17a2000-04-13 01:18:23 +0000151
Erik Andersencf8d38a2000-04-21 01:23:36 +0000152 u User who owns the file
153 g Users in the file's Group
Erik Andersen62dc17a2000-04-13 01:18:23 +0000154 o Other users not in the file's group
155 a All users
156
Erik Andersencf8d38a2000-04-21 01:23:36 +0000157OPERATOR may be chosen from
Erik Andersen62dc17a2000-04-13 01:18:23 +0000158
Erik Andersencf8d38a2000-04-21 01:23:36 +0000159 + Add a permission
160 - Remove a permission
161 = Assign a permission
Pavel Roskin1a804e42000-06-21 21:38:00 +0000162
Erik Andersencf8d38a2000-04-21 01:23:36 +0000163PERMISSION may be chosen from
Erik Andersen62dc17a2000-04-13 01:18:23 +0000164
Erik Andersencf8d38a2000-04-21 01:23:36 +0000165 r Read
Erik Andersen62dc17a2000-04-13 01:18:23 +0000166 w Write
Erik Andersencf8d38a2000-04-21 01:23:36 +0000167 x Execute (or access for directories)
Erik Andersen62dc17a2000-04-13 01:18:23 +0000168 s Set user (or group) ID bit
Eric Andersen98cd53e2000-06-16 19:56:44 +0000169 t Sticky bit (for directories prevents removing files by non-owners)
Erik Andersen62dc17a2000-04-13 01:18:23 +0000170
Erik Andersencf8d38a2000-04-21 01:23:36 +0000171Alternately, permissions can be set numerically where the first three
172numbers are calculated by adding the octal values, such as
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000173
Erik Andersen62dc17a2000-04-13 01:18:23 +0000174 4 Read
175 2 Write
Erik Andersencf8d38a2000-04-21 01:23:36 +0000176 1 Execute
Erik Andersen62dc17a2000-04-13 01:18:23 +0000177
Erik Andersencf8d38a2000-04-21 01:23:36 +0000178An optional fourth digit can also be used to specify
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000179
Erik Andersen62dc17a2000-04-13 01:18:23 +0000180 4 Set user ID
181 2 Set group ID
Eric Andersen98cd53e2000-06-16 19:56:44 +0000182 1 Sticky bit
Erik Andersen62dc17a2000-04-13 01:18:23 +0000183
John Beppu4581b4c2000-01-19 15:04:41 +0000184Options:
185
Erik Andersencf8d38a2000-04-21 01:23:36 +0000186 -R Change files and directories recursively.
Pavel Roskin1a804e42000-06-21 21:38:00 +0000187
Erik Andersen62dc17a2000-04-13 01:18:23 +0000188Example:
189
190 $ ls -l /tmp/foo
191 -rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
192 $ chmod u+x /tmp/foo
193 $ ls -l /tmp/foo
194 -rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
195 $ chmod 444 /tmp/foo
196 $ ls -l /tmp/foo
197 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
John Beppu4581b4c2000-01-19 15:04:41 +0000198
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000199-------------------------------
200
John Beppu46a4e762000-01-18 22:33:11 +0000201=item chown
202
Erik Andersencf8d38a2000-04-21 01:23:36 +0000203Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
John Beppu4581b4c2000-01-19 15:04:41 +0000204
Erik Andersen62dc17a2000-04-13 01:18:23 +0000205Changes the owner and/or group of each FILE to OWNER and/or GROUP.
John Beppu5a50def2000-04-17 17:46:46 +0000206
John Beppu4581b4c2000-01-19 15:04:41 +0000207Options:
208
Erik Andersencf8d38a2000-04-21 01:23:36 +0000209 -R Changes files and directories recursively
Erik Andersen62dc17a2000-04-13 01:18:23 +0000210
211Example:
212
213 $ ls -l /tmp/foo
214 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
215 $ chown root /tmp/foo
216 $ ls -l /tmp/foo
217 -r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
218 $ chown root.root /tmp/foo
219 ls -l /tmp/foo
220 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
John Beppu4581b4c2000-01-19 15:04:41 +0000221
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000222-------------------------------
223
John Beppu46a4e762000-01-18 22:33:11 +0000224=item chroot
225
John Beppu4581b4c2000-01-19 15:04:41 +0000226Usage: chroot NEWROOT [COMMAND...]
227
228Run COMMAND with root directory set to NEWROOT.
Pavel Roskin1a804e42000-06-21 21:38:00 +0000229
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000230Example:
Erik Andersen62dc17a2000-04-13 01:18:23 +0000231
232 $ ls -l /bin/ls
Erik Andersencf8d38a2000-04-21 01:23:36 +0000233 lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
Erik Andersen62dc17a2000-04-13 01:18:23 +0000234 $ mount /dev/hdc1 /mnt -t minix
235 $ chroot /mnt
236 $ ls -l /bin/ls
237 -rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
John Beppu4581b4c2000-01-19 15:04:41 +0000238
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000239-------------------------------
240
John Beppu46a4e762000-01-18 22:33:11 +0000241=item chvt
242
John Beppu4581b4c2000-01-19 15:04:41 +0000243Usage: chvt N
244
Erik Andersencf8d38a2000-04-21 01:23:36 +0000245Changes the foreground virtual terminal to /dev/ttyN
John Beppu50ed0672000-04-13 23:44:04 +0000246
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000247-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +0000248
Eric Andersen028fb622000-07-04 20:07:13 +0000249=item clear
250
251Clears the screen.
252
253-------------------------------
254
John Beppu46a4e762000-01-18 22:33:11 +0000255=item cp
256
John Beppu4581b4c2000-01-19 15:04:41 +0000257Usage: cp [OPTION]... SOURCE DEST
258
Erik Andersen62dc17a2000-04-13 01:18:23 +0000259 or: cp [OPTION]... SOURCE... DIRECTORY
John Beppu4581b4c2000-01-19 15:04:41 +0000260
Erik Andersencf8d38a2000-04-21 01:23:36 +0000261Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
John Beppu4581b4c2000-01-19 15:04:41 +0000262
Erik Andersene31c0662000-05-02 05:32:07 +0000263Options:
264
Erik Andersencf8d38a2000-04-21 01:23:36 +0000265 -a Same as -dpR
266 -d Preserves links
Eric Andersen98cd53e2000-06-16 19:56:44 +0000267 -p Preserves file attributes if possible
Erik Andersencf8d38a2000-04-21 01:23:36 +0000268 -R Copies directories recursively
John Beppu4581b4c2000-01-19 15:04:41 +0000269
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000270-------------------------------
271
Erik Andersen73c8c9c2000-05-13 05:36:13 +0000272=item cut
273
274Usage: cut [OPTION]... [FILE]...
275
276Prints selected fields from each input FILE to standard output.
277
278Options:
279
Eric Andersen1386e702000-06-26 12:14:30 +0000280 -b LIST Output only bytes from LIST
281 -c LIST Output only characters from LIST
282 -d CHAR Use CHAR instead of tab as the field delimiter
Pavel Roskin0010ee42000-07-21 15:10:57 +0000283 -s Output only the lines containing delimiter
Eric Andersen1386e702000-06-26 12:14:30 +0000284 -f N Print only these fields
285 -n Ignored
Erik Andersen73c8c9c2000-05-13 05:36:13 +0000286
287Example:
288
289 $ echo "Hello world" | cut -f 1 -d ' '
290 Hello
291 $ echo "Hello world" | cut -f 2 -d ' '
292 world
293
294
295-------------------------------
296
John Beppu46a4e762000-01-18 22:33:11 +0000297=item date
298
Erik Andersen62dc17a2000-04-13 01:18:23 +0000299Usage: date [OPTION]... [+FORMAT]
John Beppu4581b4c2000-01-19 15:04:41 +0000300
Erik Andersen62dc17a2000-04-13 01:18:23 +0000301 or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
302
Erik Andersencf8d38a2000-04-21 01:23:36 +0000303Displays the current time in the given FORMAT, or sets the system date.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000304
305Options:
Erik Andersene31c0662000-05-02 05:32:07 +0000306
Erik Andersencf8d38a2000-04-21 01:23:36 +0000307 -R Outputs RFC-822 compliant date string
308 -s Sets time described by STRING
309 -u Prints or sets Coordinated Universal Time
Erik Andersen62dc17a2000-04-13 01:18:23 +0000310
311Example:
John Beppuf17792c2000-04-13 03:16:01 +0000312
Erik Andersen62dc17a2000-04-13 01:18:23 +0000313 $ date
314 Wed Apr 12 18:52:41 MDT 2000
John Beppu4581b4c2000-01-19 15:04:41 +0000315
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000316-------------------------------
317
John Beppu00216792000-06-21 19:06:16 +0000318=item dc
319
320Usage: dc expression ...
321
322This is a Tiny RPN calculator that understands the
323following operations: +, -, /, *, and, or, not, eor.
324If no arguments are given, dc will process input from STDIN.
325
326The behaviour of BusyBox/dc deviates (just a little ;-) from
327GNU/dc, but this will be remedied in the future.
328
329Example:
330
331 $ dc 2 2 +
332 4
333 $ dc 8 8 \* 2 2 + /
334 16
335 $ dc 0 1 and
336 0
337 $ dc 0 1 or
338 1
339 $ echo 72 9 div 8 mul | dc
340 64
341
342-------------------------------
343
John Beppu46a4e762000-01-18 22:33:11 +0000344=item dd
345
Erik Andersen62dc17a2000-04-13 01:18:23 +0000346Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n]
John Beppu4581b4c2000-01-19 15:04:41 +0000347
348Copy a file, converting and formatting according to options
349
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000350 if=FILE read from FILE instead of stdin
351 of=FILE write to FILE instead of stdout
352 bs=n read and write n bytes at a time
353 count=n copy only n input blocks
354 skip=n skip n input blocks
355 seek=n skip n output blocks
Erik Andersen62dc17a2000-04-13 01:18:23 +0000356
357Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2)
Pavel Roskin1a804e42000-06-21 21:38:00 +0000358
Erik Andersen62dc17a2000-04-13 01:18:23 +0000359Example:
360
361 $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
362 4+0 records in
363 4+0 records out
364
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000365-------------------------------
366
Eric Andersen028fb622000-07-04 20:07:13 +0000367=item deallocvt
368
369Usage: deallocvt N
370
371Deallocates unused virtual terminal /dev/ttyN
372
373-------------------------------
374
John Beppu46a4e762000-01-18 22:33:11 +0000375=item df
376
Erik Andersen62dc17a2000-04-13 01:18:23 +0000377Usage: df [filesystem ...]
378
379Prints the filesystem space used and space available.
380
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000381Example:
Erik Andersen62dc17a2000-04-13 01:18:23 +0000382
383 $ df
384 Filesystem 1k-blocks Used Available Use% Mounted on
385 /dev/sda3 8690864 8553540 137324 98% /
386 /dev/sda1 64216 36364 27852 57% /boot
387 $ df /dev/sda3
388 Filesystem 1k-blocks Used Available Use% Mounted on
389 /dev/sda3 8690864 8553540 137324 98% /
John Beppu4581b4c2000-01-19 15:04:41 +0000390
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000391-------------------------------
392
393=item dirname
394
395Usage: dirname NAME
396
397Strip non-directory suffix from file name
398
399Example:
400
401 $ dirname /tmp/foo
402 /tmp
403 $ dirname /tmp/foo/
404 /tmp
405
406-------------------------------
407
John Beppu46a4e762000-01-18 22:33:11 +0000408=item dmesg
409
John Beppuf17792c2000-04-13 03:16:01 +0000410Usage: dmesg [B<-c>] [B<-n> level] [B<-s> bufsize]
Pavel Roskin1a804e42000-06-21 21:38:00 +0000411
Erik Andersen62dc17a2000-04-13 01:18:23 +0000412Print or controls the kernel ring buffer.
John Beppu4581b4c2000-01-19 15:04:41 +0000413
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000414-------------------------------
415
Eric Andersencff3fe32000-09-20 19:22:26 +0000416=item dos2unix
417
418Usage: dos2unix < dosfile > unixfile
419
420Converts a text file from dos format to unix format.
421
422-------------------------------
423
John Beppu46a4e762000-01-18 22:33:11 +0000424=item du
425
Erik Andersen62dc17a2000-04-13 01:18:23 +0000426Usage: du [OPTION]... [FILE]...
John Beppu4581b4c2000-01-19 15:04:41 +0000427
Erik Andersen62dc17a2000-04-13 01:18:23 +0000428Summarize disk space used for each FILE and/or directory.
429Disk space is printed in units of 1k (i.e. 1024 bytes).
430
431Options:
John Beppuf17792c2000-04-13 03:16:01 +0000432
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000433 -l count sizes many times if hard linked
434 -s display only a total for each argument
Erik Andersen62dc17a2000-04-13 01:18:23 +0000435
436Example:
437
Erik Andersencf8d38a2000-04-21 01:23:36 +0000438 $ ./BusyBox du
Erik Andersen62dc17a2000-04-13 01:18:23 +0000439 16 ./CVS
440 12 ./kernel-patches/CVS
441 80 ./kernel-patches
442 12 ./tests/CVS
443 36 ./tests
444 12 ./scripts/CVS
445 16 ./scripts
446 12 ./docs/CVS
447 104 ./docs
448 2417 .
Pavel Roskin1a804e42000-06-21 21:38:00 +0000449
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000450-------------------------------
451
Eric Andersen61dc0572000-07-11 17:29:36 +0000452=item dumpkmap
453
454Usage: dumpkmap
455
456Prints out a binary keyboard translation table to standard input.
457
Eric Andersen18a10142000-09-01 16:12:57 +0000458Example:
459
460 $ dumpkmap > keymap
461
Eric Andersen61dc0572000-07-11 17:29:36 +0000462-------------------------------
463
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000464=item dutmp
465
466Usage: dutmp [FILE]
467
468Dump utmp file format (pipe delimited) from FILE
469or stdin to stdout.
470
471Example:
472
473 $ dutmp /var/run/utmp
474 8|7||si|||0|0|0|955637625|760097|0
475 2|0|~|~~|reboot||0|0|0|955637625|782235|0
476 1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
477 8|125||l4|||0|0|0|955637629|998367|0
478 6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
479 6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
480 7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
Pavel Roskin1a804e42000-06-21 21:38:00 +0000481
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000482-------------------------------
483
484=item echo
485
486Usage: echo [-neE] [ARG ...]
487
488Prints the specified ARGs to stdout
489
490Options:
491
492 -n suppress trailing newline
493 -e interpret backslash-escaped characters (i.e. \t=tab etc)
494 -E disable interpretation of backslash-escaped characters
495
496Example:
497
498 $ echo "Erik is cool"
499 Erik is cool
500 $ echo -e "Erik\nis\ncool"
501 Erik
502 is
503 cool
504 $ echo "Erik\nis\ncool"
505 Erik\nis\ncool
Pavel Roskin1a804e42000-06-21 21:38:00 +0000506
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000507-------------------------------
508
Eric Andersen1b355eb2000-09-05 17:37:48 +0000509=item echo
510
511
512Usage: expr EXPRESSION
513
514Prints the value of EXPRESSION to standard output.
515
516EXPRESSION may be:
517
518 ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2
519 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0
520 ARG1 < ARG2 ARG1 is less than ARG2
521 ARG1 <= ARG2 ARG1 is less than or equal to ARG2
522 ARG1 = ARG2 ARG1 is equal to ARG2
523 ARG1 != ARG2 ARG1 is unequal to ARG2
524 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2
525 ARG1 > ARG2 ARG1 is greater than ARG2
526 ARG1 + ARG2 arithmetic sum of ARG1 and ARG2
527 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2
528 ARG1 * ARG2 arithmetic product of ARG1 and ARG2
529 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2
530 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2
531 STRING : REGEXP anchored pattern match of REGEXP in STRING
532 match STRING REGEXP same as STRING : REGEXP
533 substr STRING POS LENGTH substring of STRING, POS counted from 1
534 index STRING CHARS index in STRING where any CHARS is found, or 0
535 length STRING length of STRING
536 quote TOKEN interpret TOKEN as a string, even if it is a
537 keyword like `match' or an operator like `/'
538 ( EXPRESSION ) value of EXPRESSION
539
540Beware that many operators need to be escaped or quoted for shells.
541Comparisons are arithmetic if both ARGs are numbers, else
542lexicographical. Pattern matches return the string matched between
543\( and \) or null; if \( and \) are not used, they return the number
544of characters matched or 0.
545
546-------------------------------
547
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000548=item false
549
Erik Andersen5e1189e2000-04-15 16:34:54 +0000550Returns an exit code of FALSE (1)
551
552Example:
553
554 $ false
555 $ echo $?
556 1
557
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000558-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +0000559
John Beppu46a4e762000-01-18 22:33:11 +0000560=item fbset
561
John Beppu4581b4c2000-01-19 15:04:41 +0000562Usage: fbset [options] [mode]
563
Erik Andersen62dc17a2000-04-13 01:18:23 +0000564Show and modify frame buffer device settings
565
John Beppu4581b4c2000-01-19 15:04:41 +0000566Options:
567
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000568 -h
569 -fb
570 -db
571 -a
572 -i
573 -g
574 -t
575 -accel
576 -hsync
577 -vsync
578 -laced
579 -double
John Beppu4581b4c2000-01-19 15:04:41 +0000580
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000581Example:
582
583 $ fbset
584 mode "1024x768-76"
585 # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
586 geometry 1024 768 1024 768 16
587 timings 12714 128 32 16 4 128 4
588 accel false
589 rgba 5/11,6/5,5/0,0/0
590 endmode
591
592-------------------------------
593
594=item fdflush
595
596Usage: fdflush device
597
598Force floppy disk drive to detect disk change
599
600-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +0000601
John Beppu46a4e762000-01-18 22:33:11 +0000602=item find
603
John Beppu4581b4c2000-01-19 15:04:41 +0000604Usage: find [PATH...] [EXPRESSION]
605
606Search for files in a directory hierarchy. The default PATH is
607the current directory; default EXPRESSION is '-print'
608
John Beppu4581b4c2000-01-19 15:04:41 +0000609
Erik Andersen62dc17a2000-04-13 01:18:23 +0000610EXPRESSION may consist of:
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000611
612 -follow Dereference symbolic links.
613 -name PATTERN File name (leading directories removed) matches PATTERN.
614 -print print the full file name followed by a newline to stdout.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000615
616Example:
617
618 $ find / -name /etc/passwd
619 /etc/passwd
John Beppu4581b4c2000-01-19 15:04:41 +0000620
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000621-------------------------------
622
John Beppu46a4e762000-01-18 22:33:11 +0000623=item free
624
John Beppu4581b4c2000-01-19 15:04:41 +0000625Usage: free
626
Erik Andersen7ab9c7e2000-05-12 19:41:47 +0000627Displays the amount of free and used system memory.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000628
629Example:
630
631 $ free
Erik Andersen5e1189e2000-04-15 16:34:54 +0000632 total used free shared buffers
Erik Andersen62dc17a2000-04-13 01:18:23 +0000633 Mem: 257628 248724 8904 59644 93124
634 Swap: 128516 8404 120112
635 Total: 386144 257128 129016
636
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000637-------------------------------
638
639=item freeramdisk
640
641Usage: freeramdisk DEVICE
642
Erik Andersen7ab9c7e2000-05-12 19:41:47 +0000643Frees all memory used by the specified ramdisk.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000644
645Example:
646
647 $ freeramdisk /dev/ram2
648
649-------------------------------
Erik Andersen62dc17a2000-04-13 01:18:23 +0000650
John Beppu46a4e762000-01-18 22:33:11 +0000651=item fsck.minix
652
John Beppuf17792c2000-04-13 03:16:01 +0000653Usage: fsck.minix [B<-larvsmf>] /dev/name
John Beppu4581b4c2000-01-19 15:04:41 +0000654
655Performs a consistency check for MINIX filesystems.
656
Eric Andersen2086e3d2000-07-04 22:17:01 +0000657Options:
John Beppuf17792c2000-04-13 03:16:01 +0000658
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000659 -l Lists all filenames
660 -r Perform interactive repairs
661 -a Perform automatic repairs
662 -v verbose
663 -s Outputs super-block information
664 -m Activates MINIX-like "mode not cleared" warnings
665 -f Force file system check.
666
667-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +0000668
Eric Andersena1f16bb2000-08-21 22:02:34 +0000669=item getopt
670
671Usage: getopt [OPTIONS]...
672
673Parse command options
674
675Options:
676
677 -a, --alternative Allow long options starting with single -\n"
678 -l, --longoptions=longopts Long options to be recognized\n"
679 -n, --name=progname The name under which errors are reported\n"
680 -o, --options=optstring Short options to be recognized\n"
681 -q, --quiet Disable error reporting by getopt(3)\n"
682 -Q, --quiet-output No normal output\n"
683 -s, --shell=shell Set shell quoting conventions\n"
684 -T, --test Test for getopt(1) version\n"
685 -u, --unqote Do not quote the output\n"
686
687Example:
Eric Andersene4c4d692000-08-21 23:29:45 +0000688
Eric Andersena1f16bb2000-08-21 22:02:34 +0000689 $ cat getopt.test
690 #!/bin/sh
691 GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \
692 -n 'example.busybox' -- "$@"`
693 if [ $? != 0 ] ; then exit 1 ; fi
694 eval set -- "$GETOPT"
695 while true ; do
696 case $1 in
697 -a|--a-long) echo "Option a" ; shift ;;
698 -b|--b-long) echo "Option b, argument \`$2'" ; shift 2 ;;
699 -c|--c-long)
700 case "$2" in
701 "") echo "Option c, no argument"; shift 2 ;;
702 *) echo "Option c, argument \`$2'" ; shift 2 ;;
703 esac ;;
704 --) shift ; break ;;
705 *) echo "Internal error!" ; exit 1 ;;
706 esac
707 done
708
709
710-------------------------------
711
John Beppu46a4e762000-01-18 22:33:11 +0000712=item grep
713
Erik Andersen62dc17a2000-04-13 01:18:23 +0000714Usage: grep [OPTIONS]... PATTERN [FILE]...
John Beppu4581b4c2000-01-19 15:04:41 +0000715
Erik Andersen62dc17a2000-04-13 01:18:23 +0000716Search for PATTERN in each FILE or standard input.
717
Eric Andersen2086e3d2000-07-04 22:17:01 +0000718Options:
John Beppuf17792c2000-04-13 03:16:01 +0000719
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000720 -h suppress the prefixing filename on output
721 -i ignore case distinctions
722 -n print line number with output lines
723 -q be quiet. Returns 0 if result was found, 1 otherwise
Erik Andersena19bc642000-05-02 06:40:02 +0000724 -v select non-matching lines
Erik Andersen62dc17a2000-04-13 01:18:23 +0000725
Eric Andersen98cd53e2000-06-16 19:56:44 +0000726This version of grep matches full regular expressions.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000727
Erik Andersen62dc17a2000-04-13 01:18:23 +0000728Example:
729
730 $ grep root /etc/passwd
731 root:x:0:0:root:/root:/bin/bash
732 $ grep ^[rR]oo. /etc/passwd
733 root:x:0:0:root:/root:/bin/bash
John Beppu4581b4c2000-01-19 15:04:41 +0000734
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000735-------------------------------
736
737=item gunzip
738
Erik Andersen5e1189e2000-04-15 16:34:54 +0000739Usage: gunzip [OPTION]... FILE
740
741Uncompress FILE (or standard input if FILE is '-').
742
743Options:
744
745 -c Write output to standard output
746 -t Test compressed file integrity
747
748Example:
749
Erik Andersencf8d38a2000-04-21 01:23:36 +0000750 $ ls -la /tmp/BusyBox*
751 -rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
752 $ gunzip /tmp/BusyBox-0.43.tar.gz
753 $ ls -la /tmp/BusyBox*
754 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000755
756-------------------------------
757
758=item gzip
759
Erik Andersen5e1189e2000-04-15 16:34:54 +0000760Usage: gzip [OPTION]... FILE
761
762Compress FILE with maximum compression.
John Beppu9057b6a2000-04-16 10:22:28 +0000763When FILE is '-', reads standard input. Implies B<-c>.
Erik Andersen5e1189e2000-04-15 16:34:54 +0000764
765Options:
766
767 -c Write output to standard output instead of FILE.gz
768
769Example:
770
Erik Andersencf8d38a2000-04-21 01:23:36 +0000771 $ ls -la /tmp/BusyBox*
772 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
773 $ gzip /tmp/BusyBox-0.43.tar
774 $ ls -la /tmp/BusyBox*
775 -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
Erik Andersen5e1189e2000-04-15 16:34:54 +0000776
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000777
778-------------------------------
779
780=item halt
781
Erik Andersen5e1189e2000-04-15 16:34:54 +0000782Usage: halt
783
Eric Andersen98cd53e2000-06-16 19:56:44 +0000784This command halts the system.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000785
786-------------------------------
787
John Beppu46a4e762000-01-18 22:33:11 +0000788=item head
789
Erik Andersen62dc17a2000-04-13 01:18:23 +0000790Usage: head [OPTION] [FILE]...
John Beppu4581b4c2000-01-19 15:04:41 +0000791
792Print first 10 lines of each FILE to standard output.
793With more than one FILE, precede each with a header giving the
794file name. With no FILE, or when FILE is -, read standard input.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000795
796Options:
John Beppuf17792c2000-04-13 03:16:01 +0000797
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000798 -n NUM Print first NUM lines instead of first 10
Erik Andersen62dc17a2000-04-13 01:18:23 +0000799
800Example:
801
802 $ head -n 2 /etc/passwd
803 root:x:0:0:root:/root:/bin/bash
804 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
John Beppu4581b4c2000-01-19 15:04:41 +0000805
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000806-------------------------------
807
808=item hostid
809
Erik Andersen5e1189e2000-04-15 16:34:54 +0000810Usage: hostid
811
812Prints out a unique 32-bit identifier for the current
813machine. The 32-bit identifier is intended to be unique
814among all UNIX systems in existence.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000815
816-------------------------------
817
John Beppu46a4e762000-01-18 22:33:11 +0000818=item hostname
819
John Beppuf17792c2000-04-13 03:16:01 +0000820Usage: hostname [OPTION] {hostname | B<-F> file}
John Beppu46a4e762000-01-18 22:33:11 +0000821
John Beppu4581b4c2000-01-19 15:04:41 +0000822Get or set the hostname or DNS domain name. If a hostname is given
John Beppuf17792c2000-04-13 03:16:01 +0000823(or a file with the B<-F> parameter), the host name will be set.
John Beppu4581b4c2000-01-19 15:04:41 +0000824
Erik Andersen62dc17a2000-04-13 01:18:23 +0000825Options:
John Beppuf17792c2000-04-13 03:16:01 +0000826
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000827 -s Short
828 -i Addresses for the hostname
829 -d DNS domain name
830 -F FILE Use the contents of FILE to specify the hostname
Erik Andersen62dc17a2000-04-13 01:18:23 +0000831
832Example:
833
834 $ hostname
835 slag
John Beppu46a4e762000-01-18 22:33:11 +0000836
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000837-------------------------------
838
Erik Andersen73c8c9c2000-05-13 05:36:13 +0000839=item id
840
841Print information for USERNAME or the current user
842
843Options:
844
845 -g prints only the group ID
846 -u prints only the user ID
847 -r prints the real user ID instead of the effective ID (with -ug)
848
849Example:
850
851 $ id
852 uid=1000(andersen) gid=1000(andersen)
853
854-------------------------------
855
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000856=item init
857
Erik Andersen5e1189e2000-04-15 16:34:54 +0000858Usage: init
859
860Init is the parent of all processes.
861
862This version of init is designed to be run only by the kernel.
863
864BusyBox init doesn't support multiple runlevels. The runlevels field of
865the /etc/inittab file is completely ignored by BusyBox init. If you want
866runlevels, use sysvinit.
867
868BusyBox init works just fine without an inittab. If no inittab is found,
869it has the following default behavior:
870
871 ::sysinit:/etc/init.d/rcS
872 ::askfirst:/bin/sh
873
874if it detects that /dev/console is _not_ a serial console, it will also run:
875
876 tty2::askfirst:/bin/sh
877
878If you choose to use an /etc/inittab file, the inittab entry format is as follows:
879
880 <id>:<runlevels>:<action>:<process>
881
882 <id>:
883
884 WARNING: This field has a non-traditional meaning for BusyBox init!
885 The id field is used by BusyBox init to specify the controlling tty for
886 the specified process to run on. The contents of this field are
887 appended to "/dev/" and used as-is. There is no need for this field to
888 be unique, although if it isn't you may have strange results. If this
889 field is left blank, it is completely ignored. Also note that if
890 BusyBox detects that a serial console is in use, then all entries
891 containing non-empty id fields will _not_ be run. BusyBox init does
892 nothing with utmp. We don't need no stinkin' utmp.
893
894 <runlevels>:
895
896 The runlevels field is completely ignored.
897
898 <action>:
899
900 Valid actions include: sysinit, respawn, askfirst, wait,
901 once, and ctrlaltdel.
902
903 askfirst acts just like respawn, but before running the specified
904 process it displays the line "Please press Enter to activate this
905 console." and then waits for the user to press enter before starting
906 the specified process.
907
Eric Andersen98cd53e2000-06-16 19:56:44 +0000908 Unrecognized actions (like initdefault) will cause init to emit
Erik Andersen5e1189e2000-04-15 16:34:54 +0000909 an error message, and then go along with its business.
910
911 <process>:
912
913 Specifies the process to be executed and it's command line.
914
915
916Example /etc/inittab file:
917
918 # This is run first except when booting in single-user mode.
919 #
920 ::sysinit:/etc/init.d/rcS
921
922 # /bin/sh invocations on selected ttys
923 #
924 # Start an "askfirst" shell on the console (whatever that may be)
Pavel Roskinc9db2e82000-09-15 17:24:13 +0000925 ::askfirst:-/bin/sh
926 # Start an "askfirst" shell on /dev/tty2-4
927 tty2::askfirst:-/bin/sh
928 tty3::askfirst:-/bin/sh
929 tty4::askfirst:-/bin/sh
Erik Andersen5e1189e2000-04-15 16:34:54 +0000930
931 # /sbin/getty invocations for selected ttys
932 #
Pavel Roskinc9db2e82000-09-15 17:24:13 +0000933 tty4::respawn:/sbin/getty 38400 tty5
934 tty5::respawn:/sbin/getty 38400 tty6
Erik Andersen5e1189e2000-04-15 16:34:54 +0000935
936
937 # Example of how to put a getty on a serial line (for a terminal)
938 #
939 #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
940 #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
941 #
942 # Example how to put a getty on a modem line.
943 #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
944
945 # Stuff to do before rebooting
Pavel Roskinc9db2e82000-09-15 17:24:13 +0000946 ::ctrlaltdel:/bin/umount -a -r
947 ::ctrlaltdel:/sbin/swapoff -a
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000948
949-------------------------------
950
Eric Andersenfeb47c02000-06-21 21:03:13 +0000951=item insmod
952
953Usage: insmod [OPTION]... MODULE [symbol=value]...
954
955Loads the specified kernel modules into the kernel.
956
957Options:
958
959 -f Force module to load into the wrong kernel version.
960 -k Make module autoclean-able.
961 -v verbose output
962 -x do not export externs
963
964-------------------------------
965
John Beppu46a4e762000-01-18 22:33:11 +0000966=item kill
967
John Beppuf17792c2000-04-13 03:16:01 +0000968Usage: kill [B<-signal>] process-id [process-id ...]
John Beppu4581b4c2000-01-19 15:04:41 +0000969
Erik Andersen62dc17a2000-04-13 01:18:23 +0000970Send a signal (default is SIGTERM) to the specified process(es).
971
972Options:
John Beppuf17792c2000-04-13 03:16:01 +0000973
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000974 -l List all signal names and numbers.
Erik Andersen62dc17a2000-04-13 01:18:23 +0000975
976Example:
977
978 $ ps | grep apache
979 252 root root S [apache]
980 263 www-data www-data S [apache]
981 264 www-data www-data S [apache]
982 265 www-data www-data S [apache]
983 266 www-data www-data S [apache]
984 267 www-data www-data S [apache]
985 $ kill 252
John Beppu4581b4c2000-01-19 15:04:41 +0000986
Erik Andersen9cf3bfa2000-04-13 18:49:43 +0000987-------------------------------
988
989=item killall
990
John Beppu9057b6a2000-04-16 10:22:28 +0000991Usage: killall [B<-signal>] process-name [process-name ...]
Erik Andersen5e1189e2000-04-15 16:34:54 +0000992
993Send a signal (default is SIGTERM) to the specified process(es).
994
995Options:
John Beppu9057b6a2000-04-16 10:22:28 +0000996
Erik Andersen5e1189e2000-04-15 16:34:54 +0000997 -l List all signal names and numbers.
998
999Example:
1000
1001 $ killall apache
1002
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001003-------------------------------
1004
1005=item length
1006
Erik Andersen7ab9c7e2000-05-12 19:41:47 +00001007Usage: length STRING
Erik Andersen5e1189e2000-04-15 16:34:54 +00001008
Erik Andersen7ab9c7e2000-05-12 19:41:47 +00001009Prints out the length of the specified STRING.
Erik Andersen5e1189e2000-04-15 16:34:54 +00001010
1011Example:
Erik Andersena19bc642000-05-02 06:40:02 +00001012
Erik Andersen5e1189e2000-04-15 16:34:54 +00001013 $ length "Hello"
1014 5
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001015
1016-------------------------------
1017
John Beppu46a4e762000-01-18 22:33:11 +00001018=item ln
1019
John Beppu4581b4c2000-01-19 15:04:41 +00001020Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY
Erik Andersena19bc642000-05-02 06:40:02 +00001021
John Beppu4581b4c2000-01-19 15:04:41 +00001022Create a link named LINK_NAME or DIRECTORY to the specified TARGET
Eric Andersenaddc9c22000-06-21 22:53:24 +00001023You may use '--' to indicate that all following arguments are non-options.
Pavel Roskin1a804e42000-06-21 21:38:00 +00001024
John Beppu4581b4c2000-01-19 15:04:41 +00001025Options:
1026
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001027 -s make symbolic links instead of hard links
1028 -f remove existing destination files
Pavel Roskin1a804e42000-06-21 21:38:00 +00001029
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001030Example:
1031
Erik Andersencf8d38a2000-04-21 01:23:36 +00001032 $ ln -s BusyBox /tmp/ls
Erik Andersena19bc642000-05-02 06:40:02 +00001033 $ ls -l /tmp/ls
Erik Andersencf8d38a2000-04-21 01:23:36 +00001034 lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001035
1036-------------------------------
1037
1038=item loadacm
1039
Erik Andersen3fe7f9f2000-04-19 03:59:10 +00001040Usage: loadacm
1041
1042Loads an acm from standard input.
1043
1044Example:
1045
1046 $ loadacm < /etc/i18n/acmname
Erik Andersen5e1189e2000-04-15 16:34:54 +00001047
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001048-------------------------------
1049
1050=item loadfont
1051
Erik Andersena6c75222000-04-18 00:00:52 +00001052Usage: loadfont
1053
1054Loads a console font from standard input.
1055
Erik Andersen3fe7f9f2000-04-19 03:59:10 +00001056Example:
1057
1058 $ loadfont < /etc/i18n/fontname
Erik Andersen5e1189e2000-04-15 16:34:54 +00001059
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001060-------------------------------
1061
1062=item loadkmap
1063
Erik Andersen3fe7f9f2000-04-19 03:59:10 +00001064Usage: loadkmap
1065
1066Loads a binary keyboard translation table from standard input.
1067
1068Example:
1069
1070 $ loadkmap < /etc/i18n/lang-keymap
Erik Andersen5e1189e2000-04-15 16:34:54 +00001071
1072-------------------------------
1073
1074=item logger
1075
1076Usage: logger [OPTION]... [MESSAGE]
1077
1078Write MESSAGE to the system log. If MESSAGE is '-', log stdin.
1079
1080Options:
1081
1082 -s Log to stderr as well as the system log.
1083 -t Log using the specified tag (defaults to user name).
1084 -p Enter the message with the specified priority.
1085 This may be numerical or a ``facility.level'' pair.
1086
1087Example:
1088
1089 $ logger "hello"
1090
1091-------------------------------
1092
1093=item logname
1094
1095Usage: logname
1096
1097Print the name of the current user.
1098
1099Example:
1100
1101 $ logname
1102 root
1103
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001104-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001105
John Beppu46a4e762000-01-18 22:33:11 +00001106=item ls
1107
Eric Andersena42982e2000-06-07 17:28:53 +00001108Usage: ls [B<-1acdelnpuxACFR>] [filenames...]
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001109
1110Options:
1111
1112 -a do not hide entries starting with .
1113 -c with -l: show ctime (the time of last
1114 modification of file status information)
1115 -d list directory entries instead of contents
1116 -e list both full date and full time
1117 -l use a long listing format
1118 -n list numeric UIDs and GIDs instead of names
1119 -p append indicator (one of /=@|) to entries
1120 -u with -l: show access time (the time of last
1121 access of the file)
1122 -x list entries by lines instead of by columns
1123 -A do not list implied . and ..
1124 -C list entries by columns
1125 -F append indicator (one of */=@|) to entries
Eric Andersena42982e2000-06-07 17:28:53 +00001126 -R list subdirectories recursively
John Beppu50ed0672000-04-13 23:44:04 +00001127
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001128-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001129
John Beppu46a4e762000-01-18 22:33:11 +00001130=item lsmod
1131
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001132Usage: lsmod
John Beppu4581b4c2000-01-19 15:04:41 +00001133
Erik Andersen5e1189e2000-04-15 16:34:54 +00001134Shows a list of all currently loaded kernel modules.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001135
1136-------------------------------
1137
1138=item makedevs
1139
Erik Andersen5e1189e2000-04-15 16:34:54 +00001140Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
1141
1142Creates a range of block or character special files
1143
1144TYPEs include:
1145
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
1150FIRST specifies the number appended to NAME to create the first device.
1151LAST specifies the number of the last item that should be created.
1152If 's' is the last argument, the base device is created as well.
1153
1154Example:
1155
1156 $ makedevs /dev/ttyS c 4 66 2 63
1157 [creates ttyS2-ttyS63]
1158 $ makedevs /dev/hda b 3 0 0 8 s
1159 [creates hda,hda1-hda8]
1160
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001161-------------------------------
1162
Eric Andersen2b6ab3c2000-06-13 06:54:53 +00001163=item md5sum
1164
1165Usage: md5sum [OPTION] [file ...]
1166
1167Print or check MD5 checksums.
1168
1169Options:
1170
1171 -b read files in binary mode
1172 -c check MD5 sums against given list
1173 -t read files in text mode (default)
1174 -g read a string
1175
1176The following two options are useful only when verifying checksums:
1177
1178 -s don't output anything, status code shows success
1179 -w warn about improperly formated MD5 checksum lines
1180
1181Example:
1182
1183 $ md5sum busybox
1184 6fd11e98b98a58f64ff3398d7b324003 busybox
1185 $ md5sum -c -
1186 6fd11e98b98a58f64ff3398d7b324003 busybox
1187 busybox: OK
1188 ^D
1189
1190-------------------------------
1191
John Beppu46a4e762000-01-18 22:33:11 +00001192=item mkdir
1193
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001194Usage: mkdir [OPTION] DIRECTORY...
1195
John Beppu4581b4c2000-01-19 15:04:41 +00001196Create the DIRECTORY(ies), if they do not already exist
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001197
John Beppu4581b4c2000-01-19 15:04:41 +00001198Options:
1199
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001200 -m set permission mode (as in chmod), not rwxrwxrwx - umask
Eric Andersen98cd53e2000-06-16 19:56:44 +00001201 -p no error if directory exists, make parent directories as needed
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001202
1203Example:
1204
1205 $ mkdir /tmp/foo
1206 $ mkdir /tmp/foo
1207 /tmp/foo: File exists
1208 $ mkdir /tmp/foo/bar/baz
1209 /tmp/foo/bar/baz: No such file or directory
1210 $ mkdir -p /tmp/foo/bar/baz
1211
1212-------------------------------
1213
1214=item mkfifo
1215
Erik Andersen5e1189e2000-04-15 16:34:54 +00001216Usage: mkfifo [OPTIONS] name
1217
1218Creates a named pipe (identical to 'mknod name p')
1219
1220Options:
John Beppu9057b6a2000-04-16 10:22:28 +00001221
Erik Andersen5e1189e2000-04-15 16:34:54 +00001222 -m create the pipe using the specified mode (default a=rw)
1223
1224-------------------------------
1225
1226=item mkfs.minix
1227
1228Usage: mkfs.minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
1229
1230Make a MINIX filesystem.
1231
Eric Andersen2086e3d2000-07-04 22:17:01 +00001232Options:
Erik Andersen5e1189e2000-04-15 16:34:54 +00001233
1234 -c Check the device for bad blocks
1235 -n [14|30] Specify the maximum length of filenames
1236 -i Specify the number of inodes for the filesystem
1237 -l FILENAME Read the bad blocks list from FILENAME
1238 -v Make a Minix version 2 filesystem
1239
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001240-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001241
John Beppu46a4e762000-01-18 22:33:11 +00001242=item mknod
1243
Erik Andersen5e1189e2000-04-15 16:34:54 +00001244Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001245
Erik Andersen5e1189e2000-04-15 16:34:54 +00001246Create a special file (block, character, or pipe).
1247
1248Options:
John Beppu9057b6a2000-04-16 10:22:28 +00001249
Erik Andersen5e1189e2000-04-15 16:34:54 +00001250 -m create the special file using the specified mode (default a=rw)
John Beppu4581b4c2000-01-19 15:04:41 +00001251
1252TYPEs include:
Erik Andersen5e1189e2000-04-15 16:34:54 +00001253 b: Make a block (buffered) device.
1254 c or u: Make a character (un-buffered) device.
1255 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001256
1257Example:
1258
1259 $ mknod /dev/fd0 b 2 0
Erik Andersen5e1189e2000-04-15 16:34:54 +00001260 $ mknod -m 644 /tmp/pipe p
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001261
1262-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001263
John Beppu46a4e762000-01-18 22:33:11 +00001264=item mkswap
1265
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001266Usage: mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
1267
John Beppu4581b4c2000-01-19 15:04:41 +00001268Prepare a disk partition to be used as a swap partition.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001269
John Beppu4581b4c2000-01-19 15:04:41 +00001270Options:
1271
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001272 -c Check for read-ability.
1273 -v0 Make version 0 swap [max 128 Megs].
1274 -v1 Make version 1 swap [big!] (default for kernels > 2.1.117).
1275 block-count Number of block to use (default is entire partition).
John Beppu50ed0672000-04-13 23:44:04 +00001276
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001277-------------------------------
1278
Erik Andersen227a59b2000-04-25 23:24:55 +00001279=item mktemp
1280
Erik Andersene31c0662000-05-02 05:32:07 +00001281Usage: mktemp [B<-q>] TEMPLATE
Erik Andersen227a59b2000-04-25 23:24:55 +00001282
1283Creates a temporary file with its name based on TEMPLATE.
1284TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).
1285
1286Example:
Erik Andersena19bc642000-05-02 06:40:02 +00001287
Erik Andersen227a59b2000-04-25 23:24:55 +00001288 $ mktemp /tmp/temp.XXXXXX
1289 /tmp/temp.mWiLjM
1290 $ ls -la /tmp/temp.mWiLjM
1291 -rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM
1292
1293-------------------------------
1294
John Beppu46a4e762000-01-18 22:33:11 +00001295=item more
1296
John Beppu4581b4c2000-01-19 15:04:41 +00001297Usage: more [file ...]
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001298
1299More is a filter for paging through text one screenful at a time.
1300
1301Example:
1302
1303 $ dmesg | more
John Beppu50ed0672000-04-13 23:44:04 +00001304
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001305-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001306
John Beppu46a4e762000-01-18 22:33:11 +00001307=item mount
1308
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001309Usage: mount [flags]
1310 mount [flags] device directory [B<-o> options,more-options]
John Beppu4581b4c2000-01-19 15:04:41 +00001311
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001312Flags:
John Beppu4581b4c2000-01-19 15:04:41 +00001313
Erik Andersen6c5f2c62000-05-05 19:49:33 +00001314 -a: Mount all file systems in fstab.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001315 -o option: One of many filesystem options, listed below.
Erik Andersen6c5f2c62000-05-05 19:49:33 +00001316 -r: Mount the filesystem read-only.
1317 -t fs-type: Specify the filesystem type.
1318 -w: Mount for reading and writing (default).
John Beppu4581b4c2000-01-19 15:04:41 +00001319
Erik Andersen7ab9c7e2000-05-12 19:41:47 +00001320Options for use with the "B<-o>" flag:
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001321
Erik Andersen6c5f2c62000-05-05 19:49:33 +00001322 async/sync: Writes are asynchronous / synchronous.
1323 atime/noatime: Enable / disable updates to inode access times.
1324 dev/nodev: Allow use of special device files / disallow them.
1325 exec/noexec: Allow use of executable files / disallow them.
1326 loop: Mounts a file via loop device.
1327 suid/nosuid: Allow set-user-id-root programs / disallow them.
1328 remount: Re-mount a currently-mounted filesystem, changing its flags.
1329 ro/rw: Mount for read-only / read-write.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001330 There are EVEN MORE flags that are specific to each filesystem.
1331 You'll have to see the written documentation for those.
1332
1333Example:
1334
1335 $ mount
1336 /dev/hda3 on / type minix (rw)
1337 proc on /proc type proc (rw)
1338 devpts on /dev/pts type devpts (rw)
1339 $ mount /dev/fd0 /mnt -t msdos -o ro
1340 $ mount /tmp/diskimage /opt -t ext2 -o loop
John Beppu50ed0672000-04-13 23:44:04 +00001341
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001342-------------------------------
1343
1344=item mt
1345
John Beppu9057b6a2000-04-16 10:22:28 +00001346Usage: mt [B<-f> device] opcode value
Erik Andersen5e1189e2000-04-15 16:34:54 +00001347
1348Control magnetic tape drive operation
1349
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001350-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001351
John Beppu46a4e762000-01-18 22:33:11 +00001352=item mv
1353
John Beppu4581b4c2000-01-19 15:04:41 +00001354Usage: mv SOURCE DEST
1355
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001356 or: mv SOURCE... DIRECTORY
John Beppu4581b4c2000-01-19 15:04:41 +00001357
1358Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001359
1360Example:
1361
1362 $ mv /tmp/foo /bin/bar
John Beppu50ed0672000-04-13 23:44:04 +00001363
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001364-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001365
Eric Andersen028fb622000-07-04 20:07:13 +00001366=item nc
1367
1368Usage: nc [IP] [port]
1369
1370Netcat opens a pipe to IP:port
1371
1372Example:
1373
1374 $ nc foobar.somedomain.com 25
1375 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
1376 help
1377 214-Commands supported:
1378 214- HELO EHLO MAIL RCPT DATA AUTH
1379 214 NOOP QUIT RSET HELP
1380 quit
1381 221 foobar closing connection
1382
1383-------------------------------
1384
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001385=item nslookup
John Beppu46a4e762000-01-18 22:33:11 +00001386
Erik Andersen5e1189e2000-04-15 16:34:54 +00001387Usage: nslookup [HOST]
John Beppu4581b4c2000-01-19 15:04:41 +00001388
Erik Andersen5e1189e2000-04-15 16:34:54 +00001389Queries the nameserver for the IP address of the given HOST
1390
1391Example:
1392
1393 $ nslookup localhost
1394 Server: default
1395 Address: default
1396
1397 Name: debian
1398 Address: 127.0.0.1
John Beppu46a4e762000-01-18 22:33:11 +00001399
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001400-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001401
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001402=item ping
1403
1404Usage: ping [OPTION]... host
1405
1406Send ICMP ECHO_REQUEST packets to network hosts.
1407
1408Options:
1409
1410 -c COUNT Send only COUNT pings.
Pavel Roskin0024abc2000-06-07 20:38:15 +00001411 -s SIZE Send SIZE data bytes in packets (default=56).
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001412 -q Quiet mode, only displays output at start
1413 and when finished.
1414Example:
1415
1416 $ ping localhost
1417 PING slag (127.0.0.1): 56 data bytes
1418 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
1419
1420 --- debian ping statistics ---
1421 1 packets transmitted, 1 packets received, 0% packet loss
1422 round-trip min/avg/max = 20.1/20.1/20.1 ms
1423
1424-------------------------------
1425
Erik Andersen5e1189e2000-04-15 16:34:54 +00001426=item poweroff
1427
1428Shuts down the system, and requests that the kernel turn off power upon halting.
1429
1430-------------------------------
1431
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001432=item printf
1433
Erik Andersen5e1189e2000-04-15 16:34:54 +00001434Usage: printf format [argument...]
1435
1436Formats and prints the given data in a manner similar to the C printf command.
1437
1438Example:
1439
1440 $ printf "Val=%d\n" 5
1441 Val=5
1442
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001443-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001444
John Beppu46a4e762000-01-18 22:33:11 +00001445=item ps
1446
Erik Andersen5e1189e2000-04-15 16:34:54 +00001447Usage: ps
1448
1449Report process status
1450
1451This version of ps accepts no options.
1452
1453Example:
1454
1455 $ ps
1456 PID Uid Gid State Command
1457 1 root root S init
1458 2 root root S [kflushd]
1459 3 root root S [kupdate]
1460 4 root root S [kpiod]
1461 5 root root S [kswapd]
1462 742 andersen andersen S [bash]
1463 743 andersen andersen S -bash
1464 745 root root S [getty]
1465 2990 andersen andersen R ps
1466
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001467-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001468
John Beppu46a4e762000-01-18 22:33:11 +00001469=item pwd
1470
Erik Andersen5e1189e2000-04-15 16:34:54 +00001471Prints the full filename of the current working directory.
1472
1473Example:
1474
1475 $ pwd
1476 /root
1477
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001478-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001479
Eric Andersen918507e2000-08-21 22:46:33 +00001480=item rdate
1481
1482Usage: rdate [OPTION] HOST
1483
1484Get and possibly set the system date and time from a remote HOST.
1485
1486Options:
1487
1488 -s Set the system date and time (default).
1489 -p Print the date and time.
1490
1491-------------------------------
1492
John Beppu46a4e762000-01-18 22:33:11 +00001493=item reboot
1494
Erik Andersen5e1189e2000-04-15 16:34:54 +00001495Instructs the kernel to reboot the system.
1496
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001497-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001498
Eric Andersenbf960f52000-07-21 21:32:12 +00001499=item renice
1500
1501Usage: renice priority pid [pid ...]
1502
1503Changes priority of running processes. Allowed priorities range
1504from 20 (the process runs only when nothing else is running) to 0
1505(default priority) to -20 (almost nothing else ever gets to run).
1506
1507-------------------------------
1508
Eric Andersenfa405d02000-08-21 21:18:52 +00001509=item reset
1510
1511Usage: reset
1512
1513Resets the screen.
1514
1515-------------------------------
1516
John Beppu46a4e762000-01-18 22:33:11 +00001517=item rm
1518
Erik Andersen5e1189e2000-04-15 16:34:54 +00001519Usage: rm [OPTION]... FILE...
1520
Eric Andersen815e9042000-06-06 16:15:23 +00001521Remove (unlink) the FILE(s). You may use '--' to
1522indicate that all following arguments are non-options.
Erik Andersen5e1189e2000-04-15 16:34:54 +00001523
1524Options:
1525
1526 -f remove existing destinations, never prompt
1527 -r or -R remove the contents of directories recursively
1528
1529Example:
1530
1531 $ rm -rf /tmp/foo
1532
1533-------------------------------
1534
1535=item rmdir
1536
1537Usage: rmdir [OPTION]... DIRECTORY...
1538
1539Remove the DIRECTORY(ies), if they are empty.
1540
1541Example:
1542
1543 # rmdir /tmp/foo
1544
1545-------------------------------
1546
1547=item rmmod
1548
1549Usage: rmmod [OPTION]... [MODULE]...
1550
1551Unloads the specified kernel modules from the kernel.
1552
1553Options:
1554
1555 -a Try to remove all unused kernel modules.
1556
1557Example:
1558
1559 $ rmmod tulip
1560
1561-------------------------------
1562
1563=item sed
1564
John Beppu9057b6a2000-04-16 10:22:28 +00001565Usage: sed [B<-n>] B<-e> script [file...]
Erik Andersen5e1189e2000-04-15 16:34:54 +00001566
1567Allowed sed scripts come in the following form:
1568
1569 'ADDR [!] COMMAND'
1570
1571 where address ADDR can be:
1572 NUMBER Match specified line number
1573 $ Match last line
1574 /REGEXP/ Match specified regexp
1575 (! inverts the meaning of the match)
1576
1577 and COMMAND can be:
1578 s/regexp/replacement/[igp]
1579 which attempt to match regexp against the pattern space
1580 and if successful replaces the matched portion with replacement.
1581
1582 aTEXT
1583 which appends TEXT after the pattern space
1584
1585Options:
1586
1587 -e add the script to the commands to be executed
1588 -n suppress automatic printing of pattern space
1589
Eric Andersen98cd53e2000-06-16 19:56:44 +00001590This version of sed matches full regular expressions.
Erik Andersen5e1189e2000-04-15 16:34:54 +00001591
1592Example:
1593
1594 $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
1595 bar
1596
1597-------------------------------
1598
Erik Andersen4f3f7572000-04-28 00:18:56 +00001599=item setkeycodes
1600
1601Usage: setkeycodes SCANCODE KEYCODE ...
1602
1603Set entries into the kernel's scancode-to-keycode map,
1604allowing unusual keyboards to generate usable keycodes.
1605
1606SCANCODE may be either xx or e0xx (hexadecimal),
1607and KEYCODE is given in decimal
1608
1609Example:
1610
1611 # setkeycodes e030 127
1612
1613-------------------------------
1614
Eric Andersen028fb622000-07-04 20:07:13 +00001615=item sh
1616
1617Usage: sh
1618
1619lash -- the BusyBox LAme SHell (command interpreter)
1620
1621This command does not yet have proper documentation.
1622
1623Use lash just as you would use any other shell. It properly handles pipes,
1624redirects, job control, can be used as the shell for scripts (#!/bin/sh), and
1625has a sufficient set of builtins to do what is needed. It does not (yet)
1626support Bourne Shell syntax. If you need things like "if-then-else", "while",
1627and such, use ash or bash. If you just need a very simple and extremely small
1628shell, this will do the job.
1629
1630-------------------------------
1631
Erik Andersen5e1189e2000-04-15 16:34:54 +00001632=item sleep
1633
1634Usage: sleep N
1635
1636Pause for N seconds.
1637
1638Example:
1639
1640 $ sleep 2
1641 [2 second delay results]
1642
1643-------------------------------
1644
1645=item sort
1646
John Beppu9057b6a2000-04-16 10:22:28 +00001647Usage: sort [B<-n>] [B<-r>] [FILE]...
Erik Andersen5e1189e2000-04-15 16:34:54 +00001648
1649Sorts lines of text in the specified files
1650
1651Example:
1652
1653 $ echo -e "e\nf\nb\nd\nc\na" | sort
1654 a
1655 b
1656 c
1657 d
1658 e
1659 f
1660
1661-------------------------------
1662
Eric Andersen028fb622000-07-04 20:07:13 +00001663=item swapoff
1664
1665Usage: swapoff [OPTION] [device]
1666
1667Stop swapping virtual memory pages on the given device.
1668
1669Options:
1670
1671 -a Stop swapping on all swap devices
1672
1673-------------------------------
1674
1675=item swapon
1676
1677Usage: swapon [OPTION] [device]
1678
1679Start swapping virtual memory pages on the given device.
1680
1681Options:
1682
1683 -a Start swapping on all swap devices
1684
1685-------------------------------
1686
Erik Andersen5e1189e2000-04-15 16:34:54 +00001687=item sync
1688
1689Usage: sync
1690
1691Write all buffered filesystem blocks to disk.
1692
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001693-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001694
John Beppu46a4e762000-01-18 22:33:11 +00001695=item syslogd
1696
Erik Andersen5e1189e2000-04-15 16:34:54 +00001697Usage: syslogd [OPTION]...
John Beppu4581b4c2000-01-19 15:04:41 +00001698
Erik Andersen5e1189e2000-04-15 16:34:54 +00001699Linux system and kernel (provides klogd) logging utility.
1700Note that this version of syslogd/klogd ignores /etc/syslog.conf.
John Beppu4581b4c2000-01-19 15:04:41 +00001701
Erik Andersen5e1189e2000-04-15 16:34:54 +00001702Options:
Pavel Roskin049b7062000-06-07 21:19:49 +00001703
Pavel Roskinda10ec02000-06-07 21:08:25 +00001704 -m NUM Interval between MARK lines (default=20min, 0=off)
1705 -n Run as a foreground process
1706 -K Do not start up the klogd process
1707 -O FILE Use an alternate log file (default=/var/log/messages)
Eric Andersenced2cef2000-07-20 23:41:24 +00001708 -R HOST[:PORT] Log messages to HOST on PORT (default=514) over UDP.
1709
1710Example:
1711
1712 $ syslogd -R masterlog:514
1713 $ syslogd -R 192.168.1.1:601
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001714
1715-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001716
John Beppu46a4e762000-01-18 22:33:11 +00001717=item tail
1718
Erik Andersen5e1189e2000-04-15 16:34:54 +00001719Usage: tail [OPTION] [FILE]...
1720
1721Print last 10 lines of each FILE to standard output.
1722With more than one FILE, precede each with a header giving the
1723file name. With no FILE, or when FILE is -, read standard input.
1724
1725Options:
1726
1727 -n NUM Print last NUM lines instead of first 10
1728 -f Output data as the file grows. This version
1729 of 'tail -f' supports only one file at a time.
1730
1731Example:
1732
1733 $ tail -n 1 /etc/resolv.conf
1734 nameserver 10.0.0.1
1735
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001736-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001737
John Beppu46a4e762000-01-18 22:33:11 +00001738=item tar
1739
John Beppu9057b6a2000-04-16 10:22:28 +00001740Usage: tar -[cxtvO] [B<--exclude> File] [B<-f> tarFile] [FILE] ...
Erik Andersen5e1189e2000-04-15 16:34:54 +00001741
1742Create, extract, or list files from a tar file. Note that
1743this version of tar treats hard links as separate files.
1744
1745Main operation mode:
1746
1747 c create
1748 x extract
1749 t list
1750
1751File selection:
1752
1753 f name of tarfile or "-" for stdin
1754 O extract to stdout
Eric Andersenfdd51032000-08-02 18:48:26 +00001755 exclude file to exclude
Erik Andersen5e1189e2000-04-15 16:34:54 +00001756
1757Informative output:
1758
1759 v verbosely list files processed
1760
1761Example:
1762
1763 $ zcat /tmp/tarball.tar.gz | tar -xf -
1764 $ tar -cf /tmp/tarball.tar /usr/local
1765
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001766-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001767
Eric Andersen028fb622000-07-04 20:07:13 +00001768=item tee
1769
1770Usage: tee [OPTION]... [FILE]...
1771
1772Copy standard input to each FILE, and also to standard output.
1773
1774Options:
1775
1776 -a append to the given FILEs, do not overwrite
1777
1778Example:
1779
1780 $ echo "Hello" | tee /tmp/foo
1781 $ cat /tmp/foo
1782 Hello
1783
1784-------------------------------
1785
1786=item telnet
1787
1788Usage: telnet host [port]
1789
1790Telnet is used to establish interactive communication with another
1791computer over a network using the TELNET protocol.
1792
1793-------------------------------
1794
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001795=item test, [
1796
Erik Andersen5e1189e2000-04-15 16:34:54 +00001797Usage: test EXPRESSION
1798or [ EXPRESSION ]
1799
1800Checks file types and compares values returning an exit
1801code determined by the value of EXPRESSION.
1802
1803Example:
1804
1805 $ test 1 -eq 2
1806 $ echo $?
1807 1
1808 $ test 1 -eq 1
1809 $ echo $?
1810 0
1811 $ [ -d /etc ]
1812 $ echo $?
1813 0
1814 $ [ -d /junk ]
1815 $ echo $?
1816 1
1817
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001818-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001819
John Beppu46a4e762000-01-18 22:33:11 +00001820=item touch
1821
John Beppu9057b6a2000-04-16 10:22:28 +00001822Usage: touch [B<-c>] file [file ...]
Erik Andersen5e1189e2000-04-15 16:34:54 +00001823
1824Update the last-modified date on (or create) the selected file[s].
1825
1826Example:
1827
1828 $ ls -l /tmp/foo
1829 /bin/ls: /tmp/foo: No such file or directory
1830 $ touch /tmp/foo
1831 $ ls -l /tmp/foo
1832 -rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo
1833
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001834-------------------------------
1835
1836=item tr
Erik Andersena19bc642000-05-02 06:40:02 +00001837
Erik Andersen3c1217c2000-05-01 22:34:24 +00001838Usage: tr [-cds] STRING1 [STRING2]
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001839
Erik Andersen3c1217c2000-05-01 22:34:24 +00001840Translate, squeeze, and/or delete characters from
1841standard input, writing to standard output.
Erik Andersen5e1189e2000-04-15 16:34:54 +00001842
Erik Andersen3c1217c2000-05-01 22:34:24 +00001843Options:
1844
1845 -c take complement of STRING1
1846 -d delete input characters coded STRING1
1847 -s squeeze multiple output characters of STRING2 into one character
Erik Andersen5e1189e2000-04-15 16:34:54 +00001848
1849Example:
1850
1851 $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
1852 hello world
1853
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001854-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001855
John Beppu46a4e762000-01-18 22:33:11 +00001856=item true
1857
Erik Andersen5e1189e2000-04-15 16:34:54 +00001858Returns an exit code of TRUE (0)
1859
1860Example:
1861
1862 $ true
1863 $ echo $?
1864 0
1865
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001866-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001867
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001868=item tty
John Beppu4581b4c2000-01-19 15:04:41 +00001869
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001870Usage: tty
1871
1872Print the file name of the terminal connected to standard input.
1873
1874Options:
1875
1876 -s print nothing, only return an exit status
1877
1878Example:
1879
1880 $ tty
1881 /dev/tty2
Erik Andersen5e1189e2000-04-15 16:34:54 +00001882
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001883-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001884
John Beppu46a4e762000-01-18 22:33:11 +00001885=item umount
1886
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001887Usage: umount [flags] filesystem|directory
1888
1889Flags:
1890
Erik Andersen6c5f2c62000-05-05 19:49:33 +00001891 -a: Unmount all file systems
1892 -r: Try to remount devices as read-only if mount is busy
1893 -f: Force filesystem umount (i.e. unreachable NFS server)
1894 -l: Do not free loop device (if a loop device has been used)
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001895
1896Example:
1897
1898 $ umount /dev/hdc1
Erik Andersen5e1189e2000-04-15 16:34:54 +00001899
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001900-------------------------------
John Beppuf17792c2000-04-13 03:16:01 +00001901
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001902=item uname
John Beppuf17792c2000-04-13 03:16:01 +00001903
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001904Usage: uname [OPTION]...
1905
Erik Andersen26702fe2000-04-17 16:44:46 +00001906Print certain system information. With no OPTION, same as B<-s>.
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001907
1908Options:
1909
1910 -a print all information
1911 -m the machine (hardware) type
1912 -n print the machine's network node hostname
1913 -r print the operating system release
1914 -s print the operating system name
1915 -p print the host processor type
1916 -v print the operating system version
1917
1918Example:
1919
1920 $ uname -a
1921 Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001922
1923-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001924
John Beppu46a4e762000-01-18 22:33:11 +00001925=item uniq
1926
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001927Usage: uniq [OPTION]... [INPUT [OUTPUT]]
1928
1929Discard all but one of successive identical lines from INPUT
1930(or standard input), writing to OUTPUT (or standard output).
1931
1932Example:
1933
1934 $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
1935 a
1936 b
1937 c
Erik Andersen5e1189e2000-04-15 16:34:54 +00001938
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001939-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001940
Eric Andersencff3fe32000-09-20 19:22:26 +00001941=item unix2dos
1942
1943Usage: unix2dos < unixfile > dosfile
1944
1945Converts a text file from unix format to dos format.
1946
1947-------------------------------
1948
1949=item unrpm
1950
Eric Andersen350b3f92000-09-21 02:06:35 +00001951Usage: unrpm < package.rpm | gzip B<-d> | cpio -idmuv
Eric Andersencff3fe32000-09-20 19:22:26 +00001952
1953Extracts an rpm archive.
1954
1955-------------------------------
1956
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001957=item update
John Beppu4581b4c2000-01-19 15:04:41 +00001958
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001959Usage: update [options]
1960
1961Periodically flushes filesystem buffers.
1962
1963Options:
1964
1965 -S force use of sync(2) instead of flushing
1966 -s SECS call sync this often (default 30)
1967 -f SECS flush some buffers this often (default 5)
Erik Andersen5e1189e2000-04-15 16:34:54 +00001968
1969-------------------------------
1970
1971=item uptime
1972
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001973Usage: uptime
1974
1975Tells how long the system has been running since boot.
1976
1977Example:
1978
1979 $ uptime
1980 1:55pm up 2:30, load average: 0.09, 0.04, 0.00
Erik Andersen5e1189e2000-04-15 16:34:54 +00001981
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001982-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00001983
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001984=item usleep
1985
Erik Andersene5b6c7d2000-04-17 16:16:10 +00001986Usage: usleep N
1987
1988Pauses for N microseconds.
1989
1990Example:
1991
1992 $ usleep 1000000
1993 [pauses for 1 second]
Erik Andersen5e1189e2000-04-15 16:34:54 +00001994
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00001995-------------------------------
1996
Eric Andersen028fb622000-07-04 20:07:13 +00001997=item uuencode
1998
1999Usage: uuencode [OPTION] [INFILE] REMOTEFILE
2000
2001Uuencode a file.
2002
2003Options:
2004
2005 -m use base64 encoding as of RFC1521
2006
2007Example:
2008
2009 $ uuencode busybox busybox
2010 begin 755 busybox
2011 M?T5,1@$!`0````````````(``P`!````L+@$"#0```!0N@,``````#0`(``&
2012 .....
2013 $ uudecode busybox busybox > busybox.uu
2014 $
2015
2016-------------------------------
2017
2018=item uudecode
2019
2020Usage: uudecode [OPTION] [FILE]
2021
2022Uudecode a uuencoded file
2023
2024Options:
2025
2026 -o FILE direct output to FILE
2027
2028Example:
2029
2030 $ uudecode -o busybox busybox.uu
2031 $ ls -l busybox
2032 -rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox
2033
2034-------------------------------
2035
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002036=item wc
2037
Erik Andersene5b6c7d2000-04-17 16:16:10 +00002038Usage: wc [OPTION]... [FILE]...
2039
2040Print line, word, and byte counts for each FILE, and a total line if
2041more than one FILE is specified. With no FILE, read standard input.
2042
2043Options:
2044
2045 -c print the byte counts
2046 -l print the newline counts
2047 -L print the length of the longest line
2048 -w print the word counts
2049
2050Example:
2051
2052 $ wc /etc/passwd
2053 31 46 1365 /etc/passwd
Erik Andersen5e1189e2000-04-15 16:34:54 +00002054
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002055-------------------------------
2056
Pavel Roskinafa06622000-06-21 21:43:24 +00002057=item which
2058
2059Usage: which [COMMAND ...]
2060
2061Locates a COMMAND.
2062
2063Example:
2064
2065 $ which login
2066 /bin/login
2067
2068-------------------------------
2069
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002070=item whoami
2071
Erik Andersene5b6c7d2000-04-17 16:16:10 +00002072Usage: whoami
2073
2074Prints the user name associated with the current effective user id.
2075
2076Example:
2077
2078 $ whoami
2079 andersen
Erik Andersen5e1189e2000-04-15 16:34:54 +00002080
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002081-------------------------------
2082
2083=item yes
2084
Erik Andersene5b6c7d2000-04-17 16:16:10 +00002085Usage: yes [OPTION]... [STRING]...
2086
2087Repeatedly outputs a line with all specified STRING(s), or `y'.
Erik Andersen5e1189e2000-04-15 16:34:54 +00002088
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002089-------------------------------
John Beppu46a4e762000-01-18 22:33:11 +00002090
2091=item zcat
2092
Erik Andersen26702fe2000-04-17 16:44:46 +00002093This is essentially an alias for invoking "gunzip B<-c>", where
Eric Andersen98cd53e2000-06-16 19:56:44 +00002094it decompresses the file in question and send the output to stdout.
Erik Andersen5e1189e2000-04-15 16:34:54 +00002095
Erik Andersen9cf3bfa2000-04-13 18:49:43 +00002096-------------------------------
John Beppu4581b4c2000-01-19 15:04:41 +00002097
John Beppu46a4e762000-01-18 22:33:11 +00002098=back
John Beppu3a1b6be2000-01-18 15:45:59 +00002099
Erik Andersena19bc642000-05-02 06:40:02 +00002100=head1 LIBC NSS
2101
2102GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
2103library for the local environment, and to configure how it reads system data,
2104such as passwords and group information. BusyBox has made it Policy that it
2105will never use NSS, and will never use and libc calls that make use of NSS.
2106This allows you to run an embedded system without the need for installing an
2107/etc/nsswitch.conf file and without and /lib/libnss_* libraries installed.
2108
2109If you are using a system that is using a remote LDAP server for authentication
2110via GNU libc NSS, and you want to use BusyBox, then you will need to adjust the
2111BusyBox source. Chances are though, that if you have enough space to install
2112of that stuff on your system, then you probably want the full GNU utilities.
2113
John Beppu3a1b6be2000-01-18 15:45:59 +00002114=head1 SEE ALSO
2115
2116textutils(1), shellutils(1), etc...
2117
2118=head1 MAINTAINER
2119
Erik Andersen1101d232000-04-19 05:15:12 +00002120Erik Andersen <andersee@debian.org> <andersen@lineo.com>
John Beppu3a1b6be2000-01-18 15:45:59 +00002121
2122=head1 AUTHORS
2123
John Beppu08fe43d2000-01-19 12:39:16 +00002124The following people have contributed code to BusyBox whether
2125they know it or not.
John Beppu3a1b6be2000-01-18 15:45:59 +00002126
Erik Andersen1101d232000-04-19 05:15:12 +00002127Erik Andersen <andersee@debian.org>
John Beppu3a1b6be2000-01-18 15:45:59 +00002128
John Beppu08fe43d2000-01-19 12:39:16 +00002129=for html <br>
John Beppu46a4e762000-01-18 22:33:11 +00002130
John Beppu08fe43d2000-01-19 12:39:16 +00002131John Beppu <beppu@lineo.com>
John Beppu3a1b6be2000-01-18 15:45:59 +00002132
John Beppu08fe43d2000-01-19 12:39:16 +00002133=for html <br>
John Beppu46a4e762000-01-18 22:33:11 +00002134
John Beppu08fe43d2000-01-19 12:39:16 +00002135Brian Candler <B.Candler@pobox.com>
John Beppu3a1b6be2000-01-18 15:45:59 +00002136
John Beppu08fe43d2000-01-19 12:39:16 +00002137=for html <br>
John Beppu46a4e762000-01-18 22:33:11 +00002138
John Beppu08fe43d2000-01-19 12:39:16 +00002139Randolph Chung <tausq@debian.org>
John Beppu3a1b6be2000-01-18 15:45:59 +00002140
John Beppu08fe43d2000-01-19 12:39:16 +00002141=for html <br>
John Beppu46a4e762000-01-18 22:33:11 +00002142
John Beppu08fe43d2000-01-19 12:39:16 +00002143Dave Cinege <dcinege@psychosis.com>
2144
2145=for html <br>
2146
John Beppu50ed0672000-04-13 23:44:04 +00002147Karl M. Hegbloom <karlheg@debian.org>
2148
2149=for html <br>
2150
John Beppu4fd10fc2000-04-17 05:13:59 +00002151John Lombardo <john@deltanet.com>
2152
2153=for html <br>
2154
Eric Andersen86ab8a32000-06-02 03:21:42 +00002155Glenn McGrath <bug1@netconnect.com.au>
2156
2157=for html <br>
2158
John Beppu08fe43d2000-01-19 12:39:16 +00002159Bruce Perens <bruce@perens.com>
2160
2161=for html <br>
2162
Pavel Roskin339b8922000-06-20 00:11:07 +00002163Pavel Roskin <proski@gnu.org>
Eric Andersen08e92892000-06-02 03:21:36 +00002164
2165=for html <br>
2166
John Beppu08fe43d2000-01-19 12:39:16 +00002167Linus Torvalds <torvalds@transmeta.com>
2168
2169=for html <br>
2170
John Beppu2aee9932000-09-15 08:04:42 +00002171Mark Whitley <markw@lineo.com>
2172
2173=for html <br>
2174
John Beppu08fe43d2000-01-19 12:39:16 +00002175Charles P. Wright <cpwright@villagenet.com>
2176
2177=for html <br>
2178
2179Enrique Zanardi <ezanardi@ull.es>
2180
2181=for html <br>
John Beppu3a1b6be2000-01-18 15:45:59 +00002182
2183=cut
John Beppu08fe43d2000-01-19 12:39:16 +00002184
Eric Andersen350b3f92000-09-21 02:06:35 +00002185# $Id: busybox.pod,v 1.70 2000/09/21 02:06:35 andersen Exp $