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

Last change on this file since 17633 was 17633, checked in by BrainSlayer, 20 months ago

ext2fs header fix

File size: 16.6 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            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, pivot_root,
87            poweroff, printf, ps, pwd, reboot, reset, rm, rmdir, rmmod, route,
88            run-parts, rx, sed, sendmail, sh, sleep, sort, strings, stty, sync,
89            syslogd, tail, tar, tee, telnet, telnetd, test, time, top, touch,
90            tr, traceroute, true, tty, umount, uname, uniq, uptime, usleep,
91            uudecode, uuencode, vconfig, vi, watch, wc, wget, which, whoami,
92            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    head
198        head [OPTIONS] [FILE]...
199
200    hexdump
201        hexdump [-bcCdefnosvx] [FILE]...
202
203    hostname
204        hostname [OPTIONS] [HOSTNAME | -F FILE]
205
206    id  id [OPTIONS] [USER]
207
208    ifconfig
209        ifconfig [-a] interface [address]
210
211    ifdown
212        ifdown [-anvf] [-i FILE] IFACE...
213
214    ifup
215        ifup [-anvf] [-i FILE] IFACE...
216
217    insmod
218        insmod [OPTIONS] MODULE [SYMBOL=VALUE]...
219
220    install
221        install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST
222
223    kill
224        kill [-l] [-SIG] PID...
225
226    killall
227        killall [-l] [-q] [-SIG] PROCESS_NAME...
228
229    klogd
230        klogd [-c N] [-n]
231
232    less
233        less [-EMNmh~I?] [FILE]...
234
235    ln  ln [OPTIONS] TARGET... LINK|DIR
236
237    logger
238        logger [OPTIONS] [MESSAGE]
239
240    login
241        login [-p] [-h HOST] [[-f] USER]
242
243    logread
244        logread [-f]
245
246    ls  ls [-1AaCxdLHRFplinsehrSXvctu] [-w WIDTH] [FILE]...
247
248    lsmod
249        lsmod
250
251    md5sum
252        md5sum [FILE]...
253
254    mesg
255        mesg [y|n]
256
257    mkdir
258        mkdir [OPTIONS] DIRECTORY...
259
260    mke2fs
261        mke2fs [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m
262        RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
263
264    mkfifo
265        mkfifo [-m MODE] NAME
266
267    mkfs.ext2
268        mkfs.ext2 [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m
269        RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
270
271    more
272        more [FILE]...
273
274    mount
275        mount [OPTIONS] [-o OPTS] DEVICE NODE
276
277    mv  mv [-fin] SOURCE DEST or: mv [-fin] SOURCE... DIRECTORY
278
279    nameif
280        nameif [-s] [-c FILE] [IFNAME HWADDR]...
281
282    nc  nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
283
284    netstat
285        netstat [-ral] [-tuwx] [-en]
286
287    nohup
288        nohup PROG ARGS
289
290    nslookup
291        nslookup [HOST] [SERVER]
292
293    pidof
294        pidof [OPTIONS] [NAME]...
295
296    ping
297        ping [OPTIONS] HOST
298
299    pivot_root
300        pivot_root NEW_ROOT PUT_OLD
301
302    poweroff
303        poweroff [-d DELAY] [-n] [-f]
304
305    printf
306        printf FORMAT [ARGUMENT]...
307
308    ps  ps
309
310    pwd pwd
311
312    reboot
313        reboot [-d DELAY] [-n] [-f]
314
315    reset
316        reset
317
318    rm  rm [-irf] FILE...
319
320    rmdir
321        rmdir [OPTIONS] DIRECTORY...
322
323    rmmod
324        rmmod [-wfa] [MODULE]...
325
326    route
327        route [{add|del|delete}]
328
329    run-parts
330        run-parts [-t] [-a ARG] [-u MASK] DIRECTORY
331
332    rx  rx FILE
333
334    sed sed [-efinr] SED_CMD [FILE]...
335
336    sendmail
337        sendmail [OPTIONS] [RECIPIENT_EMAIL]...
338
339    sh  sh [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE
340        [ARGS]]
341
342    sleep
343        sleep [N]...
344
345    sort
346        sort [-nrugMcszbdfimSTokt] [-o FILE] [-k
347        start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...
348
349    strings
350        strings [-afo] [-n LEN] [FILE]...
351
352    stty
353        stty [-a|g] [-F DEVICE] [SETTING]...
354
355    sync
356        sync
357
358    syslogd
359        syslogd [OPTIONS]
360
361    tail
362        tail [OPTIONS] [FILE]...
363
364    tar tar -[cxtzhvO] [-f TARFILE] [-C DIR] [FILE]...
365
366    tee tee [-ai] [FILE]...
367
368    telnet
369        telnet [-a] [-l USER] HOST [PORT]
370
371    telnetd
372        telnetd [OPTIONS]
373
374    test
375        test EXPRESSION ]
376
377    time
378        time [-v] PROG ARGS
379
380    top top [-b] [-nCOUNT] [-dSECONDS] [-m]
381
382    touch
383        touch [-c] FILE [FILE]...
384
385    tr  tr [-cds] STRING1 [STRING2]
386
387    traceroute
388        traceroute [-FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]
389        [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z
390        PAUSE_MSEC] HOST [BYTES]
391
392    true
393        true
394
395    tty tty
396
397    umount
398        umount [OPTIONS] FILESYSTEM|DIRECTORY
399
400    uname
401        uname [-amnrspv]
402
403    uniq
404        uniq [-cdu][-f,s,w N] [INPUT [OUTPUT]]
405
406    uptime
407        uptime
408
409    usleep
410        usleep N
411
412    uudecode
413        uudecode [-o OUTFILE] [INFILE]
414
415    uuencode
416        uuencode [-m] [INFILE] STORED_FILENAME
417
418    vconfig
419        vconfig COMMAND [OPTIONS]
420
421    vi  vi [OPTIONS] [FILE]...
422
423    watch
424        watch [-n SEC] [-t] PROG ARGS
425
426    wc  wc [-clwL] [FILE]...
427
428    wget
429        wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...
430
431    which
432        which [COMMAND]...
433
434    whoami
435        whoami
436
437    xargs
438        xargs [OPTIONS] [PROG ARGS]
439
440    yes yes [STRING]
441
442    zcat
443        zcat FILE
444
445LIBC NSS
446    GNU Libc (glibc) uses the Name Service Switch (NSS) to configure the
447    behavior of the C library for the local environment, and to configure
448    how it reads system data, such as passwords and group information. This
449    is implemented using an /etc/nsswitch.conf configuration file, and using
450    one or more of the /lib/libnss_* libraries. BusyBox tries to avoid using
451    any libc calls that make use of NSS. Some applets however, such as login
452    and su, will use libc functions that require NSS.
453
454    If you enable CONFIG_USE_BB_PWD_GRP, BusyBox will use internal functions
455    to directly access the /etc/passwd, /etc/group, and /etc/shadow files
456    without using NSS. This may allow you to run your system without the
457    need for installing any of the NSS configuration files and libraries.
458
459    When used with glibc, the BusyBox 'networking' applets will similarly
460    require that you install at least some of the glibc NSS stuff (in
461    particular, /etc/nsswitch.conf, /lib/libnss_dns*, /lib/libnss_files*,
462    and /lib/libresolv*).
463
464    Shameless Plug: As an alternative, one could use a C library such as
465    uClibc. In addition to making your system significantly smaller, uClibc
466    does not require the use of any NSS support files or libraries.
467
468MAINTAINER
469    Denis Vlasenko <vda.linux@googlemail.com>
470
471AUTHORS
472    The following people have contributed code to BusyBox whether they know
473    it or not. If you have written code included in BusyBox, you should
474    probably be listed here so you can obtain your bit of eternal glory. If
475    you should be listed here, or the description of what you have done
476    needs more detail, or is incorrect, please send in an update.
477
478    Emanuele Aina <emanuele.aina@tiscali.it> run-parts
479
480    Erik Andersen <andersen@codepoet.org>
481
482        Tons of new stuff, major rewrite of most of the
483        core apps, tons of new apps as noted in header files.
484        Lots of tedious effort writing these boring docs that
485        nobody is going to actually read.
486
487    Laurence Anderson <l.d.anderson@warwick.ac.uk>
488
489        rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
490
491    Jeff Angielski <jeff@theptrgroup.com>
492
493        ftpput, ftpget
494
495    Edward Betts <edward@debian.org>
496
497        expr, hostid, logname, whoami
498
499    John Beppu <beppu@codepoet.org>
500
501        du, nslookup, sort
502
503    Brian Candler <B.Candler@pobox.com>
504
505        tiny-ls(ls)
506
507    Randolph Chung <tausq@debian.org>
508
509        fbset, ping, hostname
510
511    Dave Cinege <dcinege@psychosis.com>
512
513        more(v2), makedevs, dutmp, modularization, auto links file,
514        various fixes, Linux Router Project maintenance
515
516    Jordan Crouse <jordan@cosmicpenguin.net>
517
518        ipcalc
519
520    Magnus Damm <damm@opensource.se>
521
522        tftp client insmod powerpc support
523
524    Larry Doolittle <ldoolitt@recycle.lbl.gov>
525
526        pristine source directory compilation, lots of patches and fixes.
527
528    Glenn Engel <glenne@engel.org>
529
530        httpd
531
532    Gennady Feldman <gfeldman@gena01.com>
533
534        Sysklogd (single threaded syslogd, IPC Circular buffer support,
535        logread), various fixes.
536
537    Karl M. Hegbloom <karlheg@debian.org>
538
539        cp_mv.c, the test suite, various fixes to utility.c, &c.
540
541    Daniel Jacobowitz <dan@debian.org>
542
543        mktemp.c
544
545    Matt Kraai <kraai@alumni.cmu.edu>
546
547        documentation, bugfixes, test suite
548
549    Stephan Linz <linz@li-pro.net>
550
551        ipcalc, Red Hat equivalence
552
553    John Lombardo <john@deltanet.com>
554
555        tr
556
557    Glenn McGrath <bug1@iinet.net.au>
558
559        Common unarchiving code and unarchiving applets, ifupdown, ftpgetput,
560        nameif, sed, patch, fold, install, uudecode.
561        Various bugfixes, review and apply numerous patches.
562
563    Manuel Novoa III <mjn3@codepoet.org>
564
565        cat, head, mkfifo, mknod, rmdir, sleep, tee, tty, uniq, usleep, wc, yes,
566        mesg, vconfig, make_directory, parse_mode, dirname, mode_string,
567        get_last_path_component, simplify_path, and a number trivial libbb routines
568
569        also bug fixes, partial rewrites, and size optimizations in
570        ash, basename, cal, cmp, cp, df, du, echo, env, ln, logname, md5sum, mkdir,
571        mv, realpath, rm, sort, tail, touch, uname, watch, arith, human_readable,
572        interface, dutmp, ifconfig, route
573
574    Vladimir Oleynik <dzo@simtreas.ru>
575
576        cmdedit; xargs(current), httpd(current);
577        ports: ash, crond, fdisk, inetd, stty, traceroute, top;
578        locale, various fixes
579        and irreconcilable critic of everything not perfect.
580
581    Bruce Perens <bruce@pixar.com>
582
583        Original author of BusyBox in 1995, 1996. Some of his code can
584        still be found hiding here and there...
585
586    Tim Riker <Tim@Rikers.org>
587
588        bug fixes, member of fan club
589
590    Kent Robotti <robotti@metconnect.com>
591
592        reset, tons and tons of bug reports and patches.
593
594    Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com>
595
596        wget - Contributed by permission of Covad Communications
597
598    Pavel Roskin <proski@gnu.org>
599
600        Lots of bugs fixes and patches.
601
602    Gyepi Sam <gyepi@praxis-sw.com>
603
604        Remote logging feature for syslogd
605
606    Linus Torvalds <torvalds@transmeta.com>
607
608        mkswap, fsck.minix, mkfs.minix
609
610    Mark Whitley <markw@codepoet.org>
611
612        grep, sed, cut, xargs(previous),
613        style-guide, new-applet-HOWTO, bug fixes, etc.
614
615    Charles P. Wright <cpwright@villagenet.com>
616
617        gzip, mini-netcat(nc)
618
619    Enrique Zanardi <ezanardi@ull.es>
620
621        tarcat (since removed), loadkmap, various fixes, Debian maintenance
622
623    Tito Ragusa <farmatito@tiscali.it>
624
625        devfsd and size optimizations in strings, openvt and deallocvt.
626
627    Paul Fox <pgf@foxharp.boston.ma.us>
628
629        vi editing mode for ash, various other patches/fixes
630
631    Roberto A. Foglietta <me@roberto.foglietta.name>
632
633        port: dnsd
634
635    Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
636
637        misc
638
639    Mike Frysinger <vapier@gentoo.org>
640
641        initial e2fsprogs, printenv, setarch, sum, misc
642
643    Jie Zhang <jie.zhang@analog.com>
644
645        fixed two bugs in msh and hush (exitcode of killed processes)
646
Note: See TracBrowser for help on using the repository browser.