3 <TITLE>BusyBox - The Swiss Army Knife of Embedded Linux</TITLE>
4 <LINK REV="made" HREF="mailto:none">
13 <LI><A HREF="#NAME">NAME</A>
14 <LI><A HREF="#SYNTAX">SYNTAX</A>
15 <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
16 <LI><A HREF="#USAGE">USAGE</A>
17 <LI><A HREF="#COMMON_OPTIONS">COMMON OPTIONS</A>
18 <LI><A HREF="#COMMANDS">COMMANDS</A>
19 <LI><A HREF="#LIBC_NSS">LIBC NSS</A>
20 <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
21 <LI><A HREF="#MAINTAINER">MAINTAINER</A>
22 <LI><A HREF="#AUTHORS">AUTHORS</A>
28 <H1><A NAME="NAME">NAME</A></H1>
30 BusyBox - The Swiss Army Knife of Embedded Linux
34 <H1><A NAME="SYNTAX">SYNTAX</A></H1>
36 <PRE> BusyBox <function> [arguments...] # or
39 <PRE> <function> [arguments...] # if symlinked
43 <H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
45 BusyBox combines tiny versions of many common UNIX utilities into a single
46 small executable. It provides minimalist replacements for most of the
47 utilities you usually find in fileutils, shellutils, findutils, textutils,
48 grep, gzip, tar, etc. BusyBox provides a fairly complete POSIX environment
49 for any small or emdedded system. The utilities in BusyBox generally have
50 fewer options then their full featured GNU cousins; however, the options
51 that are included provide the expected functionality and behave very much
52 like their GNU counterparts.
55 BusyBox has been written with size-optimization and limited resources in
56 mind. It is also extremely modular so you can easily include or exclude
57 commands (or features) at compile time. This makes it easy to customize
58 your embedded systems. To create a working system, just add a kernel, a
59 shell (such as ash), and an editor (such as elvis-tiny or ae).
63 <H1><A NAME="USAGE">USAGE</A></H1>
65 When you create a link to BusyBox for the function you wish to use, when
66 BusyBox is called using that link it will behave as if the command itself
73 <PRE> ln -s ./BusyBox ls
77 will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
81 You can also invoke BusyBox by issuing the command as an argument on the
82 command line. For example, entering
88 will also cause BusyBox to behave as 'ls'.
92 <H1><A NAME="COMMON_OPTIONS">COMMON OPTIONS</A></H1>
94 Most BusyBox commands support the <STRONG>--help</STRONG> option to provide a terse runtime description of their behavior.
98 <H1><A NAME="COMMANDS">COMMANDS</A></H1>
100 Currently defined functions include:
103 basename, cat, chgrp, chmod, chown, chroot, clear, chvt, cp, cut, date, dd,
104 df, dirname, dmesg, du, dutmp, echo, false, fbset, fdflush, find, free,
105 freeramdisk, deallocvt, fsck.minix, grep, gunzip, gzip, halt, head, hostid,
106 hostname, id, init, kill, killall, length, ln, loadacm, loadfont, loadkmap,
107 logger, logname, ls, lsmod, makedevs, math, mkdir, mkfifo, mkfs.minix,
108 mknod, mkswap, mktemp, nc, more, mount, mt, mv, nslookup, ping, poweroff,
109 printf, ps, pwd, reboot, rm, rmdir, rmmod, sed, setkeycodes, sh, sfdisk,
110 sleep, sort, sync, syslogd, swapon, swapoff, tail, tar, test, tee, touch,
111 tr, true, tty, umount, uname, uniq, update, uptime, usleep, wc, whoami,
115 -------------------------------
118 <DT><STRONG><A NAME="item_basename">basename</A></STRONG><DD>
120 Usage: basename FILE [SUFFIX]
123 Strips directory path and suffixes from FILE. If specified, also removes
130 <PRE> $ basename /usr/local/bin/foo
132 $ basename /usr/local/bin/
134 $ basename /foo/bar.txt .txt
138 -------------------------------
140 <DT><STRONG><A NAME="item_cat">cat</A></STRONG><DD>
142 Usage: cat [FILE ...]
145 Concatenates <CODE>FILE(s)</CODE> and prints them to the standard output.
151 <PRE> $ cat /proc/uptime
155 -------------------------------
157 <DT><STRONG><A NAME="item_chgrp">chgrp</A></STRONG><DD>
159 Usage: chgrp [OPTION]... GROUP FILE...
162 Change the group membership of each FILE to GROUP.
168 <PRE> -R change files and directories recursively
174 <PRE> $ ls -l /tmp/foo
175 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
176 $ chgrp root /tmp/foo
178 -r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo
181 -------------------------------
183 <DT><STRONG><A NAME="item_chmod">chmod</A></STRONG><DD>
185 Usage: chmod [<STRONG>-R</STRONG>] MODE[,MODE]... FILE...
188 Changes file access permissions for the specified <CODE>FILE(s)</CODE> (or
189 directories). Each MODE is defined by combining the letters for WHO has
190 access to the file, an OPERATOR for selecting how the permissions should be
191 changed, and a PERISSION for <CODE>FILE(s)</CODE> (or directories).
194 WHO may be chosen from
197 <PRE> u User who owns the file
198 g Users in the file's Group
199 o Other users not in the file's group
203 OPERATOR may be chosen from
206 <PRE> + Add a permission
207 - Remove a permission
208 = Assign a permission
210 PERMISSION may be chosen from
215 x Execute (or access for directories)
216 s Set user (or group) ID bit
217 t Stickey bit (for directories prevents removing files by non-owners)
220 Alternately, permissions can be set numerically where the first three
221 numbers are calculated by adding the octal values, such as
229 An optional fourth digit can also be used to specify
240 <PRE> -R Change files and directories recursively.
245 <PRE> $ ls -l /tmp/foo
246 -rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo
249 -rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*
252 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
255 -------------------------------
257 <DT><STRONG><A NAME="item_chown">chown</A></STRONG><DD>
259 Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE...
262 Changes the owner and/or group of each FILE to OWNER and/or GROUP.
268 <PRE> -R Changes files and directories recursively
274 <PRE> $ ls -l /tmp/foo
275 -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo
276 $ chown root /tmp/foo
278 -r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo
279 $ chown root.root /tmp/foo
281 -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo
284 -------------------------------
286 <DT><STRONG><A NAME="item_chroot">chroot</A></STRONG><DD>
288 Usage: chroot NEWROOT [COMMAND...]
291 Run COMMAND with root directory set to NEWROOT. Example:
294 <PRE> $ ls -l /bin/ls
295 lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox
296 $ mount /dev/hdc1 /mnt -t minix
299 -rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*
302 -------------------------------
304 <DT><STRONG><A NAME="item_clear">clear</A></STRONG><DD>
309 -------------------------------
311 <DT><STRONG><A NAME="item_chvt">chvt</A></STRONG><DD>
316 Changes the foreground virtual terminal to /dev/ttyN
319 -------------------------------
321 <DT><STRONG><A NAME="item_cp">cp</A></STRONG><DD>
323 Usage: cp [OPTION]... SOURCE DEST
326 <PRE> or: cp [OPTION]... SOURCE... DIRECTORY
329 Copies SOURCE to DEST, or multiple <CODE>SOURCE(s)</CODE> to DIRECTORY.
335 <PRE> -a Same as -dpR
337 -p Preserves file attributes if possable
338 -R Copies directories recursively
341 -------------------------------
343 <DT><STRONG><A NAME="item_cut">cut</A></STRONG><DD>
345 Usage: cut [OPTION]... [FILE]...
348 Prints selected fields from each input FILE to standard output.
354 <PRE> -b LIST Output only bytes from LIST
355 -c LIST Output only characters from LIST
356 -d DELIM Use DELIM instead of tab as the field delimiter
357 -f N Print only these fields
364 <PRE> $ echo "Hello world" | cut -f 1 -d ' '
366 $ echo "Hello world" | cut -f 2 -d ' '
370 -------------------------------
372 <DT><STRONG><A NAME="item_date">date</A></STRONG><DD>
374 Usage: date [OPTION]... [+FORMAT]
377 <PRE> or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
380 Displays the current time in the given FORMAT, or sets the system date.
386 <PRE> -R Outputs RFC-822 compliant date string
387 -s Sets time described by STRING
388 -u Prints or sets Coordinated Universal Time
395 Wed Apr 12 18:52:41 MDT 2000
398 -------------------------------
400 <DT><STRONG><A NAME="item_dd">dd</A></STRONG><DD>
402 Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n]
405 Copy a file, converting and formatting according to options
408 <PRE> if=FILE read from FILE instead of stdin
409 of=FILE write to FILE instead of stdout
410 bs=n read and write n bytes at a time
411 count=n copy only n input blocks
412 skip=n skip n input blocks
413 seek=n skip n output blocks
416 Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2)
420 <PRE> $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4
425 -------------------------------
427 <DT><STRONG><A NAME="item_df">df</A></STRONG><DD>
429 Usage: df [filesystem ...]
432 Prints the filesystem space used and space available.
439 Filesystem 1k-blocks Used Available Use% Mounted on
440 /dev/sda3 8690864 8553540 137324 98% /
441 /dev/sda1 64216 36364 27852 57% /boot
443 Filesystem 1k-blocks Used Available Use% Mounted on
444 /dev/sda3 8690864 8553540 137324 98% /
447 -------------------------------
449 <DT><STRONG><A NAME="item_dirname">dirname</A></STRONG><DD>
454 Strip non-directory suffix from file name
460 <PRE> $ dirname /tmp/foo
466 -------------------------------
468 <DT><STRONG><A NAME="item_dmesg">dmesg</A></STRONG><DD>
470 Usage: dmesg [<STRONG>-c</STRONG>] [<STRONG>-n</STRONG> level] [<STRONG>-s</STRONG> bufsize] Print or controls the kernel ring buffer.
473 -------------------------------
475 <DT><STRONG><A NAME="item_du">du</A></STRONG><DD>
477 Usage: du [OPTION]... [FILE]...
480 Summarize disk space used for each FILE and/or directory. Disk space is
481 printed in units of 1k (i.e. 1024 bytes).
487 <PRE> -l count sizes many times if hard linked
488 -s display only a total for each argument
496 12 ./kernel-patches/CVS
506 -------------------------------
508 <DT><STRONG><A NAME="item_dutmp">dutmp</A></STRONG><DD>
513 Dump utmp file format (pipe delimited) from FILE or stdin to stdout.
519 <PRE> $ dutmp /var/run/utmp
520 8|7||si|||0|0|0|955637625|760097|0
521 2|0|~|~~|reboot||0|0|0|955637625|782235|0
522 1|20020|~|~~|runlevel||0|0|0|955637625|800089|0
523 8|125||l4|||0|0|0|955637629|998367|0
524 6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0
525 6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0
526 7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0
528 -------------------------------
530 <DT><STRONG><A NAME="item_echo">echo</A></STRONG><DD>
532 Usage: echo [-neE] [ARG ...]
535 Prints the specified ARGs to stdout
541 <PRE> -n suppress trailing newline
542 -e interpret backslash-escaped characters (i.e. \t=tab etc)
543 -E disable interpretation of backslash-escaped characters
549 <PRE> $ echo "Erik is cool"
551 $ echo -e "Erik\nis\ncool"
555 $ echo "Erik\nis\ncool"
558 -------------------------------
560 <DT><STRONG><A NAME="item_false">false</A></STRONG><DD>
562 Returns an exit code of FALSE (1)
573 -------------------------------
575 <DT><STRONG><A NAME="item_fbset">fbset</A></STRONG><DD>
577 Usage: fbset [options] [mode]
580 Show and modify frame buffer device settings
604 mode "1024x768-76"
605 # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
606 geometry 1024 768 1024 768 16
607 timings 12714 128 32 16 4 128 4
609 rgba 5/11,6/5,5/0,0/0
613 -------------------------------
615 <DT><STRONG><A NAME="item_fdflush">fdflush</A></STRONG><DD>
617 Usage: fdflush device
620 Force floppy disk drive to detect disk change
623 -------------------------------
625 <DT><STRONG><A NAME="item_find">find</A></STRONG><DD>
627 Usage: find [PATH...] [EXPRESSION]
630 Search for files in a directory hierarchy. The default PATH is the current
631 directory; default EXPRESSION is '-print'
634 EXPRESSION may consist of:
637 <PRE> -follow Dereference symbolic links.
638 -name PATTERN File name (leading directories removed) matches PATTERN.
639 -print print the full file name followed by a newline to stdout.
645 <PRE> $ find / -name /etc/passwd
649 -------------------------------
651 <DT><STRONG><A NAME="item_free">free</A></STRONG><DD>
656 Displays the amount of free and used system memory.
663 total used free shared buffers
664 Mem: 257628 248724 8904 59644 93124
665 Swap: 128516 8404 120112
666 Total: 386144 257128 129016
669 -------------------------------
671 <DT><STRONG><A NAME="item_freeramdisk">freeramdisk</A></STRONG><DD>
673 Usage: freeramdisk DEVICE
676 Frees all memory used by the specified ramdisk.
682 <PRE> $ freeramdisk /dev/ram2
685 -------------------------------
687 <DT><STRONG><A NAME="item_deallocvt">deallocvt</A></STRONG><DD>
692 Deallocates unused virtual terminal /dev/ttyN
695 -------------------------------
697 <DT><STRONG><A NAME="item_fsck">fsck.minix</A></STRONG><DD>
699 Usage: fsck.minix [<STRONG>-larvsmf</STRONG>] /dev/name
702 Performs a consistency check for MINIX filesystems.
708 <PRE> -l Lists all filenames
709 -r Perform interactive repairs
710 -a Perform automatic repairs
712 -s Outputs super-block information
713 -m Activates MINIX-like "mode not cleared" warnings
714 -f Force file system check.
717 -------------------------------
719 <DT><STRONG><A NAME="item_grep">grep</A></STRONG><DD>
721 Usage: grep [OPTIONS]... PATTERN [FILE]...
724 Search for PATTERN in each FILE or standard input.
730 <PRE> -h suppress the prefixing filename on output
731 -i ignore case distinctions
732 -n print line number with output lines
733 -q be quiet. Returns 0 if result was found, 1 otherwise
734 -v select non-matching lines
737 This version of grep matches full regular expresions.
743 <PRE> $ grep root /etc/passwd
744 root:x:0:0:root:/root:/bin/bash
745 $ grep ^[rR]oo. /etc/passwd
746 root:x:0:0:root:/root:/bin/bash
749 -------------------------------
751 <DT><STRONG><A NAME="item_gunzip">gunzip</A></STRONG><DD>
753 Usage: gunzip [OPTION]... FILE
756 Uncompress FILE (or standard input if FILE is '-').
762 <PRE> -c Write output to standard output
763 -t Test compressed file integrity
769 <PRE> $ ls -la /tmp/BusyBox*
770 -rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz
771 $ gunzip /tmp/BusyBox-0.43.tar.gz
772 $ ls -la /tmp/BusyBox*
773 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
776 -------------------------------
778 <DT><STRONG><A NAME="item_gzip">gzip</A></STRONG><DD>
780 Usage: gzip [OPTION]... FILE
783 Compress FILE with maximum compression. When FILE is '-', reads standard
784 input. Implies <STRONG>-c</STRONG>.
790 <PRE> -c Write output to standard output instead of FILE.gz
796 <PRE> $ ls -la /tmp/BusyBox*
797 -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar
798 $ gzip /tmp/BusyBox-0.43.tar
799 $ ls -la /tmp/BusyBox*
800 -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz
803 -------------------------------
805 <DT><STRONG><A NAME="item_halt">halt</A></STRONG><DD>
810 This comand halts the system.
813 -------------------------------
815 <DT><STRONG><A NAME="item_head">head</A></STRONG><DD>
817 Usage: head [OPTION] [FILE]...
820 Print first 10 lines of each FILE to standard output. With more than one
821 FILE, precede each with a header giving the file name. With no FILE, or
822 when FILE is -, read standard input.
828 <PRE> -n NUM Print first NUM lines instead of first 10
834 <PRE> $ head -n 2 /etc/passwd
835 root:x:0:0:root:/root:/bin/bash
836 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
839 -------------------------------
841 <DT><STRONG><A NAME="item_hostid">hostid</A></STRONG><DD>
846 Prints out a unique 32-bit identifier for the current machine. The 32-bit
847 identifier is intended to be unique among all UNIX systems in existence.
850 -------------------------------
852 <DT><STRONG><A NAME="item_hostname">hostname</A></STRONG><DD>
854 Usage: hostname [OPTION] {hostname | <STRONG>-F</STRONG> file}
857 Get or set the hostname or DNS domain name. If a hostname is given (or a
858 file with the <STRONG>-F</STRONG> parameter), the host name will be set.
865 -i Addresses for the hostname
867 -F FILE Use the contents of FILE to specify the hostname
877 -------------------------------
879 <DT><STRONG><A NAME="item_id">id</A></STRONG><DD>
881 Print information for USERNAME or the current user
887 <PRE> -g prints only the group ID
888 -u prints only the user ID
889 -r prints the real user ID instead of the effective ID (with -ug)
896 uid=1000(andersen) gid=1000(andersen)
899 -------------------------------
901 <DT><STRONG><A NAME="item_init">init</A></STRONG><DD>
906 Init is the parent of all processes.
909 This version of init is designed to be run only by the kernel.
912 BusyBox init doesn't support multiple runlevels. The runlevels field of the
913 /etc/inittab file is completely ignored by BusyBox init. If you want
914 runlevels, use sysvinit.
917 BusyBox init works just fine without an inittab. If no inittab is found, it
918 has the following default behavior:
921 <PRE> ::sysinit:/etc/init.d/rcS
925 if it detects that /dev/console is _not_ a serial console, it will also
929 <PRE> tty2::askfirst:/bin/sh
932 If you choose to use an /etc/inittab file, the inittab entry format is as
936 <PRE> <id>:<runlevels>:<action>:<process>
942 <PRE> WARNING: This field has a non-traditional meaning for BusyBox init!
943 The id field is used by BusyBox init to specify the controlling tty for
944 the specified process to run on. The contents of this field are
945 appended to "/dev/" and used as-is. There is no need for this field to
946 be unique, although if it isn't you may have strange results. If this
947 field is left blank, it is completely ignored. Also note that if
948 BusyBox detects that a serial console is in use, then all entries
949 containing non-empty id fields will _not_ be run. BusyBox init does
950 nothing with utmp. We don't need no stinkin' utmp.
953 <PRE> <runlevels>:
956 <PRE> The runlevels field is completely ignored.
959 <PRE> <action>:
962 <PRE> Valid actions include: sysinit, respawn, askfirst, wait,
963 once, and ctrlaltdel.
966 <PRE> askfirst acts just like respawn, but before running the specified
967 process it displays the line "Please press Enter to activate this
968 console." and then waits for the user to press enter before starting
969 the specified process.
972 <PRE> Unrecognised actions (like initdefault) will cause init to emit
973 an error message, and then go along with its business.
976 <PRE> <process>:
979 <PRE> Specifies the process to be executed and it's command line.
982 Example /etc/inittab file:
985 <PRE> # This is run first except when booting in single-user mode.
987 ::sysinit:/etc/init.d/rcS
990 <PRE> # /bin/sh invocations on selected ttys
992 # Start an "askfirst" shell on the console (whatever that may be)
994 # Start an "askfirst" shell on /dev/tty2
995 tty2::askfirst:/bin/sh
998 <PRE> # /sbin/getty invocations for selected ttys
1000 tty4::respawn:/sbin/getty 38400 tty4
1001 tty5::respawn:/sbin/getty 38400 tty5
1004 <PRE> # Example of how to put a getty on a serial line (for a terminal)
1006 #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
1007 #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
1009 # Example how to put a getty on a modem line.
1010 #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
1013 <PRE> # Stuff to do before rebooting
1014 ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1
1015 ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1
1018 -------------------------------
1020 <DT><STRONG><A NAME="item_kill">kill</A></STRONG><DD>
1022 Usage: kill [<STRONG>-signal</STRONG>] process-id [process-id ...]
1025 Send a signal (default is SIGTERM) to the specified
1026 <CODE>process(es).</CODE>
1032 <PRE> -l List all signal names and numbers.
1038 <PRE> $ ps | grep apache
1039 252 root root S [apache]
1040 263 www-data www-data S [apache]
1041 264 www-data www-data S [apache]
1042 265 www-data www-data S [apache]
1043 266 www-data www-data S [apache]
1044 267 www-data www-data S [apache]
1048 -------------------------------
1050 <DT><STRONG><A NAME="item_killall">killall</A></STRONG><DD>
1052 Usage: killall [<STRONG>-signal</STRONG>] process-name [process-name ...]
1055 Send a signal (default is SIGTERM) to the specified
1056 <CODE>process(es).</CODE>
1062 <PRE> -l List all signal names and numbers.
1068 <PRE> $ killall apache
1071 -------------------------------
1073 <DT><STRONG><A NAME="item_length">length</A></STRONG><DD>
1075 Usage: length STRING
1078 Prints out the length of the specified STRING.
1084 <PRE> $ length "Hello"
1088 -------------------------------
1090 <DT><STRONG><A NAME="item_ln">ln</A></STRONG><DD>
1092 Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY
1095 Create a link named LINK_NAME or DIRECTORY to the specified TARGET Options:
1098 <PRE> -s make symbolic links instead of hard links
1099 -f remove existing destination files
1104 <PRE> $ ln -s BusyBox /tmp/ls
1106 lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*
1109 -------------------------------
1111 <DT><STRONG><A NAME="item_loadacm">loadacm</A></STRONG><DD>
1116 Loads an acm from standard input.
1122 <PRE> $ loadacm < /etc/i18n/acmname
1125 -------------------------------
1127 <DT><STRONG><A NAME="item_loadfont">loadfont</A></STRONG><DD>
1132 Loads a console font from standard input.
1138 <PRE> $ loadfont < /etc/i18n/fontname
1141 -------------------------------
1143 <DT><STRONG><A NAME="item_loadkmap">loadkmap</A></STRONG><DD>
1148 Loads a binary keyboard translation table from standard input.
1154 <PRE> $ loadkmap < /etc/i18n/lang-keymap
1157 -------------------------------
1159 <DT><STRONG><A NAME="item_logger">logger</A></STRONG><DD>
1161 Usage: logger [OPTION]... [MESSAGE]
1164 Write MESSAGE to the system log. If MESSAGE is '-', log stdin.
1170 <PRE> -s Log to stderr as well as the system log.
1171 -t Log using the specified tag (defaults to user name).
1172 -p Enter the message with the specified priority.
1173 This may be numerical or a ``facility.level'' pair.
1179 <PRE> $ logger "hello"
1182 -------------------------------
1184 <DT><STRONG><A NAME="item_logname">logname</A></STRONG><DD>
1189 Print the name of the current user.
1199 -------------------------------
1201 <DT><STRONG><A NAME="item_ls">ls</A></STRONG><DD>
1203 Usage: ls [<STRONG>-1acdelnpuxACF</STRONG>] [filenames...]
1209 <PRE> -a do not hide entries starting with .
1210 -c with -l: show ctime (the time of last
1211 modification of file status information)
1212 -d list directory entries instead of contents
1213 -e list both full date and full time
1214 -l use a long listing format
1215 -n list numeric UIDs and GIDs instead of names
1216 -p append indicator (one of /=@|) to entries
1217 -u with -l: show access time (the time of last
1219 -x list entries by lines instead of by columns
1220 -A do not list implied . and ..
1221 -C list entries by columns
1222 -F append indicator (one of */=@|) to entries
1225 -------------------------------
1227 <DT><STRONG><A NAME="item_lsmod">lsmod</A></STRONG><DD>
1232 Shows a list of all currently loaded kernel modules.
1235 -------------------------------
1237 <DT><STRONG><A NAME="item_makedevs">makedevs</A></STRONG><DD>
1239 Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
1242 Creates a range of block or character special files
1248 <PRE> b: Make a block (buffered) device.
1249 c or u: Make a character (un-buffered) device.
1250 p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.
1253 FIRST specifies the number appended to NAME to create the first device.
1254 LAST specifies the number of the last item that should be created. If 's'
1255 is the last argument, the base device is created as well.
1261 <PRE> $ makedevs /dev/ttyS c 4 66 2 63
1262 [creates ttyS2-ttyS63]
1263 $ makedevs /dev/hda b 3 0 0 8 s
1264 [creates hda,hda1-hda8]
1267 -------------------------------
1269 <DT><STRONG><A NAME="item_math">math</A></STRONG><DD>
1271 Usage: math expression ...
1274 This is a Tiny RPN calculator that understands the following operations: +,
1275 -, /, *, and, or, not, eor.
1281 <PRE> $ math 2 2 add
1283 $ math 8 8 \* 2 2 + /
1291 -------------------------------
1293 <DT><STRONG><A NAME="item_mkdir">mkdir</A></STRONG><DD>
1295 Usage: mkdir [OPTION] DIRECTORY...
1298 Create the <CODE>DIRECTORY(ies),</CODE> if they do not already exist
1304 <PRE> -m set permission mode (as in chmod), not rwxrwxrwx - umask
1305 -p no error if dir exists, make parent directories as needed
1311 <PRE> $ mkdir /tmp/foo
1313 /tmp/foo: File exists
1314 $ mkdir /tmp/foo/bar/baz
1315 /tmp/foo/bar/baz: No such file or directory
1316 $ mkdir -p /tmp/foo/bar/baz
1319 -------------------------------
1321 <DT><STRONG><A NAME="item_mkfifo">mkfifo</A></STRONG><DD>
1323 Usage: mkfifo [OPTIONS] name
1326 Creates a named pipe (identical to 'mknod name p')
1332 <PRE> -m create the pipe using the specified mode (default a=rw)
1335 -------------------------------
1337 <DT><STRONG><A NAME="item_mkfs">mkfs.minix</A></STRONG><DD>
1339 Usage: mkfs.minix [<STRONG>-c</STRONG> | <STRONG>-l</STRONG> filename] [<STRONG>-nXX</STRONG>] [<STRONG>-iXX</STRONG>] /dev/name [blocks]
1342 Make a MINIX filesystem.
1348 <PRE> -c Check the device for bad blocks
1349 -n [14|30] Specify the maximum length of filenames
1350 -i Specify the number of inodes for the filesystem
1351 -l FILENAME Read the bad blocks list from FILENAME
1352 -v Make a Minix version 2 filesystem
1355 -------------------------------
1357 <DT><STRONG><A NAME="item_mknod">mknod</A></STRONG><DD>
1359 Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR
1362 Create a special file (block, character, or pipe).
1368 <PRE> -m create the special file using the specified mode (default a=rw)
1371 TYPEs include: b: Make a block (buffered) device. c or u: Make a character
1372 (un-buffered) device. p: Make a named pipe. MAJOR and MINOR are ignored for
1379 <PRE> $ mknod /dev/fd0 b 2 0
1380 $ mknod -m 644 /tmp/pipe p
1383 -------------------------------
1385 <DT><STRONG><A NAME="item_mkswap">mkswap</A></STRONG><DD>
1387 Usage: mkswap [<STRONG>-c</STRONG>] [<STRONG>-v0</STRONG>|<STRONG>-v1</STRONG>] device [block-count]
1390 Prepare a disk partition to be used as a swap partition.
1396 <PRE> -c Check for read-ability.
1397 -v0 Make version 0 swap [max 128 Megs].
1398 -v1 Make version 1 swap [big!] (default for kernels > 2.1.117).
1399 block-count Number of block to use (default is entire partition).
1402 -------------------------------
1404 <DT><STRONG><A NAME="item_mktemp">mktemp</A></STRONG><DD>
1406 Usage: mktemp [<STRONG>-q</STRONG>] TEMPLATE
1409 Creates a temporary file with its name based on TEMPLATE. TEMPLATE is any
1410 name with six `Xs' (i.e. /tmp/temp.XXXXXX).
1416 <PRE> $ mktemp /tmp/temp.XXXXXX
1418 $ ls -la /tmp/temp.mWiLjM
1419 -rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM
1422 -------------------------------
1424 <DT><STRONG><A NAME="item_nc">nc</A></STRONG><DD>
1426 Usage: nc [IP] [port]
1429 Netcat opens a pipe to IP:port
1435 <PRE> $ nc foobar.somedomain.com 25
1436 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600
1438 214-Commands supported:
1439 214- HELO EHLO MAIL RCPT DATA AUTH
1440 214 NOOP QUIT RSET HELP
1442 221 foobar closing connection
1444 -------------------------------
1446 <DT><STRONG><A NAME="item_more">more</A></STRONG><DD>
1448 Usage: more [file ...]
1451 More is a filter for paging through text one screenful at a time.
1457 <PRE> $ dmesg | more
1460 -------------------------------
1462 <DT><STRONG><A NAME="item_mount">mount</A></STRONG><DD>
1464 Usage: mount [flags] mount [flags] device directory [<STRONG>-o</STRONG> options,more-options]
1470 <PRE> -a: Mount all file systems in fstab.
1471 -o option: One of many filesystem options, listed below.
1472 -r: Mount the filesystem read-only.
1473 -t fs-type: Specify the filesystem type.
1474 -w: Mount for reading and writing (default).
1477 Options for use with the ``<STRONG>-o</STRONG>'' flag:
1480 <PRE> async/sync: Writes are asynchronous / synchronous.
1481 atime/noatime: Enable / disable updates to inode access times.
1482 dev/nodev: Allow use of special device files / disallow them.
1483 exec/noexec: Allow use of executable files / disallow them.
1484 loop: Mounts a file via loop device.
1485 suid/nosuid: Allow set-user-id-root programs / disallow them.
1486 remount: Re-mount a currently-mounted filesystem, changing its flags.
1487 ro/rw: Mount for read-only / read-write.
1488 There are EVEN MORE flags that are specific to each filesystem.
1489 You'll have to see the written documentation for those.
1496 /dev/hda3 on / type minix (rw)
1497 proc on /proc type proc (rw)
1498 devpts on /dev/pts type devpts (rw)
1499 $ mount /dev/fd0 /mnt -t msdos -o ro
1500 $ mount /tmp/diskimage /opt -t ext2 -o loop
1503 -------------------------------
1505 <DT><STRONG><A NAME="item_mt">mt</A></STRONG><DD>
1507 Usage: mt [<STRONG>-f</STRONG> device] opcode value
1510 Control magnetic tape drive operation
1513 -------------------------------
1515 <DT><STRONG><A NAME="item_mv">mv</A></STRONG><DD>
1517 Usage: mv SOURCE DEST
1520 <PRE> or: mv SOURCE... DIRECTORY
1523 Rename SOURCE to DEST, or move <CODE>SOURCE(s)</CODE> to DIRECTORY.
1529 <PRE> $ mv /tmp/foo /bin/bar
1532 -------------------------------
1534 <DT><STRONG><A NAME="item_nslookup">nslookup</A></STRONG><DD>
1536 Usage: nslookup [HOST]
1539 Queries the nameserver for the IP address of the given HOST
1545 <PRE> $ nslookup localhost
1554 -------------------------------
1556 <DT><STRONG><A NAME="item_ping">ping</A></STRONG><DD>
1558 Usage: ping [OPTION]... host
1561 Send ICMP ECHO_REQUEST packets to network hosts.
1567 <PRE> -c COUNT Send only COUNT pings.
1568 -q Quiet mode, only displays output at start
1573 <PRE> $ ping localhost
1574 PING slag (127.0.0.1): 56 data bytes
1575 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms
1578 <PRE> --- debian ping statistics ---
1579 1 packets transmitted, 1 packets received, 0% packet loss
1580 round-trip min/avg/max = 20.1/20.1/20.1 ms
1583 -------------------------------
1585 <DT><STRONG><A NAME="item_poweroff">poweroff</A></STRONG><DD>
1587 Shuts down the system, and requests that the kernel turn off power upon
1591 -------------------------------
1593 <DT><STRONG><A NAME="item_printf">printf</A></STRONG><DD>
1595 Usage: printf format [argument...]
1598 Formats and prints the given data in a manner similar to the C printf
1605 <PRE> $ printf "Val=%d\n" 5
1609 -------------------------------
1611 <DT><STRONG><A NAME="item_ps">ps</A></STRONG><DD>
1616 Report process status
1619 This version of ps accepts no options.
1626 PID Uid Gid State Command
1628 2 root root S [kflushd]
1629 3 root root S [kupdate]
1630 4 root root S [kpiod]
1631 5 root root S [kswapd]
1632 742 andersen andersen S [bash]
1633 743 andersen andersen S -bash
1634 745 root root S [getty]
1635 2990 andersen andersen R ps
1638 -------------------------------
1640 <DT><STRONG><A NAME="item_pwd">pwd</A></STRONG><DD>
1642 Prints the full filename of the current working directory.
1652 -------------------------------
1654 <DT><STRONG><A NAME="item_reboot">reboot</A></STRONG><DD>
1656 Instructs the kernel to reboot the system.
1659 -------------------------------
1661 <DT><STRONG><A NAME="item_rm">rm</A></STRONG><DD>
1663 Usage: rm [OPTION]... FILE...
1666 Remove (unlink) the <CODE>FILE(s).</CODE>
1672 <PRE> -f remove existing destinations, never prompt
1673 -r or -R remove the contents of directories recursively
1679 <PRE> $ rm -rf /tmp/foo
1682 -------------------------------
1684 <DT><STRONG><A NAME="item_rmdir">rmdir</A></STRONG><DD>
1686 Usage: rmdir [OPTION]... DIRECTORY...
1689 Remove the <CODE>DIRECTORY(ies),</CODE> if they are empty.
1695 <PRE> # rmdir /tmp/foo
1698 -------------------------------
1700 <DT><STRONG><A NAME="item_rmmod">rmmod</A></STRONG><DD>
1702 Usage: rmmod [OPTION]... [MODULE]...
1705 Unloads the specified kernel modules from the kernel.
1711 <PRE> -a Try to remove all unused kernel modules.
1720 -------------------------------
1722 <DT><STRONG><A NAME="item_sed">sed</A></STRONG><DD>
1724 Usage: sed [<STRONG>-n</STRONG>] <STRONG>-e</STRONG> script [file...]
1727 Allowed sed scripts come in the following form:
1730 <PRE> 'ADDR [!] COMMAND'
1733 <PRE> where address ADDR can be:
1734 NUMBER Match specified line number
1736 /REGEXP/ Match specified regexp
1737 (! inverts the meaning of the match)
1740 <PRE> and COMMAND can be:
1741 s/regexp/replacement/[igp]
1742 which attempt to match regexp against the pattern space
1743 and if successful replaces the matched portion with replacement.
1747 which appends TEXT after the pattern space
1753 <PRE> -e add the script to the commands to be executed
1754 -n suppress automatic printing of pattern space
1757 This version of sed matches full regular expresions.
1763 <PRE> $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'
1767 -------------------------------
1769 <DT><STRONG><A NAME="item_setkeycodes">setkeycodes</A></STRONG><DD>
1771 Usage: setkeycodes SCANCODE KEYCODE ...
1774 Set entries into the kernel's scancode-to-keycode map, allowing unusual
1775 keyboards to generate usable keycodes.
1778 SCANCODE may be either xx or e0xx (hexadecimal), and KEYCODE is given in
1785 <PRE> # setkeycodes e030 127
1788 -------------------------------
1790 <DT><STRONG><A NAME="item_sh">sh</A></STRONG><DD>
1795 lash -- the BusyBox LAme SHell (command interpreter)
1798 This command does not yet have proper documentation.
1801 Use lash just as you would use any other shell. It properly handles pipes,
1802 redirects, job control, can be used as the shell for scripts (#!/bin/sh),
1803 and has a sufficient set of builtins to do what is needed. It does not
1804 (yet) support Bourne Shell syntax. If you need things like
1805 ``if-then-else'', ``while'', and such, use ash or bash. If you just need a
1806 very simple and extremely small shell, this will do the job.
1809 -------------------------------
1811 <DT><STRONG><A NAME="item_sfdisk">sfdisk</A></STRONG><DD>
1813 Usage: sfdisk [options] device ...
1816 device: something like /dev/hda or /dev/sda
1822 <PRE> -s [or --show-size]: list size of a partition
1823 -c [or --id]: print or change partition Id
1824 -l [or --list]: list partitions of each device
1825 -d [or --dump]: idem, but in a format suitable for later input
1826 -i [or --increment]: number cylinders etc. from 1 instead of from 0
1827 -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/cylinders/MB
1828 -T [or --list-types]:list the known partition types
1829 -D [or --DOS]: for DOS-compatibility: waste a little space
1830 -R [or --re-read]: make kernel reread partition table
1831 -N# : change only the partition with number #
1832 -n : do not actually write to disk
1833 -O file : save the sectors that will be overwritten to file
1834 -I file : restore these sectors again
1835 -v [or --version]: print version
1836 -? [or --help]: print this message
1842 <PRE> -g [or --show-geometry]: print the kernel's idea of the geometry
1843 -x [or --show-extended]: also list extended partitions on output
1846 <PRE> or expect descriptors for them on input
1847 -L [or --Linux]: do not complain about things irrelevant for Linux
1848 -q [or --quiet]: suppress warning messages
1849 You can override the detected geometry using:
1850 -C# [or --cylinders #]:set the number of cylinders to use
1851 -H# [or --heads #]: set the number of heads to use
1852 -S# [or --sectors #]: set the number of sectors to use
1855 You can disable all consistency checking with:
1858 <PRE> -f [or --force]: do what I say, even if it is stupid
1861 -------------------------------
1863 <DT><STRONG><A NAME="item_sleep">sleep</A></STRONG><DD>
1868 Pause for N seconds.
1875 [2 second delay results]
1878 -------------------------------
1880 <DT><STRONG><A NAME="item_sort">sort</A></STRONG><DD>
1882 Usage: sort [<STRONG>-n</STRONG>] [<STRONG>-r</STRONG>] [FILE]...
1885 Sorts lines of text in the specified files
1891 <PRE> $ echo -e "e\nf\nb\nd\nc\na" | sort
1900 -------------------------------
1902 <DT><STRONG><A NAME="item_sync">sync</A></STRONG><DD>
1907 Write all buffered filesystem blocks to disk.
1910 -------------------------------
1912 <DT><STRONG><A NAME="item_syslogd">syslogd</A></STRONG><DD>
1914 Usage: syslogd [OPTION]...
1917 Linux system and kernel (provides klogd) logging utility. Note that this
1918 version of syslogd/klogd ignores /etc/syslog.conf.
1924 <PRE> -m Change the mark timestamp interval. default=20min. 0=off
1925 -n Do not fork into the background (for when run by init)
1926 -K Do not start up the klogd process (by default syslogd spawns klogd).
1927 -O Specify an alternate log file. default=/var/log/messages
1930 -------------------------------
1932 <DT><STRONG><A NAME="item_swapon">swapon</A></STRONG><DD>
1934 Usage: swapon [OPTION] [device]
1937 Start swapping virtual memory pages on the given device.
1943 <PRE> -a Start swapping on all swap devices
1946 -------------------------------
1948 <DT><STRONG><A NAME="item_swapoff">swapoff</A></STRONG><DD>
1950 Usage: swapoff [OPTION] [device]
1953 Stop swapping virtual memory pages on the given device.
1959 <PRE> -a Stop swapping on all swap devices
1962 -------------------------------
1964 <DT><STRONG><A NAME="item_tail">tail</A></STRONG><DD>
1966 Usage: tail [OPTION] [FILE]...
1969 Print last 10 lines of each FILE to standard output. With more than one
1970 FILE, precede each with a header giving the file name. With no FILE, or
1971 when FILE is -, read standard input.
1977 <PRE> -n NUM Print last NUM lines instead of first 10
1978 -f Output data as the file grows. This version
1979 of 'tail -f' supports only one file at a time.
1985 <PRE> $ tail -n 1 /etc/resolv.conf
1989 -------------------------------
1991 <DT><STRONG><A NAME="item_tar">tar</A></STRONG><DD>
1993 Usage: tar -[cxtvO] [<STRONG>--exclude</STRONG> File] [<STRONG>-f</STRONG> tarFile] [FILE] ...
1996 Create, extract, or list files from a tar file. Note that this version of
1997 tar treats hard links as separate files.
2000 Main operation mode:
2011 <PRE> f name of tarfile or "-" for stdin
2013 --exclude file to exclude
2019 <PRE> v verbosely list files processed
2025 <PRE> $ zcat /tmp/tarball.tar.gz | tar -xf -
2026 $ tar -cf /tmp/tarball.tar /usr/local
2029 -------------------------------
2031 <DT><STRONG><A NAME="item_test">test, [</A></STRONG><DD>
2033 Usage: test EXPRESSION or [ EXPRESSION ]
2036 Checks file types and compares values returning an exit code determined by
2037 the value of EXPRESSION.
2043 <PRE> $ test 1 -eq 2
2057 -------------------------------
2059 <DT><STRONG><A NAME="item_tee">tee</A></STRONG><DD>
2061 Usage: tee [OPTION]... [FILE]...
2064 Copy standard input to each FILE, and also to standard output.
2070 <PRE> -a append to the given FILEs, do not overwrite
2076 <PRE> $ echo "Hello" | tee /tmp/foo
2081 -------------------------------
2083 <DT><STRONG><A NAME="item_touch">touch</A></STRONG><DD>
2085 Usage: touch [<STRONG>-c</STRONG>] file [file ...]
2088 Update the last-modified date on (or create) the selected file[s].
2094 <PRE> $ ls -l /tmp/foo
2095 /bin/ls: /tmp/foo: No such file or directory
2098 -rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo
2101 -------------------------------
2103 <DT><STRONG><A NAME="item_tr">tr</A></STRONG><DD>
2105 Usage: tr [-cds] STRING1 [STRING2]
2108 Translate, squeeze, and/or delete characters from standard input, writing
2115 <PRE> -c take complement of STRING1
2116 -d delete input characters coded STRING1
2117 -s squeeze multiple output characters of STRING2 into one character
2123 <PRE> $ echo "gdkkn vnqkc" | tr [a-y] [b-z]
2127 -------------------------------
2129 <DT><STRONG><A NAME="item_true">true</A></STRONG><DD>
2131 Returns an exit code of TRUE (0)
2142 -------------------------------
2144 <DT><STRONG><A NAME="item_tty">tty</A></STRONG><DD>
2149 Print the file name of the terminal connected to standard input.
2155 <PRE> -s print nothing, only return an exit status
2165 -------------------------------
2167 <DT><STRONG><A NAME="item_umount">umount</A></STRONG><DD>
2169 Usage: umount [flags] filesystem|directory
2175 <PRE> -a: Unmount all file systems
2176 -r: Try to remount devices as read-only if mount is busy
2177 -f: Force filesystem umount (i.e. unreachable NFS server)
2178 -l: Do not free loop device (if a loop device has been used)
2184 <PRE> $ umount /dev/hdc1
2187 -------------------------------
2189 <DT><STRONG><A NAME="item_uname">uname</A></STRONG><DD>
2191 Usage: uname [OPTION]...
2194 Print certain system information. With no OPTION, same as <STRONG>-s</STRONG>.
2200 <PRE> -a print all information
2201 -m the machine (hardware) type
2202 -n print the machine's network node hostname
2203 -r print the operating system release
2204 -s print the operating system name
2205 -p print the host processor type
2206 -v print the operating system version
2213 Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown
2216 -------------------------------
2218 <DT><STRONG><A NAME="item_uniq">uniq</A></STRONG><DD>
2220 Usage: uniq [OPTION]... [INPUT [OUTPUT]]
2223 Discard all but one of successive identical lines from INPUT (or standard
2224 input), writing to OUTPUT (or standard output).
2230 <PRE> $ echo -e "a\na\nb\nc\nc\na" | sort | uniq
2236 -------------------------------
2238 <DT><STRONG><A NAME="item_update">update</A></STRONG><DD>
2240 Usage: update [options]
2243 Periodically flushes filesystem buffers.
2249 <PRE> -S force use of sync(2) instead of flushing
2250 -s SECS call sync this often (default 30)
2251 -f SECS flush some buffers this often (default 5)
2254 -------------------------------
2256 <DT><STRONG><A NAME="item_uptime">uptime</A></STRONG><DD>
2261 Tells how long the system has been running since boot.
2268 1:55pm up 2:30, load average: 0.09, 0.04, 0.00
2271 -------------------------------
2273 <DT><STRONG><A NAME="item_usleep">usleep</A></STRONG><DD>
2278 Pauses for N microseconds.
2284 <PRE> $ usleep 1000000
2285 [pauses for 1 second]
2288 -------------------------------
2290 <DT><STRONG><A NAME="item_wc">wc</A></STRONG><DD>
2292 Usage: wc [OPTION]... [FILE]...
2295 Print line, word, and byte counts for each FILE, and a total line if more
2296 than one FILE is specified. With no FILE, read standard input.
2302 <PRE> -c print the byte counts
2303 -l print the newline counts
2304 -L print the length of the longest line
2305 -w print the word counts
2311 <PRE> $ wc /etc/passwd
2312 31 46 1365 /etc/passwd
2315 -------------------------------
2317 <DT><STRONG><A NAME="item_whoami">whoami</A></STRONG><DD>
2322 Prints the user name associated with the current effective user id.
2332 -------------------------------
2334 <DT><STRONG><A NAME="item_yes">yes</A></STRONG><DD>
2336 Usage: yes [OPTION]... [STRING]...
2339 Repeatedly outputs a line with all specified <CODE>STRING(s),</CODE> or
2343 -------------------------------
2345 <DT><STRONG><A NAME="item_zcat">zcat</A></STRONG><DD>
2347 This is essentially an alias for invoking ``gunzip <STRONG>-c</STRONG>'', where it decompresses the file inquestion and send the output to
2351 -------------------------------
2356 <H1><A NAME="LIBC_NSS">LIBC NSS</A></H1>
2358 GNU Libc uses the Name Service Switch (NSS) to configure the behavior of
2359 the C library for the local environment, and to configure how it reads
2360 system data, such as passwords and group information. BusyBox has made it
2361 Policy that it will never use NSS, and will never use and libc calls that
2362 make use of NSS. This allows you to run an embedded system without the need
2363 for installing an /etc/nsswitch.conf file and without and /lib/libnss_*
2364 libraries installed.
2367 If you are using a system that is using a remote LDAP server for
2368 authentication via GNU libc NSS, and you want to use BusyBox, then you will
2369 need to adjust the BusyBox source. Chances are though, that if you have
2370 enough space to install of that stuff on your system, then you probably
2371 want the full GNU utilities.
2375 <H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
2377 <CODE>textutils(1),</CODE> <CODE>shellutils(1),</CODE> etc...
2381 <H1><A NAME="MAINTAINER">MAINTAINER</A></H1>
2383 Erik Andersen <<A
2384 HREF="mailto:andersee@debian.org">andersee@debian.org</A>> <<A
2385 HREF="mailto:andersen@lineo.com">andersen@lineo.com</A>>
2389 <H1><A NAME="AUTHORS">AUTHORS</A></H1>
2391 The following people have contributed code to BusyBox whether they know it
2395 Erik Andersen <<A
2396 HREF="mailto:andersee@debian.org">andersee@debian.org</A>>
2401 John Beppu <<A HREF="mailto:beppu@lineo.com">beppu@lineo.com</A>>
2406 Brian Candler <<A
2407 HREF="mailto:B.Candler@pobox.com">B.Candler@pobox.com</A>>
2412 Randolph Chung <<A
2413 HREF="mailto:tausq@debian.org">tausq@debian.org</A>>
2419 HREF="mailto:dcinege@psychosis.com">dcinege@psychosis.com</A>>
2424 Karl M. Hegbloom <<A
2425 HREF="mailto:karlheg@debian.org">karlheg@debian.org</A>>
2430 John Lombardo <<A
2431 HREF="mailto:john@deltanet.com">john@deltanet.com</A>>
2436 Bruce Perens <<A HREF="mailto:bruce@perens.com">bruce@perens.com</A>>
2441 Linus Torvalds <<A
2442 HREF="mailto:torvalds@transmeta.com">torvalds@transmeta.com</A>>
2447 Charles P. Wright <<A
2448 HREF="mailto:cpwright@villagenet.com">cpwright@villagenet.com</A>>
2453 Enrique Zanardi <<A
2454 HREF="mailto:ezanardi@ull.es">ezanardi@ull.es</A>>