source: src/router/busybox/docs/BusyBox.txt @ 17636

Last change on this file since 17636 was 17636, checked in by BrainSlayer, 21 months ago

orphan

File size: 16.8 KB
Line 
1NAME
2    BusyBox - The Swiss Army Knife of Embedded Linux
3
4SYNTAX
5     busybox <applet> [arguments...]  # or
6
7     <applet> [arguments...]          # if symlinked
8
9DESCRIPTION
10    BusyBox combines tiny versions of many common UNIX utilities into a
11    single small executable. It provides minimalist replacements for most of
12    the utilities you usually find in GNU coreutils, util-linux, etc. The
13    utilities in BusyBox generally have fewer options than their
14    full-featured GNU cousins; however, the options that are included
15    provide the expected functionality and behave very much like their GNU
16    counterparts.
17
18    BusyBox has been written with size-optimization and limited resources in
19    mind. It is also extremely modular so you can easily include or exclude
20    commands (or features) at compile time. This makes it easy to customize
21    your embedded systems. To create a working system, just add /dev, /etc,
22    and a Linux kernel. BusyBox provides a fairly complete POSIX environment
23    for any small or embedded system.
24
25    BusyBox is extremely configurable. This allows you to include only the
26    components you need, thereby reducing binary size. Run 'make config' or
27    'make menuconfig' to select the functionality that you wish to enable.
28    Then run 'make' to compile BusyBox using your configuration.
29
30    After the compile has finished, you should use 'make install' to install
31    BusyBox. This will install the 'bin/busybox' binary, in the target
32    directory specified by CONFIG_PREFIX. CONFIG_PREFIX can be set when
33    configuring BusyBox, or you can specify an alternative location at
34    install time (i.e., with a command line like 'make
35    CONFIG_PREFIX=/tmp/foo install'). If you enabled any applet installation
36    scheme (either as symlinks or hardlinks), these will also be installed
37    in the location pointed to by CONFIG_PREFIX.
38
39USAGE
40    BusyBox is a multi-call binary. A multi-call binary is an executable
41    program that performs the same job as more than one utility program.
42    That means there is just a single BusyBox binary, but that single binary
43    acts like a large number of utilities. This allows BusyBox to be smaller
44    since all the built-in utility programs (we call them applets) can share
45    code for many common operations.
46
47    You can also invoke BusyBox by issuing a command as an argument on the
48    command line. For example, entering
49
50            /bin/busybox ls
51
52    will also cause BusyBox to behave as 'ls'.
53
54    Of course, adding '/bin/busybox' into every command would be painful. So
55    most people will invoke BusyBox using links to the BusyBox binary.
56
57    For example, entering
58
59            ln -s /bin/busybox ls
60            ./ls
61
62    will cause BusyBox to behave as 'ls' (if the 'ls' command has been
63    compiled into BusyBox). Generally speaking, you should never need to
64    make all these links yourself, as the BusyBox build system will do this
65    for you when you run the 'make install' command.
66
67    If you invoke BusyBox with no arguments, it will provide you with a list
68    of the applets that have been compiled into your BusyBox binary.
69
70COMMON OPTIONS
71    Most BusyBox applets support the --help argument to provide a terse
72    runtime description of their behavior. If the
73    CONFIG_FEATURE_VERBOSE_USAGE option has been enabled, more detailed
74    usage information will also be available.
75
76COMMANDS
77    Currently available applets include:
78
79            [, [[, adjtimex, arp, arping, ash, awk, basename, bash, cat, chgrp,
80            chmod, chown, chroot, clear, cmp, cp, cut, date, dc, dd, df,
81            dirname, dmesg, dnsdomainname, du, echo, egrep, env, expr, false,
82            fgrep, find, free, ftpget, ftpput, getopt, grep, gunzip, gzip, halt,
83            hdparm, head, hexdump, hostname, id, ifconfig, ifdown, ifup, insmod,
84            install, kill, killall, klogd, less, ln, logger, login, logread, ls,
85            lsmod, md5sum, mesg, mkdir, mke2fs, mkfifo, mkfs.ext2, more, mount,
86            mv, nameif, nc, netstat, nohup, nslookup, pidof, ping, ping6,
87            pivot_root, poweroff, printf, ps, pwd, reboot, reset, rm, rmdir,
88            rmmod, route, run-parts, rx, sed, sendmail, sh, sleep, sort,
89            strings, stty, sync, syslogd, tail, tar, tee, telnet, telnetd, test,
90            time, top, touch, tr, traceroute, traceroute6, true, tty, umount,
91            uname, uniq, uptime, usleep, uudecode, uuencode, vconfig, vi, watch,
92            wc, wget, which, whoami, xargs, yes, zcat
93
94COMMAND DESCRIPTIONS
95    adjtimex
96        adjtimex [-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]
97
98    arp arp [-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME] [-v] [-i IF] -d HOSTNAME
99        [pub] [-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp] [-v] [-H
100        HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub [-v] [-H
101        HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub
102
103    arping
104        arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP
105
106    ash ash [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE
107        [ARGS]]
108
109    awk awk [OPTIONS] [AWK_PROGRAM] [FILE]...
110
111    basename
112        basename FILE [SUFFIX]
113
114    bash
115        bash [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE
116        [ARGS]]
117
118    cat cat [FILE]...
119
120    chgrp
121        chgrp [-RhLHP]... GROUP FILE...
122
123    chmod
124        chmod [-R] MODE[,MODE]... FILE...
125
126    chown
127        chown [-RhLHP]... OWNER[<.|:>[GROUP]] FILE...
128
129    chroot
130        chroot NEWROOT [PROG ARGS]
131
132    clear
133        clear
134
135    cmp cmp [-l] [-s] FILE1 [FILE2]
136
137    cp  cp [OPTIONS] SOURCE DEST
138
139    cut cut [OPTIONS] [FILE]...
140
141    date
142        date [OPTIONS] [+FMT] [TIME]
143
144    dc  dc EXPRESSION...
145
146    dd  dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N]
147
148    df  df [-Pkmhai] [-B SIZE] [FILESYSTEM]...
149
150    dirname
151        dirname FILENAME
152
153    dmesg
154        dmesg [-c] [-n LEVEL] [-s SIZE]
155
156    du  du [-aHLdclsxhmk] [FILE]...
157
158    echo
159        echo [-neE] [ARG]...
160
161    env env [-iu] [-] [name=value]... [PROG ARGS]
162
163    expr
164        expr EXPRESSION
165
166    false
167        false
168
169    find
170        find [PATH]... [OPTIONS] [ACTIONS]
171
172    free
173        free
174
175    ftpget
176        ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE
177
178    ftpput
179        ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE
180
181    getopt
182        getopt [OPTIONS]
183
184    grep
185        grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f
186        FILE [FILE]...
187
188    gunzip
189        gunzip [-cft] [FILE]...
190
191    gzip
192        gzip [-cfd] [FILE]...
193
194    halt
195        halt [-d DELAY] [-n] [-f]
196
197    hdparm
198        hdparm [OPTIONS] [DEVICE]
199
200    head
201        head [OPTIONS] [FILE]...
202
203    hexdump
204        hexdump [-bcCdefnosvx] [FILE]...
205
206    hostname
207        hostname [OPTIONS] [HOSTNAME | -F FILE]
208
209    id  id [OPTIONS] [USER]
210
211    ifconfig
212        ifconfig [-a] interface [address]
213
214    ifdown
215        ifdown [-anvf] [-i FILE] IFACE...
216
217    ifup
218        ifup [-anvf] [-i FILE] IFACE...
219
220    insmod
221        insmod [OPTIONS] MODULE [SYMBOL=VALUE]...
222
223    install
224        install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST
225
226    kill
227        kill [-l] [-SIG] PID...
228
229    killall
230        killall [-l] [-q] [-SIG] PROCESS_NAME...
231
232    klogd
233        klogd [-c N] [-n]
234
235    less
236        less [-EMNmh~I?] [FILE]...
237
238    ln  ln [OPTIONS] TARGET... LINK|DIR
239
240    logger
241        logger [OPTIONS] [MESSAGE]
242
243    login
244        login [-p] [-h HOST] [[-f] USER]
245
246    logread
247        logread [-f]
248
249    ls  ls [-1AaCxdLHRFplinsehrSXvctu] [-w WIDTH] [FILE]...
250
251    lsmod
252        lsmod
253
254    md5sum
255        md5sum [FILE]...
256
257    mesg
258        mesg [y|n]
259
260    mkdir
261        mkdir [OPTIONS] DIRECTORY...
262
263    mke2fs
264        mke2fs [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m
265        RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
266
267    mkfifo
268        mkfifo [-m MODE] NAME
269
270    mkfs.ext2
271        mkfs.ext2 [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m
272        RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
273
274    more
275        more [FILE]...
276
277    mount
278        mount [OPTIONS] [-o OPTS] DEVICE NODE
279
280    mv  mv [-fin] SOURCE DEST or: mv [-fin] SOURCE... DIRECTORY
281
282    nameif
283        nameif [-s] [-c FILE] [IFNAME HWADDR]...
284
285    nc  nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
286
287    netstat
288        netstat [-ral] [-tuwx] [-en]
289
290    nohup
291        nohup PROG ARGS
292
293    nslookup
294        nslookup [HOST] [SERVER]
295
296    pidof
297        pidof [OPTIONS] [NAME]...
298
299    ping
300        ping [OPTIONS] HOST
301
302    ping6
303        ping6 [OPTIONS] HOST
304
305    pivot_root
306        pivot_root NEW_ROOT PUT_OLD
307
308    poweroff
309        poweroff [-d DELAY] [-n] [-f]
310
311    printf
312        printf FORMAT [ARGUMENT]...
313
314    ps  ps
315
316    pwd pwd
317
318    reboot
319        reboot [-d DELAY] [-n] [-f]
320
321    reset
322        reset
323
324    rm  rm [-irf] FILE...
325
326    rmdir
327        rmdir [OPTIONS] DIRECTORY...
328
329    rmmod
330        rmmod [-wfa] [MODULE]...
331
332    route
333        route [{add|del|delete}]
334
335    run-parts
336        run-parts [-t] [-a ARG] [-u MASK] DIRECTORY
337
338    rx  rx FILE
339
340    sed sed [-efinr] SED_CMD [FILE]...
341
342    sendmail
343        sendmail [OPTIONS] [RECIPIENT_EMAIL]...
344
345    sh  sh [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE
346        [ARGS]]
347
348    sleep
349        sleep [N]...
350
351    sort
352        sort [-nrugMcszbdfimSTokt] [-o FILE] [-k
353        start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...
354
355    strings
356        strings [-afo] [-n LEN] [FILE]...
357
358    stty
359        stty [-a|g] [-F DEVICE] [SETTING]...
360
361    sync
362        sync
363
364    syslogd
365        syslogd [OPTIONS]
366
367    tail
368        tail [OPTIONS] [FILE]...
369
370    tar tar -[cxtzhvO] [-f TARFILE] [-C DIR] [FILE]...
371
372    tee tee [-ai] [FILE]...
373
374    telnet
375        telnet [-a] [-l USER] HOST [PORT]
376
377    telnetd
378        telnetd [OPTIONS]
379
380    test
381        test EXPRESSION ]
382
383    time
384        time [-v] PROG ARGS
385
386    top top [-b] [-nCOUNT] [-dSECONDS] [-m]
387
388    touch
389        touch [-c] FILE [FILE]...
390
391    tr  tr [-cds] STRING1 [STRING2]
392
393    traceroute
394        traceroute [-46FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q
395        PROBES] [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]
396        [-z PAUSE_MSEC] HOST [BYTES]
397
398    traceroute6
399        traceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES] [-s SRC_IP]
400        [-t TOS] [-w WAIT_SEC] [-i IFACE] HOST [BYTES]
401
402    true
403        true
404
405    tty tty
406
407    umount
408        umount [OPTIONS] FILESYSTEM|DIRECTORY
409
410    uname
411        uname [-amnrspv]
412
413    uniq
414        uniq [-cdu][-f,s,w N] [INPUT [OUTPUT]]
415
416    uptime
417        uptime
418
419    usleep
420        usleep N
421
422    uudecode
423        uudecode [-o OUTFILE] [INFILE]
424
425    uuencode
426        uuencode [-m] [INFILE] STORED_FILENAME
427
428    vconfig
429        vconfig COMMAND [OPTIONS]
430
431    vi  vi [OPTIONS] [FILE]...
432
433    watch
434        watch [-n SEC] [-t] PROG ARGS
435
436    wc  wc [-clwL] [FILE]...
437
438    wget
439        wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...
440
441    which
442        which [COMMAND]...
443
444    whoami
445        whoami
446
447    xargs
448        xargs [OPTIONS] [PROG ARGS]
449
450    yes yes [STRING]
451
452    zcat
453        zcat FILE
454
455LIBC NSS
456    GNU Libc (glibc) uses the Name Service Switch (NSS) to configure the
457    behavior of the C library for the local environment, and to configure
458    how it reads system data, such as passwords and group information. This
459    is implemented using an /etc/nsswitch.conf configuration file, and using
460    one or more of the /lib/libnss_* libraries. BusyBox tries to avoid using
461    any libc calls that make use of NSS. Some applets however, such as login
462    and su, will use libc functions that require NSS.
463
464    If you enable CONFIG_USE_BB_PWD_GRP, BusyBox will use internal functions
465    to directly access the /etc/passwd, /etc/group, and /etc/shadow files
466    without using NSS. This may allow you to run your system without the
467    need for installing any of the NSS configuration files and libraries.
468
469    When used with glibc, the BusyBox 'networking' applets will similarly
470    require that you install at least some of the glibc NSS stuff (in
471    particular, /etc/nsswitch.conf, /lib/libnss_dns*, /lib/libnss_files*,
472    and /lib/libresolv*).
473
474    Shameless Plug: As an alternative, one could use a C library such as
475    uClibc. In addition to making your system significantly smaller, uClibc
476    does not require the use of any NSS support files or libraries.
477
478MAINTAINER
479    Denis Vlasenko <vda.linux@googlemail.com>
480
481AUTHORS
482    The following people have contributed code to BusyBox whether they know
483    it or not. If you have written code included in BusyBox, you should
484    probably be listed here so you can obtain your bit of eternal glory. If
485    you should be listed here, or the description of what you have done
486    needs more detail, or is incorrect, please send in an update.
487
488    Emanuele Aina <emanuele.aina@tiscali.it> run-parts
489
490    Erik Andersen <andersen@codepoet.org>
491
492        Tons of new stuff, major rewrite of most of the
493        core apps, tons of new apps as noted in header files.
494        Lots of tedious effort writing these boring docs that
495        nobody is going to actually read.
496
497    Laurence Anderson <l.d.anderson@warwick.ac.uk>
498
499        rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
500
501    Jeff Angielski <jeff@theptrgroup.com>
502
503        ftpput, ftpget
504
505    Edward Betts <edward@debian.org>
506
507        expr, hostid, logname, whoami
508
509    John Beppu <beppu@codepoet.org>
510
511        du, nslookup, sort
512
513    Brian Candler <B.Candler@pobox.com>
514
515        tiny-ls(ls)
516
517    Randolph Chung <tausq@debian.org>
518
519        fbset, ping, hostname
520
521    Dave Cinege <dcinege@psychosis.com>
522
523        more(v2), makedevs, dutmp, modularization, auto links file,
524        various fixes, Linux Router Project maintenance
525
526    Jordan Crouse <jordan@cosmicpenguin.net>
527
528        ipcalc
529
530    Magnus Damm <damm@opensource.se>
531
532        tftp client insmod powerpc support
533
534    Larry Doolittle <ldoolitt@recycle.lbl.gov>
535
536        pristine source directory compilation, lots of patches and fixes.
537
538    Glenn Engel <glenne@engel.org>
539
540        httpd
541
542    Gennady Feldman <gfeldman@gena01.com>
543
544        Sysklogd (single threaded syslogd, IPC Circular buffer support,
545        logread), various fixes.
546
547    Karl M. Hegbloom <karlheg@debian.org>
548
549        cp_mv.c, the test suite, various fixes to utility.c, &c.
550
551    Daniel Jacobowitz <dan@debian.org>
552
553        mktemp.c
554
555    Matt Kraai <kraai@alumni.cmu.edu>
556
557        documentation, bugfixes, test suite
558
559    Stephan Linz <linz@li-pro.net>
560
561        ipcalc, Red Hat equivalence
562
563    John Lombardo <john@deltanet.com>
564
565        tr
566
567    Glenn McGrath <bug1@iinet.net.au>
568
569        Common unarchiving code and unarchiving applets, ifupdown, ftpgetput,
570        nameif, sed, patch, fold, install, uudecode.
571        Various bugfixes, review and apply numerous patches.
572
573    Manuel Novoa III <mjn3@codepoet.org>
574
575        cat, head, mkfifo, mknod, rmdir, sleep, tee, tty, uniq, usleep, wc, yes,
576        mesg, vconfig, make_directory, parse_mode, dirname, mode_string,
577        get_last_path_component, simplify_path, and a number trivial libbb routines
578
579        also bug fixes, partial rewrites, and size optimizations in
580        ash, basename, cal, cmp, cp, df, du, echo, env, ln, logname, md5sum, mkdir,
581        mv, realpath, rm, sort, tail, touch, uname, watch, arith, human_readable,
582        interface, dutmp, ifconfig, route
583
584    Vladimir Oleynik <dzo@simtreas.ru>
585
586        cmdedit; xargs(current), httpd(current);
587        ports: ash, crond, fdisk, inetd, stty, traceroute, top;
588        locale, various fixes
589        and irreconcilable critic of everything not perfect.
590
591    Bruce Perens <bruce@pixar.com>
592
593        Original author of BusyBox in 1995, 1996. Some of his code can
594        still be found hiding here and there...
595
596    Tim Riker <Tim@Rikers.org>
597
598        bug fixes, member of fan club
599
600    Kent Robotti <robotti@metconnect.com>
601
602        reset, tons and tons of bug reports and patches.
603
604    Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com>
605
606        wget - Contributed by permission of Covad Communications
607
608    Pavel Roskin <proski@gnu.org>
609
610        Lots of bugs fixes and patches.
611
612    Gyepi Sam <gyepi@praxis-sw.com>
613
614        Remote logging feature for syslogd
615
616    Linus Torvalds <torvalds@transmeta.com>
617
618        mkswap, fsck.minix, mkfs.minix
619
620    Mark Whitley <markw@codepoet.org>
621
622        grep, sed, cut, xargs(previous),
623        style-guide, new-applet-HOWTO, bug fixes, etc.
624
625    Charles P. Wright <cpwright@villagenet.com>
626
627        gzip, mini-netcat(nc)
628
629    Enrique Zanardi <ezanardi@ull.es>
630
631        tarcat (since removed), loadkmap, various fixes, Debian maintenance
632
633    Tito Ragusa <farmatito@tiscali.it>
634
635        devfsd and size optimizations in strings, openvt and deallocvt.
636
637    Paul Fox <pgf@foxharp.boston.ma.us>
638
639        vi editing mode for ash, various other patches/fixes
640
641    Roberto A. Foglietta <me@roberto.foglietta.name>
642
643        port: dnsd
644
645    Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
646
647        misc
648
649    Mike Frysinger <vapier@gentoo.org>
650
651        initial e2fsprogs, printenv, setarch, sum, misc
652
653    Jie Zhang <jie.zhang@analog.com>
654
655        fixed two bugs in msh and hush (exitcode of killed processes)
656
Note: See TracBrowser for help on using the repository browser.