| <HTML> |
| <HEAD> |
| <TITLE>BusyBox - The Swiss Army Knife of Embedded Linux</TITLE> |
| <LINK REV="made" HREF="mailto:none"> |
| </HEAD> |
| |
| <BODY> |
| |
| <!-- INDEX BEGIN --> |
| |
| <UL> |
| |
| <LI><A HREF="#NAME">NAME</A> |
| <LI><A HREF="#SYNTAX">SYNTAX</A> |
| <LI><A HREF="#DESCRIPTION">DESCRIPTION</A> |
| <LI><A HREF="#USAGE">USAGE</A> |
| <LI><A HREF="#COMMON_OPTIONS">COMMON OPTIONS</A> |
| <LI><A HREF="#COMMANDS">COMMANDS</A> |
| <LI><A HREF="#LIBC_NSS">LIBC NSS</A> |
| <LI><A HREF="#SEE_ALSO">SEE ALSO</A> |
| <LI><A HREF="#MAINTAINER">MAINTAINER</A> |
| <LI><A HREF="#AUTHORS">AUTHORS</A> |
| </UL> |
| <!-- INDEX END --> |
| |
| <HR> |
| <P> |
| <H1><A NAME="NAME">NAME</A></H1> |
| <P> |
| BusyBox - The Swiss Army Knife of Embedded Linux |
| |
| <P> |
| <HR> |
| <H1><A NAME="SYNTAX">SYNTAX</A></H1> |
| <P> |
| <PRE> BusyBox <function> [arguments...] # or |
| </PRE> |
| <P> |
| <PRE> <function> [arguments...] # if symlinked |
| </PRE> |
| <P> |
| <HR> |
| <H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1> |
| <P> |
| BusyBox combines tiny versions of many common UNIX utilities into a single |
| small executable. It provides minimalist replacements for most of the |
| utilities you usually find in fileutils, shellutils, findutils, textutils, |
| grep, gzip, tar, etc. BusyBox provides a fairly complete POSIX environment |
| for any small or emdedded system. The utilities in BusyBox generally have |
| fewer options then their full featured GNU cousins; however, the options |
| that are included provide the expected functionality and behave very much |
| like their GNU counterparts. |
| |
| <P> |
| BusyBox has been written with size-optimization and limited resources in |
| mind. It is also extremely modular so you can easily include or exclude |
| commands (or features) at compile time. This makes it easy to customize |
| your embedded systems. To create a working system, just add a kernel, a |
| shell (such as ash), and an editor (such as elvis-tiny or ae). |
| |
| <P> |
| <HR> |
| <H1><A NAME="USAGE">USAGE</A></H1> |
| <P> |
| When you create a link to BusyBox for the function you wish to use, when |
| BusyBox is called using that link it will behave as if the command itself |
| has been invoked. |
| |
| <P> |
| For example, entering |
| |
| <P> |
| <PRE> ln -s ./BusyBox ls |
| ./ls |
| </PRE> |
| <P> |
| will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled |
| into BusyBox). |
| |
| <P> |
| You can also invoke BusyBox by issuing the command as an argument on the |
| command line. For example, entering |
| |
| <P> |
| <PRE> ./BusyBox ls |
| </PRE> |
| <P> |
| will also cause BusyBox to behave as 'ls'. |
| |
| <P> |
| <HR> |
| <H1><A NAME="COMMON_OPTIONS">COMMON OPTIONS</A></H1> |
| <P> |
| Most BusyBox commands support the <STRONG>--help</STRONG> option to provide a terse runtime description of their behavior. |
| |
| <P> |
| <HR> |
| <H1><A NAME="COMMANDS">COMMANDS</A></H1> |
| <P> |
| Currently defined functions include: |
| |
| <P> |
| basename, cat, chgrp, chmod, chown, chroot, clear, chvt, cp, cut, date, dd, |
| df, dirname, dmesg, du, dutmp, echo, false, fbset, fdflush, find, free, |
| freeramdisk, deallocvt, fsck.minix, grep, gunzip, gzip, halt, head, hostid, |
| hostname, id, init, kill, killall, length, ln, loadacm, loadfont, loadkmap, |
| logger, logname, ls, lsmod, makedevs, math, mkdir, mkfifo, mkfs.minix, |
| mknod, mkswap, mktemp, nc, more, mount, mt, mv, nslookup, ping, poweroff, |
| printf, ps, pwd, reboot, rm, rmdir, rmmod, sed, setkeycodes, sh, sfdisk, |
| sleep, sort, sync, syslogd, swapon, swapoff, tail, tar, test, tee, touch, |
| tr, true, tty, umount, uname, uniq, update, uptime, usleep, wc, whoami, |
| yes, zcat, [ |
| |
| <P> |
| ------------------------------- |
| |
| <DL> |
| <DT><STRONG><A NAME="item_basename">basename</A></STRONG><DD> |
| <P> |
| Usage: basename FILE [SUFFIX] |
| |
| <P> |
| Strips directory path and suffixes from FILE. If specified, also removes |
| any trailing SUFFIX. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ basename /usr/local/bin/foo |
| foo |
| $ basename /usr/local/bin/ |
| bin |
| $ basename /foo/bar.txt .txt |
| bar |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_cat">cat</A></STRONG><DD> |
| <P> |
| Usage: cat [FILE ...] |
| |
| <P> |
| Concatenates <CODE>FILE(s)</CODE> and prints them to the standard output. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ cat /proc/uptime |
| 110716.72 17.67 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_chgrp">chgrp</A></STRONG><DD> |
| <P> |
| Usage: chgrp [OPTION]... GROUP FILE... |
| |
| <P> |
| Change the group membership of each FILE to GROUP. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -R change files and directories recursively |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ls -l /tmp/foo |
| -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo |
| $ chgrp root /tmp/foo |
| $ ls -l /tmp/foo |
| -r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_chmod">chmod</A></STRONG><DD> |
| <P> |
| Usage: chmod [<STRONG>-R</STRONG>] MODE[,MODE]... FILE... |
| |
| <P> |
| Changes file access permissions for the specified <CODE>FILE(s)</CODE> (or |
| directories). Each MODE is defined by combining the letters for WHO has |
| access to the file, an OPERATOR for selecting how the permissions should be |
| changed, and a PERISSION for <CODE>FILE(s)</CODE> (or directories). |
| |
| <P> |
| WHO may be chosen from |
| |
| <P> |
| <PRE> u User who owns the file |
| g Users in the file's Group |
| o Other users not in the file's group |
| a All users |
| </PRE> |
| <P> |
| OPERATOR may be chosen from |
| |
| <P> |
| <PRE> + Add a permission |
| - Remove a permission |
| = Assign a permission |
| |
| PERMISSION may be chosen from |
| </PRE> |
| <P> |
| <PRE> r Read |
| w Write |
| x Execute (or access for directories) |
| s Set user (or group) ID bit |
| t Stickey bit (for directories prevents removing files by non-owners) |
| </PRE> |
| <P> |
| Alternately, permissions can be set numerically where the first three |
| numbers are calculated by adding the octal values, such as |
| |
| <P> |
| <PRE> 4 Read |
| 2 Write |
| 1 Execute |
| </PRE> |
| <P> |
| An optional fourth digit can also be used to specify |
| |
| <P> |
| <PRE> 4 Set user ID |
| 2 Set group ID |
| 1 Stickey bit |
| </PRE> |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -R Change files and directories recursively. |
| |
| Example: |
| </PRE> |
| <P> |
| <PRE> $ ls -l /tmp/foo |
| -rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo |
| $ chmod u+x /tmp/foo |
| $ ls -l /tmp/foo |
| -rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo* |
| $ chmod 444 /tmp/foo |
| $ ls -l /tmp/foo |
| -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_chown">chown</A></STRONG><DD> |
| <P> |
| Usage: chown [OPTION]... OWNER[<.|:>[GROUP] FILE... |
| |
| <P> |
| Changes the owner and/or group of each FILE to OWNER and/or GROUP. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -R Changes files and directories recursively |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ls -l /tmp/foo |
| -r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo |
| $ chown root /tmp/foo |
| $ ls -l /tmp/foo |
| -r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo |
| $ chown root.root /tmp/foo |
| ls -l /tmp/foo |
| -r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_chroot">chroot</A></STRONG><DD> |
| <P> |
| Usage: chroot NEWROOT [COMMAND...] |
| |
| <P> |
| Run COMMAND with root directory set to NEWROOT. Example: |
| |
| <P> |
| <PRE> $ ls -l /bin/ls |
| lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox |
| $ mount /dev/hdc1 /mnt -t minix |
| $ chroot /mnt |
| $ ls -l /bin/ls |
| -rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls* |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_clear">clear</A></STRONG><DD> |
| <P> |
| Clears the screen. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_chvt">chvt</A></STRONG><DD> |
| <P> |
| Usage: chvt N |
| |
| <P> |
| Changes the foreground virtual terminal to /dev/ttyN |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_cp">cp</A></STRONG><DD> |
| <P> |
| Usage: cp [OPTION]... SOURCE DEST |
| |
| <P> |
| <PRE> or: cp [OPTION]... SOURCE... DIRECTORY |
| </PRE> |
| <P> |
| Copies SOURCE to DEST, or multiple <CODE>SOURCE(s)</CODE> to DIRECTORY. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a Same as -dpR |
| -d Preserves links |
| -p Preserves file attributes if possable |
| -R Copies directories recursively |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_cut">cut</A></STRONG><DD> |
| <P> |
| Usage: cut [OPTION]... [FILE]... |
| |
| <P> |
| Prints selected fields from each input FILE to standard output. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -b LIST Output only bytes from LIST |
| -c LIST Output only characters from LIST |
| -d DELIM Use DELIM instead of tab as the field delimiter |
| -f N Print only these fields |
| -n Ignored |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo "Hello world" | cut -f 1 -d ' ' |
| Hello |
| $ echo "Hello world" | cut -f 2 -d ' ' |
| world |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_date">date</A></STRONG><DD> |
| <P> |
| Usage: date [OPTION]... [+FORMAT] |
| |
| <P> |
| <PRE> or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] |
| </PRE> |
| <P> |
| Displays the current time in the given FORMAT, or sets the system date. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -R Outputs RFC-822 compliant date string |
| -s Sets time described by STRING |
| -u Prints or sets Coordinated Universal Time |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ date |
| Wed Apr 12 18:52:41 MDT 2000 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_dd">dd</A></STRONG><DD> |
| <P> |
| Usage: dd [if=name] [of=name] [bs=n] [count=n] [skip=n] [seek=n] |
| |
| <P> |
| Copy a file, converting and formatting according to options |
| |
| <P> |
| <PRE> if=FILE read from FILE instead of stdin |
| of=FILE write to FILE instead of stdout |
| bs=n read and write n bytes at a time |
| count=n copy only n input blocks |
| skip=n skip n input blocks |
| seek=n skip n output blocks |
| </PRE> |
| <P> |
| Numbers may be suffixed by w (x2), k (x1024), b (x512), or M (x1024^2) |
| Example: |
| |
| <P> |
| <PRE> $ dd if=/dev/zero of=/dev/ram1 bs=1M count=4 |
| 4+0 records in |
| 4+0 records out |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_df">df</A></STRONG><DD> |
| <P> |
| Usage: df [filesystem ...] |
| |
| <P> |
| Prints the filesystem space used and space available. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ df |
| Filesystem 1k-blocks Used Available Use% Mounted on |
| /dev/sda3 8690864 8553540 137324 98% / |
| /dev/sda1 64216 36364 27852 57% /boot |
| $ df /dev/sda3 |
| Filesystem 1k-blocks Used Available Use% Mounted on |
| /dev/sda3 8690864 8553540 137324 98% / |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_dirname">dirname</A></STRONG><DD> |
| <P> |
| Usage: dirname NAME |
| |
| <P> |
| Strip non-directory suffix from file name |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ dirname /tmp/foo |
| /tmp |
| $ dirname /tmp/foo/ |
| /tmp |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_dmesg">dmesg</A></STRONG><DD> |
| <P> |
| Usage: dmesg [<STRONG>-c</STRONG>] [<STRONG>-n</STRONG> level] [<STRONG>-s</STRONG> bufsize] Print or controls the kernel ring buffer. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_du">du</A></STRONG><DD> |
| <P> |
| Usage: du [OPTION]... [FILE]... |
| |
| <P> |
| Summarize disk space used for each FILE and/or directory. Disk space is |
| printed in units of 1k (i.e. 1024 bytes). |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -l count sizes many times if hard linked |
| -s display only a total for each argument |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ./BusyBox du |
| 16 ./CVS |
| 12 ./kernel-patches/CVS |
| 80 ./kernel-patches |
| 12 ./tests/CVS |
| 36 ./tests |
| 12 ./scripts/CVS |
| 16 ./scripts |
| 12 ./docs/CVS |
| 104 ./docs |
| 2417 . |
| |
| ------------------------------- |
| </PRE> |
| <DT><STRONG><A NAME="item_dutmp">dutmp</A></STRONG><DD> |
| <P> |
| Usage: dutmp [FILE] |
| |
| <P> |
| Dump utmp file format (pipe delimited) from FILE or stdin to stdout. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ dutmp /var/run/utmp |
| 8|7||si|||0|0|0|955637625|760097|0 |
| 2|0|~|~~|reboot||0|0|0|955637625|782235|0 |
| 1|20020|~|~~|runlevel||0|0|0|955637625|800089|0 |
| 8|125||l4|||0|0|0|955637629|998367|0 |
| 6|245|tty1|1|LOGIN||0|0|0|955637630|998974|0 |
| 6|246|tty2|2|LOGIN||0|0|0|955637630|999498|0 |
| 7|336|pts/0|vt00andersen|andersen|:0.0|0|0|0|955637763|0|0 |
| |
| ------------------------------- |
| </PRE> |
| <DT><STRONG><A NAME="item_echo">echo</A></STRONG><DD> |
| <P> |
| Usage: echo [-neE] [ARG ...] |
| |
| <P> |
| Prints the specified ARGs to stdout |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -n suppress trailing newline |
| -e interpret backslash-escaped characters (i.e. \t=tab etc) |
| -E disable interpretation of backslash-escaped characters |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo "Erik is cool" |
| Erik is cool |
| $ echo -e "Erik\nis\ncool" |
| Erik |
| is |
| cool |
| $ echo "Erik\nis\ncool" |
| Erik\nis\ncool |
| |
| ------------------------------- |
| </PRE> |
| <DT><STRONG><A NAME="item_false">false</A></STRONG><DD> |
| <P> |
| Returns an exit code of FALSE (1) |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ false |
| $ echo $? |
| 1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_fbset">fbset</A></STRONG><DD> |
| <P> |
| Usage: fbset [options] [mode] |
| |
| <P> |
| Show and modify frame buffer device settings |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -h |
| -fb |
| -db |
| -a |
| -i |
| -g |
| -t |
| -accel |
| -hsync |
| -vsync |
| -laced |
| -double |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ fbset |
| mode "1024x768-76" |
| # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz |
| geometry 1024 768 1024 768 16 |
| timings 12714 128 32 16 4 128 4 |
| accel false |
| rgba 5/11,6/5,5/0,0/0 |
| endmode |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_fdflush">fdflush</A></STRONG><DD> |
| <P> |
| Usage: fdflush device |
| |
| <P> |
| Force floppy disk drive to detect disk change |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_find">find</A></STRONG><DD> |
| <P> |
| Usage: find [PATH...] [EXPRESSION] |
| |
| <P> |
| Search for files in a directory hierarchy. The default PATH is the current |
| directory; default EXPRESSION is '-print' |
| |
| <P> |
| EXPRESSION may consist of: |
| |
| <P> |
| <PRE> -follow Dereference symbolic links. |
| -name PATTERN File name (leading directories removed) matches PATTERN. |
| -print print the full file name followed by a newline to stdout. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ find / -name /etc/passwd |
| /etc/passwd |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_free">free</A></STRONG><DD> |
| <P> |
| Usage: free |
| |
| <P> |
| Displays the amount of free and used system memory. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ free |
| total used free shared buffers |
| Mem: 257628 248724 8904 59644 93124 |
| Swap: 128516 8404 120112 |
| Total: 386144 257128 129016 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_freeramdisk">freeramdisk</A></STRONG><DD> |
| <P> |
| Usage: freeramdisk DEVICE |
| |
| <P> |
| Frees all memory used by the specified ramdisk. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ freeramdisk /dev/ram2 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_deallocvt">deallocvt</A></STRONG><DD> |
| <P> |
| Usage: deallocvt N |
| |
| <P> |
| Deallocates unused virtual terminal /dev/ttyN |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_fsck">fsck.minix</A></STRONG><DD> |
| <P> |
| Usage: fsck.minix [<STRONG>-larvsmf</STRONG>] /dev/name |
| |
| <P> |
| Performs a consistency check for MINIX filesystems. |
| |
| <P> |
| OPTIONS: |
| |
| <P> |
| <PRE> -l Lists all filenames |
| -r Perform interactive repairs |
| -a Perform automatic repairs |
| -v verbose |
| -s Outputs super-block information |
| -m Activates MINIX-like "mode not cleared" warnings |
| -f Force file system check. |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_grep">grep</A></STRONG><DD> |
| <P> |
| Usage: grep [OPTIONS]... PATTERN [FILE]... |
| |
| <P> |
| Search for PATTERN in each FILE or standard input. |
| |
| <P> |
| OPTIONS: |
| |
| <P> |
| <PRE> -h suppress the prefixing filename on output |
| -i ignore case distinctions |
| -n print line number with output lines |
| -q be quiet. Returns 0 if result was found, 1 otherwise |
| -v select non-matching lines |
| </PRE> |
| <P> |
| This version of grep matches full regular expresions. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ grep root /etc/passwd |
| root:x:0:0:root:/root:/bin/bash |
| $ grep ^[rR]oo. /etc/passwd |
| root:x:0:0:root:/root:/bin/bash |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_gunzip">gunzip</A></STRONG><DD> |
| <P> |
| Usage: gunzip [OPTION]... FILE |
| |
| <P> |
| Uncompress FILE (or standard input if FILE is '-'). |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c Write output to standard output |
| -t Test compressed file integrity |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ls -la /tmp/BusyBox* |
| -rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz |
| $ gunzip /tmp/BusyBox-0.43.tar.gz |
| $ ls -la /tmp/BusyBox* |
| -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_gzip">gzip</A></STRONG><DD> |
| <P> |
| Usage: gzip [OPTION]... FILE |
| |
| <P> |
| Compress FILE with maximum compression. When FILE is '-', reads standard |
| input. Implies <STRONG>-c</STRONG>. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c Write output to standard output instead of FILE.gz |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ls -la /tmp/BusyBox* |
| -rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar |
| $ gzip /tmp/BusyBox-0.43.tar |
| $ ls -la /tmp/BusyBox* |
| -rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/BusyBox-0.43.tar.gz |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_halt">halt</A></STRONG><DD> |
| <P> |
| Usage: halt |
| |
| <P> |
| This comand halts the system. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_head">head</A></STRONG><DD> |
| <P> |
| Usage: head [OPTION] [FILE]... |
| |
| <P> |
| Print first 10 lines of each FILE to standard output. With more than one |
| FILE, precede each with a header giving the file name. With no FILE, or |
| when FILE is -, read standard input. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -n NUM Print first NUM lines instead of first 10 |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ head -n 2 /etc/passwd |
| root:x:0:0:root:/root:/bin/bash |
| daemon:x:1:1:daemon:/usr/sbin:/bin/sh |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_hostid">hostid</A></STRONG><DD> |
| <P> |
| Usage: hostid |
| |
| <P> |
| Prints out a unique 32-bit identifier for the current machine. The 32-bit |
| identifier is intended to be unique among all UNIX systems in existence. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_hostname">hostname</A></STRONG><DD> |
| <P> |
| Usage: hostname [OPTION] {hostname | <STRONG>-F</STRONG> file} |
| |
| <P> |
| Get or set the hostname or DNS domain name. If a hostname is given (or a |
| file with the <STRONG>-F</STRONG> parameter), the host name will be set. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -s Short |
| -i Addresses for the hostname |
| -d DNS domain name |
| -F FILE Use the contents of FILE to specify the hostname |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ hostname |
| slag |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_id">id</A></STRONG><DD> |
| <P> |
| Print information for USERNAME or the current user |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -g prints only the group ID |
| -u prints only the user ID |
| -r prints the real user ID instead of the effective ID (with -ug) |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ id |
| uid=1000(andersen) gid=1000(andersen) |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_init">init</A></STRONG><DD> |
| <P> |
| Usage: init |
| |
| <P> |
| Init is the parent of all processes. |
| |
| <P> |
| This version of init is designed to be run only by the kernel. |
| |
| <P> |
| BusyBox init doesn't support multiple runlevels. The runlevels field of the |
| /etc/inittab file is completely ignored by BusyBox init. If you want |
| runlevels, use sysvinit. |
| |
| <P> |
| BusyBox init works just fine without an inittab. If no inittab is found, it |
| has the following default behavior: |
| |
| <P> |
| <PRE> ::sysinit:/etc/init.d/rcS |
| ::askfirst:/bin/sh |
| </PRE> |
| <P> |
| if it detects that /dev/console is _not_ a serial console, it will also |
| run: |
| |
| <P> |
| <PRE> tty2::askfirst:/bin/sh |
| </PRE> |
| <P> |
| If you choose to use an /etc/inittab file, the inittab entry format is as |
| follows: |
| |
| <P> |
| <PRE> <id>:<runlevels>:<action>:<process> |
| </PRE> |
| <P> |
| <PRE> <id>: |
| </PRE> |
| <P> |
| <PRE> WARNING: This field has a non-traditional meaning for BusyBox init! |
| The id field is used by BusyBox init to specify the controlling tty for |
| the specified process to run on. The contents of this field are |
| appended to "/dev/" and used as-is. There is no need for this field to |
| be unique, although if it isn't you may have strange results. If this |
| field is left blank, it is completely ignored. Also note that if |
| BusyBox detects that a serial console is in use, then all entries |
| containing non-empty id fields will _not_ be run. BusyBox init does |
| nothing with utmp. We don't need no stinkin' utmp. |
| </PRE> |
| <P> |
| <PRE> <runlevels>: |
| </PRE> |
| <P> |
| <PRE> The runlevels field is completely ignored. |
| </PRE> |
| <P> |
| <PRE> <action>: |
| </PRE> |
| <P> |
| <PRE> Valid actions include: sysinit, respawn, askfirst, wait, |
| once, and ctrlaltdel. |
| </PRE> |
| <P> |
| <PRE> askfirst acts just like respawn, but before running the specified |
| process it displays the line "Please press Enter to activate this |
| console." and then waits for the user to press enter before starting |
| the specified process. |
| </PRE> |
| <P> |
| <PRE> Unrecognised actions (like initdefault) will cause init to emit |
| an error message, and then go along with its business. |
| </PRE> |
| <P> |
| <PRE> <process>: |
| </PRE> |
| <P> |
| <PRE> Specifies the process to be executed and it's command line. |
| </PRE> |
| <P> |
| Example /etc/inittab file: |
| |
| <P> |
| <PRE> # This is run first except when booting in single-user mode. |
| # |
| ::sysinit:/etc/init.d/rcS |
| </PRE> |
| <P> |
| <PRE> # /bin/sh invocations on selected ttys |
| # |
| # Start an "askfirst" shell on the console (whatever that may be) |
| ::askfirst:/bin/sh |
| # Start an "askfirst" shell on /dev/tty2 |
| tty2::askfirst:/bin/sh |
| </PRE> |
| <P> |
| <PRE> # /sbin/getty invocations for selected ttys |
| # |
| tty4::respawn:/sbin/getty 38400 tty4 |
| tty5::respawn:/sbin/getty 38400 tty5 |
| </PRE> |
| <P> |
| <PRE> # Example of how to put a getty on a serial line (for a terminal) |
| # |
| #ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100 |
| #ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100 |
| # |
| # Example how to put a getty on a modem line. |
| #ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2 |
| </PRE> |
| <P> |
| <PRE> # Stuff to do before rebooting |
| ::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1 |
| ::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_kill">kill</A></STRONG><DD> |
| <P> |
| Usage: kill [<STRONG>-signal</STRONG>] process-id [process-id ...] |
| |
| <P> |
| Send a signal (default is SIGTERM) to the specified |
| <CODE>process(es).</CODE> |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -l List all signal names and numbers. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ps | grep apache |
| 252 root root S [apache] |
| 263 www-data www-data S [apache] |
| 264 www-data www-data S [apache] |
| 265 www-data www-data S [apache] |
| 266 www-data www-data S [apache] |
| 267 www-data www-data S [apache] |
| $ kill 252 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_killall">killall</A></STRONG><DD> |
| <P> |
| Usage: killall [<STRONG>-signal</STRONG>] process-name [process-name ...] |
| |
| <P> |
| Send a signal (default is SIGTERM) to the specified |
| <CODE>process(es).</CODE> |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -l List all signal names and numbers. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ killall apache |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_length">length</A></STRONG><DD> |
| <P> |
| Usage: length STRING |
| |
| <P> |
| Prints out the length of the specified STRING. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ length "Hello" |
| 5 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_ln">ln</A></STRONG><DD> |
| <P> |
| Usage: ln [OPTION] TARGET... LINK_NAME|DIRECTORY |
| |
| <P> |
| Create a link named LINK_NAME or DIRECTORY to the specified TARGET Options: |
| |
| <P> |
| <PRE> -s make symbolic links instead of hard links |
| -f remove existing destination files |
| |
| Example: |
| </PRE> |
| <P> |
| <PRE> $ ln -s BusyBox /tmp/ls |
| $ ls -l /tmp/ls |
| lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox* |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_loadacm">loadacm</A></STRONG><DD> |
| <P> |
| Usage: loadacm |
| |
| <P> |
| Loads an acm from standard input. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ loadacm < /etc/i18n/acmname |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_loadfont">loadfont</A></STRONG><DD> |
| <P> |
| Usage: loadfont |
| |
| <P> |
| Loads a console font from standard input. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ loadfont < /etc/i18n/fontname |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_loadkmap">loadkmap</A></STRONG><DD> |
| <P> |
| Usage: loadkmap |
| |
| <P> |
| Loads a binary keyboard translation table from standard input. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ loadkmap < /etc/i18n/lang-keymap |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_logger">logger</A></STRONG><DD> |
| <P> |
| Usage: logger [OPTION]... [MESSAGE] |
| |
| <P> |
| Write MESSAGE to the system log. If MESSAGE is '-', log stdin. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -s Log to stderr as well as the system log. |
| -t Log using the specified tag (defaults to user name). |
| -p Enter the message with the specified priority. |
| This may be numerical or a ``facility.level'' pair. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ logger "hello" |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_logname">logname</A></STRONG><DD> |
| <P> |
| Usage: logname |
| |
| <P> |
| Print the name of the current user. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ logname |
| root |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_ls">ls</A></STRONG><DD> |
| <P> |
| Usage: ls [<STRONG>-1acdelnpuxACF</STRONG>] [filenames...] |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a do not hide entries starting with . |
| -c with -l: show ctime (the time of last |
| modification of file status information) |
| -d list directory entries instead of contents |
| -e list both full date and full time |
| -l use a long listing format |
| -n list numeric UIDs and GIDs instead of names |
| -p append indicator (one of /=@|) to entries |
| -u with -l: show access time (the time of last |
| access of the file) |
| -x list entries by lines instead of by columns |
| -A do not list implied . and .. |
| -C list entries by columns |
| -F append indicator (one of */=@|) to entries |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_lsmod">lsmod</A></STRONG><DD> |
| <P> |
| Usage: lsmod |
| |
| <P> |
| Shows a list of all currently loaded kernel modules. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_makedevs">makedevs</A></STRONG><DD> |
| <P> |
| Usage: makedevs NAME TYPE MAJOR MINOR FIRST LAST [s] |
| |
| <P> |
| Creates a range of block or character special files |
| |
| <P> |
| TYPEs include: |
| |
| <P> |
| <PRE> b: Make a block (buffered) device. |
| c or u: Make a character (un-buffered) device. |
| p: Make a named pipe. MAJOR and MINOR are ignored for named pipes. |
| </PRE> |
| <P> |
| FIRST specifies the number appended to NAME to create the first device. |
| LAST specifies the number of the last item that should be created. If 's' |
| is the last argument, the base device is created as well. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ makedevs /dev/ttyS c 4 66 2 63 |
| [creates ttyS2-ttyS63] |
| $ makedevs /dev/hda b 3 0 0 8 s |
| [creates hda,hda1-hda8] |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_math">math</A></STRONG><DD> |
| <P> |
| Usage: math expression ... |
| |
| <P> |
| This is a Tiny RPN calculator that understands the following operations: +, |
| -, /, *, and, or, not, eor. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ math 2 2 add |
| 4 |
| $ math 8 8 \* 2 2 + / |
| 16 |
| $ math 0 1 and |
| 0 |
| $ math 0 1 or |
| 1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mkdir">mkdir</A></STRONG><DD> |
| <P> |
| Usage: mkdir [OPTION] DIRECTORY... |
| |
| <P> |
| Create the <CODE>DIRECTORY(ies),</CODE> if they do not already exist |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -m set permission mode (as in chmod), not rwxrwxrwx - umask |
| -p no error if dir exists, make parent directories as needed |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ mkdir /tmp/foo |
| $ mkdir /tmp/foo |
| /tmp/foo: File exists |
| $ mkdir /tmp/foo/bar/baz |
| /tmp/foo/bar/baz: No such file or directory |
| $ mkdir -p /tmp/foo/bar/baz |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mkfifo">mkfifo</A></STRONG><DD> |
| <P> |
| Usage: mkfifo [OPTIONS] name |
| |
| <P> |
| Creates a named pipe (identical to 'mknod name p') |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -m create the pipe using the specified mode (default a=rw) |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mkfs">mkfs.minix</A></STRONG><DD> |
| <P> |
| Usage: mkfs.minix [<STRONG>-c</STRONG> | <STRONG>-l</STRONG> filename] [<STRONG>-nXX</STRONG>] [<STRONG>-iXX</STRONG>] /dev/name [blocks] |
| |
| <P> |
| Make a MINIX filesystem. |
| |
| <P> |
| OPTIONS: |
| |
| <P> |
| <PRE> -c Check the device for bad blocks |
| -n [14|30] Specify the maximum length of filenames |
| -i Specify the number of inodes for the filesystem |
| -l FILENAME Read the bad blocks list from FILENAME |
| -v Make a Minix version 2 filesystem |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mknod">mknod</A></STRONG><DD> |
| <P> |
| Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR |
| |
| <P> |
| Create a special file (block, character, or pipe). |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -m create the special file using the specified mode (default a=rw) |
| </PRE> |
| <P> |
| TYPEs include: b: Make a block (buffered) device. c or u: Make a character |
| (un-buffered) device. p: Make a named pipe. MAJOR and MINOR are ignored for |
| named pipes. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ mknod /dev/fd0 b 2 0 |
| $ mknod -m 644 /tmp/pipe p |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mkswap">mkswap</A></STRONG><DD> |
| <P> |
| Usage: mkswap [<STRONG>-c</STRONG>] [<STRONG>-v0</STRONG>|<STRONG>-v1</STRONG>] device [block-count] |
| |
| <P> |
| Prepare a disk partition to be used as a swap partition. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c Check for read-ability. |
| -v0 Make version 0 swap [max 128 Megs]. |
| -v1 Make version 1 swap [big!] (default for kernels > 2.1.117). |
| block-count Number of block to use (default is entire partition). |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mktemp">mktemp</A></STRONG><DD> |
| <P> |
| Usage: mktemp [<STRONG>-q</STRONG>] TEMPLATE |
| |
| <P> |
| Creates a temporary file with its name based on TEMPLATE. TEMPLATE is any |
| name with six `Xs' (i.e. /tmp/temp.XXXXXX). |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ mktemp /tmp/temp.XXXXXX |
| /tmp/temp.mWiLjM |
| $ ls -la /tmp/temp.mWiLjM |
| -rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_nc">nc</A></STRONG><DD> |
| <P> |
| Usage: nc [IP] [port] |
| |
| <P> |
| Netcat opens a pipe to IP:port |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ nc foobar.somedomain.com 25 |
| 220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600 |
| help |
| 214-Commands supported: |
| 214- HELO EHLO MAIL RCPT DATA AUTH |
| 214 NOOP QUIT RSET HELP |
| quit |
| 221 foobar closing connection |
| |
| ------------------------------- |
| </PRE> |
| <DT><STRONG><A NAME="item_more">more</A></STRONG><DD> |
| <P> |
| Usage: more [file ...] |
| |
| <P> |
| More is a filter for paging through text one screenful at a time. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ dmesg | more |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mount">mount</A></STRONG><DD> |
| <P> |
| Usage: mount [flags] mount [flags] device directory [<STRONG>-o</STRONG> options,more-options] |
| |
| <P> |
| Flags: |
| |
| <P> |
| <PRE> -a: Mount all file systems in fstab. |
| -o option: One of many filesystem options, listed below. |
| -r: Mount the filesystem read-only. |
| -t fs-type: Specify the filesystem type. |
| -w: Mount for reading and writing (default). |
| </PRE> |
| <P> |
| Options for use with the ``<STRONG>-o</STRONG>'' flag: |
| |
| <P> |
| <PRE> async/sync: Writes are asynchronous / synchronous. |
| atime/noatime: Enable / disable updates to inode access times. |
| dev/nodev: Allow use of special device files / disallow them. |
| exec/noexec: Allow use of executable files / disallow them. |
| loop: Mounts a file via loop device. |
| suid/nosuid: Allow set-user-id-root programs / disallow them. |
| remount: Re-mount a currently-mounted filesystem, changing its flags. |
| ro/rw: Mount for read-only / read-write. |
| There are EVEN MORE flags that are specific to each filesystem. |
| You'll have to see the written documentation for those. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ mount |
| /dev/hda3 on / type minix (rw) |
| proc on /proc type proc (rw) |
| devpts on /dev/pts type devpts (rw) |
| $ mount /dev/fd0 /mnt -t msdos -o ro |
| $ mount /tmp/diskimage /opt -t ext2 -o loop |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mt">mt</A></STRONG><DD> |
| <P> |
| Usage: mt [<STRONG>-f</STRONG> device] opcode value |
| |
| <P> |
| Control magnetic tape drive operation |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_mv">mv</A></STRONG><DD> |
| <P> |
| Usage: mv SOURCE DEST |
| |
| <P> |
| <PRE> or: mv SOURCE... DIRECTORY |
| </PRE> |
| <P> |
| Rename SOURCE to DEST, or move <CODE>SOURCE(s)</CODE> to DIRECTORY. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ mv /tmp/foo /bin/bar |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_nslookup">nslookup</A></STRONG><DD> |
| <P> |
| Usage: nslookup [HOST] |
| |
| <P> |
| Queries the nameserver for the IP address of the given HOST |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ nslookup localhost |
| Server: default |
| Address: default |
| </PRE> |
| <P> |
| <PRE> Name: debian |
| Address: 127.0.0.1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_ping">ping</A></STRONG><DD> |
| <P> |
| Usage: ping [OPTION]... host |
| |
| <P> |
| Send ICMP ECHO_REQUEST packets to network hosts. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c COUNT Send only COUNT pings. |
| -q Quiet mode, only displays output at start |
| and when finished. |
| Example: |
| </PRE> |
| <P> |
| <PRE> $ ping localhost |
| PING slag (127.0.0.1): 56 data bytes |
| 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms |
| </PRE> |
| <P> |
| <PRE> --- debian ping statistics --- |
| 1 packets transmitted, 1 packets received, 0% packet loss |
| round-trip min/avg/max = 20.1/20.1/20.1 ms |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_poweroff">poweroff</A></STRONG><DD> |
| <P> |
| Shuts down the system, and requests that the kernel turn off power upon |
| halting. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_printf">printf</A></STRONG><DD> |
| <P> |
| Usage: printf format [argument...] |
| |
| <P> |
| Formats and prints the given data in a manner similar to the C printf |
| command. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ printf "Val=%d\n" 5 |
| Val=5 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_ps">ps</A></STRONG><DD> |
| <P> |
| Usage: ps |
| |
| <P> |
| Report process status |
| |
| <P> |
| This version of ps accepts no options. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ps |
| PID Uid Gid State Command |
| 1 root root S init |
| 2 root root S [kflushd] |
| 3 root root S [kupdate] |
| 4 root root S [kpiod] |
| 5 root root S [kswapd] |
| 742 andersen andersen S [bash] |
| 743 andersen andersen S -bash |
| 745 root root S [getty] |
| 2990 andersen andersen R ps |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_pwd">pwd</A></STRONG><DD> |
| <P> |
| Prints the full filename of the current working directory. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ pwd |
| /root |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_reboot">reboot</A></STRONG><DD> |
| <P> |
| Instructs the kernel to reboot the system. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_rm">rm</A></STRONG><DD> |
| <P> |
| Usage: rm [OPTION]... FILE... |
| |
| <P> |
| Remove (unlink) the <CODE>FILE(s).</CODE> |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -f remove existing destinations, never prompt |
| -r or -R remove the contents of directories recursively |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ rm -rf /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_rmdir">rmdir</A></STRONG><DD> |
| <P> |
| Usage: rmdir [OPTION]... DIRECTORY... |
| |
| <P> |
| Remove the <CODE>DIRECTORY(ies),</CODE> if they are empty. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> # rmdir /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_rmmod">rmmod</A></STRONG><DD> |
| <P> |
| Usage: rmmod [OPTION]... [MODULE]... |
| |
| <P> |
| Unloads the specified kernel modules from the kernel. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a Try to remove all unused kernel modules. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ rmmod tulip |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sed">sed</A></STRONG><DD> |
| <P> |
| Usage: sed [<STRONG>-n</STRONG>] <STRONG>-e</STRONG> script [file...] |
| |
| <P> |
| Allowed sed scripts come in the following form: |
| |
| <P> |
| <PRE> 'ADDR [!] COMMAND' |
| </PRE> |
| <P> |
| <PRE> where address ADDR can be: |
| NUMBER Match specified line number |
| $ Match last line |
| /REGEXP/ Match specified regexp |
| (! inverts the meaning of the match) |
| </PRE> |
| <P> |
| <PRE> and COMMAND can be: |
| s/regexp/replacement/[igp] |
| which attempt to match regexp against the pattern space |
| and if successful replaces the matched portion with replacement. |
| </PRE> |
| <P> |
| <PRE> aTEXT |
| which appends TEXT after the pattern space |
| </PRE> |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -e add the script to the commands to be executed |
| -n suppress automatic printing of pattern space |
| </PRE> |
| <P> |
| This version of sed matches full regular expresions. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g' |
| bar |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_setkeycodes">setkeycodes</A></STRONG><DD> |
| <P> |
| Usage: setkeycodes SCANCODE KEYCODE ... |
| |
| <P> |
| Set entries into the kernel's scancode-to-keycode map, allowing unusual |
| keyboards to generate usable keycodes. |
| |
| <P> |
| SCANCODE may be either xx or e0xx (hexadecimal), and KEYCODE is given in |
| decimal |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> # setkeycodes e030 127 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sh">sh</A></STRONG><DD> |
| <P> |
| Usage: sh |
| |
| <P> |
| lash -- the BusyBox LAme SHell (command interpreter) |
| |
| <P> |
| This command does not yet have proper documentation. |
| |
| <P> |
| Use lash just as you would use any other shell. It properly handles pipes, |
| redirects, job control, can be used as the shell for scripts (#!/bin/sh), |
| and has a sufficient set of builtins to do what is needed. It does not |
| (yet) support Bourne Shell syntax. If you need things like |
| ``if-then-else'', ``while'', and such, use ash or bash. If you just need a |
| very simple and extremely small shell, this will do the job. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sfdisk">sfdisk</A></STRONG><DD> |
| <P> |
| Usage: sfdisk [options] device ... |
| |
| <P> |
| device: something like /dev/hda or /dev/sda |
| |
| <P> |
| useful options: |
| |
| <P> |
| <PRE> -s [or --show-size]: list size of a partition |
| -c [or --id]: print or change partition Id |
| -l [or --list]: list partitions of each device |
| -d [or --dump]: idem, but in a format suitable for later input |
| -i [or --increment]: number cylinders etc. from 1 instead of from 0 |
| -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/cylinders/MB |
| -T [or --list-types]:list the known partition types |
| -D [or --DOS]: for DOS-compatibility: waste a little space |
| -R [or --re-read]: make kernel reread partition table |
| -N# : change only the partition with number # |
| -n : do not actually write to disk |
| -O file : save the sectors that will be overwritten to file |
| -I file : restore these sectors again |
| -v [or --version]: print version |
| -? [or --help]: print this message |
| </PRE> |
| <P> |
| dangerous options: |
| |
| <P> |
| <PRE> -g [or --show-geometry]: print the kernel's idea of the geometry |
| -x [or --show-extended]: also list extended partitions on output |
| </PRE> |
| <P> |
| <PRE> or expect descriptors for them on input |
| -L [or --Linux]: do not complain about things irrelevant for Linux |
| -q [or --quiet]: suppress warning messages |
| You can override the detected geometry using: |
| -C# [or --cylinders #]:set the number of cylinders to use |
| -H# [or --heads #]: set the number of heads to use |
| -S# [or --sectors #]: set the number of sectors to use |
| </PRE> |
| <P> |
| You can disable all consistency checking with: |
| |
| <P> |
| <PRE> -f [or --force]: do what I say, even if it is stupid |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sleep">sleep</A></STRONG><DD> |
| <P> |
| Usage: sleep N |
| |
| <P> |
| Pause for N seconds. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ sleep 2 |
| [2 second delay results] |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sort">sort</A></STRONG><DD> |
| <P> |
| Usage: sort [<STRONG>-n</STRONG>] [<STRONG>-r</STRONG>] [FILE]... |
| |
| <P> |
| Sorts lines of text in the specified files |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo -e "e\nf\nb\nd\nc\na" | sort |
| a |
| b |
| c |
| d |
| e |
| f |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_sync">sync</A></STRONG><DD> |
| <P> |
| Usage: sync |
| |
| <P> |
| Write all buffered filesystem blocks to disk. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_syslogd">syslogd</A></STRONG><DD> |
| <P> |
| Usage: syslogd [OPTION]... |
| |
| <P> |
| Linux system and kernel (provides klogd) logging utility. Note that this |
| version of syslogd/klogd ignores /etc/syslog.conf. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -m Change the mark timestamp interval. default=20min. 0=off |
| -n Do not fork into the background (for when run by init) |
| -K Do not start up the klogd process (by default syslogd spawns klogd). |
| -O Specify an alternate log file. default=/var/log/messages |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_swapon">swapon</A></STRONG><DD> |
| <P> |
| Usage: swapon [OPTION] [device] |
| |
| <P> |
| Start swapping virtual memory pages on the given device. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a Start swapping on all swap devices |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_swapoff">swapoff</A></STRONG><DD> |
| <P> |
| Usage: swapoff [OPTION] [device] |
| |
| <P> |
| Stop swapping virtual memory pages on the given device. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a Stop swapping on all swap devices |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_tail">tail</A></STRONG><DD> |
| <P> |
| Usage: tail [OPTION] [FILE]... |
| |
| <P> |
| Print last 10 lines of each FILE to standard output. With more than one |
| FILE, precede each with a header giving the file name. With no FILE, or |
| when FILE is -, read standard input. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -n NUM Print last NUM lines instead of first 10 |
| -f Output data as the file grows. This version |
| of 'tail -f' supports only one file at a time. |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ tail -n 1 /etc/resolv.conf |
| nameserver 10.0.0.1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_tar">tar</A></STRONG><DD> |
| <P> |
| Usage: tar -[cxtvO] [<STRONG>--exclude</STRONG> File] [<STRONG>-f</STRONG> tarFile] [FILE] ... |
| |
| <P> |
| Create, extract, or list files from a tar file. Note that this version of |
| tar treats hard links as separate files. |
| |
| <P> |
| Main operation mode: |
| |
| <P> |
| <PRE> c create |
| x extract |
| t list |
| </PRE> |
| <P> |
| File selection: |
| |
| <P> |
| <PRE> f name of tarfile or "-" for stdin |
| O extract to stdout |
| --exclude file to exclude |
| </PRE> |
| <P> |
| Informative output: |
| |
| <P> |
| <PRE> v verbosely list files processed |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ zcat /tmp/tarball.tar.gz | tar -xf - |
| $ tar -cf /tmp/tarball.tar /usr/local |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_test">test, [</A></STRONG><DD> |
| <P> |
| Usage: test EXPRESSION or [ EXPRESSION ] |
| |
| <P> |
| Checks file types and compares values returning an exit code determined by |
| the value of EXPRESSION. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ test 1 -eq 2 |
| $ echo $? |
| 1 |
| $ test 1 -eq 1 |
| $ echo $? |
| 0 |
| $ [ -d /etc ] |
| $ echo $? |
| 0 |
| $ [ -d /junk ] |
| $ echo $? |
| 1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_tee">tee</A></STRONG><DD> |
| <P> |
| Usage: tee [OPTION]... [FILE]... |
| |
| <P> |
| Copy standard input to each FILE, and also to standard output. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a append to the given FILEs, do not overwrite |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo "Hello" | tee /tmp/foo |
| $ cat /tmp/foo |
| Hello |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_touch">touch</A></STRONG><DD> |
| <P> |
| Usage: touch [<STRONG>-c</STRONG>] file [file ...] |
| |
| <P> |
| Update the last-modified date on (or create) the selected file[s]. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ ls -l /tmp/foo |
| /bin/ls: /tmp/foo: No such file or directory |
| $ touch /tmp/foo |
| $ ls -l /tmp/foo |
| -rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_tr">tr</A></STRONG><DD> |
| <P> |
| Usage: tr [-cds] STRING1 [STRING2] |
| |
| <P> |
| Translate, squeeze, and/or delete characters from standard input, writing |
| to standard output. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c take complement of STRING1 |
| -d delete input characters coded STRING1 |
| -s squeeze multiple output characters of STRING2 into one character |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo "gdkkn vnqkc" | tr [a-y] [b-z] |
| hello world |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_true">true</A></STRONG><DD> |
| <P> |
| Returns an exit code of TRUE (0) |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ true |
| $ echo $? |
| 0 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_tty">tty</A></STRONG><DD> |
| <P> |
| Usage: tty |
| |
| <P> |
| Print the file name of the terminal connected to standard input. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -s print nothing, only return an exit status |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ tty |
| /dev/tty2 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_umount">umount</A></STRONG><DD> |
| <P> |
| Usage: umount [flags] filesystem|directory |
| |
| <P> |
| Flags: |
| |
| <P> |
| <PRE> -a: Unmount all file systems |
| -r: Try to remount devices as read-only if mount is busy |
| -f: Force filesystem umount (i.e. unreachable NFS server) |
| -l: Do not free loop device (if a loop device has been used) |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ umount /dev/hdc1 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_uname">uname</A></STRONG><DD> |
| <P> |
| Usage: uname [OPTION]... |
| |
| <P> |
| Print certain system information. With no OPTION, same as <STRONG>-s</STRONG>. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -a print all information |
| -m the machine (hardware) type |
| -n print the machine's network node hostname |
| -r print the operating system release |
| -s print the operating system name |
| -p print the host processor type |
| -v print the operating system version |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ uname -a |
| Linux debian 2.2.15pre13 #5 Tue Mar 14 16:03:50 MST 2000 i686 unknown |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_uniq">uniq</A></STRONG><DD> |
| <P> |
| Usage: uniq [OPTION]... [INPUT [OUTPUT]] |
| |
| <P> |
| Discard all but one of successive identical lines from INPUT (or standard |
| input), writing to OUTPUT (or standard output). |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ echo -e "a\na\nb\nc\nc\na" | sort | uniq |
| a |
| b |
| c |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_update">update</A></STRONG><DD> |
| <P> |
| Usage: update [options] |
| |
| <P> |
| Periodically flushes filesystem buffers. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -S force use of sync(2) instead of flushing |
| -s SECS call sync this often (default 30) |
| -f SECS flush some buffers this often (default 5) |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_uptime">uptime</A></STRONG><DD> |
| <P> |
| Usage: uptime |
| |
| <P> |
| Tells how long the system has been running since boot. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ uptime |
| 1:55pm up 2:30, load average: 0.09, 0.04, 0.00 |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_usleep">usleep</A></STRONG><DD> |
| <P> |
| Usage: usleep N |
| |
| <P> |
| Pauses for N microseconds. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ usleep 1000000 |
| [pauses for 1 second] |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_wc">wc</A></STRONG><DD> |
| <P> |
| Usage: wc [OPTION]... [FILE]... |
| |
| <P> |
| Print line, word, and byte counts for each FILE, and a total line if more |
| than one FILE is specified. With no FILE, read standard input. |
| |
| <P> |
| Options: |
| |
| <P> |
| <PRE> -c print the byte counts |
| -l print the newline counts |
| -L print the length of the longest line |
| -w print the word counts |
| </PRE> |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ wc /etc/passwd |
| 31 46 1365 /etc/passwd |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_whoami">whoami</A></STRONG><DD> |
| <P> |
| Usage: whoami |
| |
| <P> |
| Prints the user name associated with the current effective user id. |
| |
| <P> |
| Example: |
| |
| <P> |
| <PRE> $ whoami |
| andersen |
| </PRE> |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_yes">yes</A></STRONG><DD> |
| <P> |
| Usage: yes [OPTION]... [STRING]... |
| |
| <P> |
| Repeatedly outputs a line with all specified <CODE>STRING(s),</CODE> or |
| `y'. |
| |
| <P> |
| ------------------------------- |
| |
| <DT><STRONG><A NAME="item_zcat">zcat</A></STRONG><DD> |
| <P> |
| This is essentially an alias for invoking ``gunzip <STRONG>-c</STRONG>'', where it decompresses the file inquestion and send the output to |
| stdout. |
| |
| <P> |
| ------------------------------- |
| |
| </DL> |
| <P> |
| <HR> |
| <H1><A NAME="LIBC_NSS">LIBC NSS</A></H1> |
| <P> |
| GNU Libc uses the Name Service Switch (NSS) to configure the behavior of |
| the C library for the local environment, and to configure how it reads |
| system data, such as passwords and group information. BusyBox has made it |
| Policy that it will never use NSS, and will never use and libc calls that |
| make use of NSS. This allows you to run an embedded system without the need |
| for installing an /etc/nsswitch.conf file and without and /lib/libnss_* |
| libraries installed. |
| |
| <P> |
| If you are using a system that is using a remote LDAP server for |
| authentication via GNU libc NSS, and you want to use BusyBox, then you will |
| need to adjust the BusyBox source. Chances are though, that if you have |
| enough space to install of that stuff on your system, then you probably |
| want the full GNU utilities. |
| |
| <P> |
| <HR> |
| <H1><A NAME="SEE_ALSO">SEE ALSO</A></H1> |
| <P> |
| <CODE>textutils(1),</CODE> <CODE>shellutils(1),</CODE> etc... |
| |
| <P> |
| <HR> |
| <H1><A NAME="MAINTAINER">MAINTAINER</A></H1> |
| <P> |
| Erik Andersen <<A |
| HREF="mailto:andersee@debian.org">andersee@debian.org</A>> <<A |
| HREF="mailto:andersen@lineo.com">andersen@lineo.com</A>> |
| |
| <P> |
| <HR> |
| <H1><A NAME="AUTHORS">AUTHORS</A></H1> |
| <P> |
| The following people have contributed code to BusyBox whether they know it |
| or not. |
| |
| <P> |
| Erik Andersen <<A |
| HREF="mailto:andersee@debian.org">andersee@debian.org</A>> |
| |
| <br> |
| |
| <P> |
| John Beppu <<A HREF="mailto:beppu@lineo.com">beppu@lineo.com</A>> |
| |
| <br> |
| |
| <P> |
| Brian Candler <<A |
| HREF="mailto:B.Candler@pobox.com">B.Candler@pobox.com</A>> |
| |
| <br> |
| |
| <P> |
| Randolph Chung <<A |
| HREF="mailto:tausq@debian.org">tausq@debian.org</A>> |
| |
| <br> |
| |
| <P> |
| Dave Cinege <<A |
| HREF="mailto:dcinege@psychosis.com">dcinege@psychosis.com</A>> |
| |
| <br> |
| |
| <P> |
| Karl M. Hegbloom <<A |
| HREF="mailto:karlheg@debian.org">karlheg@debian.org</A>> |
| |
| <br> |
| |
| <P> |
| John Lombardo <<A |
| HREF="mailto:john@deltanet.com">john@deltanet.com</A>> |
| |
| <br> |
| |
| <P> |
| Bruce Perens <<A HREF="mailto:bruce@perens.com">bruce@perens.com</A>> |
| |
| <br> |
| |
| <P> |
| Linus Torvalds <<A |
| HREF="mailto:torvalds@transmeta.com">torvalds@transmeta.com</A>> |
| |
| <br> |
| |
| <P> |
| Charles P. Wright <<A |
| HREF="mailto:cpwright@villagenet.com">cpwright@villagenet.com</A>> |
| |
| <br> |
| |
| <P> |
| Enrique Zanardi <<A |
| HREF="mailto:ezanardi@ull.es">ezanardi@ull.es</A>> |
| |
| <br> |
| |
| </BODY> |
| |
| </HTML> |