+#define addgroup_trivial_usage \
+ "[OPTIONS] <group_name>"
+#define addgroup_full_usage \
+ "Adds a group to the system" \
+ "Options:\n" \
+ "\t-g\t\tspecify gid\n"
+
+#define adduser_trivial_usage \
+ "[OPTIONS] <user_name>"
+#define adduser_full_usage \
+ "Adds a user to the system" \
+ "Options:\n" \
+ "\t-h\t\thome directory\n" \
+ "\t-s\t\tshell\n" \
+ "\t-g\t\tGECOS string\n"
+
#define adjtimex_trivial_usage \
"[-q] [-o offset] [-f frequency] [-p timeconstant] [-t tick]"
#define adjtimex_full_usage \
"\t-p timeconstant\n"
#define ar_trivial_usage \
- "-[ovR]{ptx} ARCHIVE FILES"
+ "-[ov][ptx] ARCHIVE FILES"
#define ar_full_usage \
"Extract or list FILES from an ar archive.\n\n" \
"Options:\n" \
"\t-p\t\textract to stdout\n" \
"\t-t\t\tlist\n" \
"\t-x\t\textract\n" \
- "\t-v\t\tverbosely list files processed\n" \
- "\t-R\t\trecursive action"
+ "\t-v\t\tverbosely list files processed\n"
+
+#define awk_trivial_usage \
+ "[-v var=val][-F sep] { -f progname | 'programtext' } [FILE ...]"
+#define awk_full_usage \
+ "Options:\n" \
+ "\t-v var=val\tassign value 'val' to variable 'var'\n" \
+ "\t-F sep\t\tuse 'sep' as field separator\n" \
+ "\t-f progname\tread program source from file 'progname'\n"
#define basename_trivial_usage \
"FILE [SUFFIX]"
"$ basename /foo/bar.txt .txt\n" \
"bar"
+#define bunzip2_trivial_usage \
+ "[OPTION]... [FILE]"
+#define bunzip2_full_usage \
+ "Uncompress FILE (or standard input if FILE is '-' or omitted).\n\n" \
+ "Options:\n" \
+ "\t-c\tWrite output to standard output\n" \
+ "\t-f\tForce"
+
+#define bzcat_trivial_usage \
+ "FILE"
+#define bzcat_full_usage \
+ "Uncompress to stdout."
+
+#define cal_trivial_usage \
+ "[-jy] [[month] year]"
+#define cal_full_usage \
+ "Display a calendar.\n" \
+ "\nOptions:\n" \
+ "\t-j\tUse julian dates.\n" \
+ "\t-y\tDisplay the entire year."
+
#define cat_trivial_usage \
"[FILE]..."
#define cat_full_usage \
"\t-f\tforce (implied; ignored) - always set\n" \
"\t-R\tCopies directories recursively"
+#define cpio_trivial_usage \
+ "-[dimtuv][F cpiofile]"
+#define cpio_full_usage \
+ "Extract or list files from a cpio archive\n" \
+ "Main operation mode:\n" \
+ "\td\t\tmake leading directories\n" \
+ "\ti\t\textract\n" \
+ "\tm\t\tpreserve mtime\n" \
+ "\tt\t\tlist\n" \
+ "\tu\t\tunconditional overwrite\n" \
+ "\tF\t\tinput from file"
+
#define cut_trivial_usage \
"[OPTION]... [FILE]..."
#define cut_full_usage \
#define dc_full_usage \
"This is a Tiny RPN calculator that understands the\n" \
"following operations: +, -, /, *, and, or, not, eor.\n" \
- "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16"
+ "i.e., 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16"
#define dc_example_usage \
"$ dc 2 2 +\n" \
"4\n" \
- "$ dc 8 8 \* 2 2 + /\n" \
+ "$ dc 8 8 * 2 2 + /\n" \
"16\n" \
"$ dc 0 1 and\n" \
"0\n" \
#define dd_trivial_usage \
"[if=FILE] [of=FILE] [bs=N] [count=N] [skip=N]\n" \
- "\t [seek=N] [conv=notrunc|sync]"
+ "\t [seek=N] [conv=notrunc|noerror|sync]"
#define dd_full_usage \
"Copy a file, converting and formatting according to options\n\n" \
"\tif=FILE\t\tread from FILE instead of stdin\n" \
"\tskip=N\t\tskip N input blocks\n" \
"\tseek=N\t\tskip N output blocks\n" \
"\tconv=notrunc\tdon't truncate output file\n" \
+ "\tconv=noerror\tcontinue after read errors\n" \
"\tconv=sync\tpad blocks with zeros\n" \
"\n" \
"Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" \
#define deallocvt_full_usage \
"Deallocate unused virtual terminal /dev/ttyN"
+#define delgroup_trivial_usage \
+ "GROUP"
+#define delgroup_full_usage \
+ "Deletes group GROUP from the system"
+
+#define deluser_trivial_usage \
+ "USER"
+#define deluser_full_usage \
+ "Deletes user USER from the system"
-#ifdef BB_FEATURE_HUMAN_READABLE
+#ifdef CONFIG_FEATURE_HUMAN_READABLE
#define USAGE_HUMAN_READABLE(a) a
#define USAGE_NOT_HUMAN_READABLE(a)
#else
"\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \
"\t-m\tprint sizes in megabytes\n" \
"\t-k\tprint sizes in kilobytes(default)") USAGE_NOT_HUMAN_READABLE( \
- "\n\t-k\tprint sizes in kilobytes(compatability)")
+ "\n\t-k\tprint sizes in kilobytes(compatibility)")
#define df_example_usage \
"$ df\n" \
"Filesystem 1k-blocks Used Available Use% Mounted on\n" \
#define dos2unix_full_usage \
"Converts FILE from dos format to unix format. When no option\n" \
"is given, the input is converted to the opposite output format.\n" \
- "When no file is given, uses stdin for input and stdout for output." \
+ "When no file is given, uses stdin for input and stdout for output.\n\n" \
"Options:\n" \
"\t-u\toutput will be in UNIX format\n" \
- "\t-d\toutput will be in DOS format\n\n" \
+ "\t-d\toutput will be in DOS format"
#define dpkg_trivial_usage \
- "[-i|-r|--unpack|--configure] my.deb"
+ "-i package_file\n" \
+ "[-CPru] package_name"
#define dpkg_full_usage \
- "WORK IN PROGRESS, only useful for debian-installer"
+ "\t-i\tInstall the package\n" \
+ "\t-C\tConfigure an unpackaged package\n" \
+ "\t-P\tPurge all files of a package\n" \
+ "\t-r\tRemove all but the configuration files for a package\n" \
+ "\t-u\tUnpack a package, but dont configure it\n"
#define dpkg_deb_trivial_usage \
"[-cefItxX] FILE [argument]"
"\t-f\tDisplay control field name starting with [argument]\n" \
"\t-I\tDisplay the control filenamed [argument]\n" \
"\t-t\tExtract filesystem tree to stdout in tar format\n" \
- "\t-x\tExctract packages filesystem tree to directory\n" \
+ "\t-x\tExtract packages filesystem tree to directory\n" \
"\t-X\tVerbose extract"
#define dpkg_deb_example_usage \
"$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n"
#define du_trivial_usage \
- "[-ls" USAGE_HUMAN_READABLE("hm") USAGE_NOT_HUMAN_READABLE("") "k] [FILE]..."
+ "[-lsx" USAGE_HUMAN_READABLE("hm") USAGE_NOT_HUMAN_READABLE("") "k] [FILE]..."
#define du_full_usage \
"Summarizes disk space used for each FILE and/or directory.\n" \
"Disk space is printed in units of 1024 bytes.\n\n" \
USAGE_HUMAN_READABLE( \
"\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \
"\t-m\tprint sizes in megabytes\n" \
+ "\t-x\tskip directories on different filesystems\n" \
"\t-k\tprint sizes in kilobytes(default)") USAGE_NOT_HUMAN_READABLE( \
- "\n\t-k\tprint sizes in kilobytes(compatability)")
+ "\n\t-k\tprint sizes in kilobytes(compatibility)")
#define du_example_usage \
"$ du\n" \
"16 ./CVS\n" \
"[FILE]"
#define dutmp_full_usage \
"Dump utmp file format (pipe delimited) from FILE\n" \
- "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')"
+ "or stdin to stdout. (i.e., 'dutmp /var/run/utmp')"
#define dutmp_example_usage \
"$ dutmp /var/run/utmp\n" \
"8|7||si|||0|0|0|955637625|760097|0\n" \
"Prints the specified ARGs to stdout\n\n" \
"Options:\n" \
"\t-n\tsuppress trailing newline\n" \
- "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n" \
+ "\t-e\tinterpret backslash-escaped characters (i.e., \\t=tab)\n" \
"\t-E\tdisable interpretation of backslash-escaped characters"
#define echo_example_usage \
"$ echo "Erik is cool"\n" \
#define fdflush_full_usage \
"Forces floppy disk drive to detect disk change"
-#ifdef BB_FEATURE_FIND_TYPE
+#ifdef CONFIG_FEATURE_FIND_TYPE
#define USAGE_FIND_TYPE(a) a
#else
#define USAGE_FIND_TYPE(a)
#endif
-#ifdef BB_FEATURE_FIND_PERM
+#ifdef CONFIG_FEATURE_FIND_PERM
#define USAGE_FIND_PERM(a) a
#else
#define USAGE_FIND_PERM(a)
#endif
-#ifdef BB_FEATURE_FIND_MTIME
+#ifdef CONFIG_FEATURE_FIND_MTIME
#define USAGE_FIND_MTIME(a) a
#else
#define USAGE_FIND_MTIME(a)
"while true ; do\n" \
" case $1 in\n" \
" -a|--a-long) echo \"Option a\" ; shift ;;\n" \
- " -b|--b-long) echo \"Option b, argument \`$2'\" ; shift 2 ;;\n" \
+ " -b|--b-long) echo \"Option b, argument `$2'\" ; shift 2 ;;\n" \
" -c|--c-long)\n" \
" case "$2" in\n" \
" \"\") echo \"Option c, no argument\"; shift 2 ;;\n" \
- " *) echo \"Option c, argument \`$2'\" ; shift 2 ;;\n" \
+ " *) echo \"Option c, argument `$2'\" ; shift 2 ;;\n" \
" esac ;;\n" \
" --) shift ; break ;;\n" \
" *) echo \"Internal error!\" ; exit 1 ;;\n" \
" esac\n" \
"done\n"
+#define getty_trivial_usage \
+ "getty [OPTIONS]... baud_rate,... line [termtype]"
+#define getty_full_usage \
+ "\nOpens a tty, prompts for a login name, then invokes /bin/login\n\n" \
+ "Options:\n" \
+ "\t-h\t\tEnable hardware (RTS/CTS) flow control.\n" \
+ "\t-i\t\tDo not display /etc/issue before running login.\n" \
+ "\t-L\t\tLocal line, so do not do carrier detect.\n" \
+ "\t-m\t\tGet baud rate from modem's CONNECT status message.\n" \
+ "\t-w\t\tWait for a CR or LF before sending /etc/issue.\n" \
+ "\t-l login_app\tInvoke login_app instead of /bin/login.\n" \
+ "\t-t timeout\tTerminate after timeout if no username is read.\n" \
+ "\t-I initstring\tSets the init string to send before anything else.\n" \
+ "\t-H login_host\tLog login_host into the utmp file as the hostname."
+
+
#define grep_trivial_usage \
"[-ihHnqvs] PATTERN [FILEs...]"
#define grep_full_usage \
"-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n"
#define gzip_trivial_usage \
- "[OPTION]... FILE"
+ "[OPTION]... [FILE]..."
#define gzip_full_usage \
- "Compress FILE with maximum compression.\n" \
- "When FILE is '-', reads standard input. Implies -c.\n\n" \
+ "Compress FILE(s) with maximum compression.\n" \
+ "When FILE is '-' or unspecified, reads standard input. Implies -c.\n\n" \
"Options:\n" \
"\t-c\tWrite output to standard output instead of FILE.gz\n" \
"\t-d\tdecompress"
"root:x:0:0:root:/root:/bin/bash\n" \
"daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n"
+#define hexdump_trivial_usage \
+ "[-[bcdefnosvx]] [OPTION] FILE"
+#define hexdump_full_usage \
+ "The hexdump utility is a filter which displays the specified files,\n" \
+ "or the standard input, if no files are specified, in a user specified\n"\
+ "format\n" \
+ "\t-b\t\tOne-byte octal display\n" \
+ "\t-c\t\tOne-byte character display\n" \
+ "\t-d\t\tTwo-byte decimal display\n" \
+ "\t-e FORMAT STRING\n" \
+ "\t-f FORMAT FILE\n" \
+ "\t-n LENGTH\tInterpret only length bytes of input\n" \
+ "\t-o\t\tTwo-byte octal display\n" \
+ "\t-s OFFSET\tSkip offset byte\n" \
+ "\t-v\t\tdisplay all input data\n" \
+ "\t-x\t\tTwo-byte hexadecimal display\n"
+
#define hostid_trivial_usage \
""
#define hostid_full_usage \
"Get or set the hostname or DNS domain name. If a hostname is given\n" \
"(or FILE with the -F parameter), the host name will be set.\n\n" \
"Options:\n" \
- "\t-s\t\tShort\n" \
- "\t-i\t\tAddresses for the hostname\n" \
- "\t-d\t\tDNS domain name\n" \
- "\t-F, --file FILE\tUse the contents of FILE to specify the hostname"
+ "\t-s\tShort\n" \
+ "\t-i\tAddresses for the hostname\n" \
+ "\t-d\tDNS domain name\n" \
+ "\t-f\tFully qualified domain name\n" \
+ "\t-F FILE\tUse the contents of FILE to specify the hostname"
#define hostname_example_usage \
"$ hostname\n" \
"sage \n"
+#define hwclock_trivial_usage \
+ "[-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc]"
+#define hwclock_full_usage \
+ "Query and set the hardware clock (RTC)\n\n" \
+ "Options:\n" \
+ "\t-r\tread hardware clock and print result\n" \
+ "\t-s\tset the system time from the hardware clock\n" \
+ "\t-w\tset the hardware clock to the current system time\n" \
+ "\t-u\tthe hardware clock is kept in coordinated universal time\n" \
+ "\t-l\tthe hardware clock is kept in local time"
+
#define id_trivial_usage \
"[OPTIONS]... [USERNAME]"
#define id_full_usage \
"$ id\n" \
"uid=1000(andersen) gid=1000(andersen)\n"
-#ifdef BB_FEATURE_IFCONFIG_SLIP
+#ifdef CONFIG_FEATURE_IFCONFIG_SLIP
#define USAGE_SIOCSKEEPALIVE(a) a
#else
#define USAGE_SIOCSKEEPALIVE(a)
#endif
-#ifdef BB_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
+#ifdef CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
#define USAGE_IFCONFIG_MII(a) a
#else
#define USAGE_IFCONFIG_MII(a)
#endif
-#ifdef BB_FEATURE_IFCONFIG_HW
+#ifdef CONFIG_FEATURE_IFCONFIG_HW
#define USAGE_IFCONFIG_HW(a) a
#else
#define USAGE_IFCONFIG_HW(a)
#endif
-#ifdef BB_FEATURE_IFCONFIG_STATUS
+#ifdef CONFIG_FEATURE_IFCONFIG_STATUS
#define USAGE_IFCONFIG_OPT_A(a) a
#else
#define USAGE_IFCONFIG_OPT_A(a)
#endif
+#ifdef CONFIG_FEATURE_IPV6
+ #define USAGE_IPV6(a) a
+#else
+ #define USAGE_IPV6(a)
+#endif
#define ifconfig_trivial_usage \
USAGE_IFCONFIG_OPT_A("[-a]") " <interface> [<address>]"
#define ifconfig_full_usage \
"configure a network interface\n\n" \
"Options:\n" \
+ USAGE_IPV6("[add <address>[/<prefixlen>]]\n") \
+ USAGE_IPV6("[del <address>[/<prefixlen>]]\n") \
"\t[[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \
"\t[netmask <address>] [dstaddr <address>]\n" \
USAGE_SIOCSKEEPALIVE("\t[outfill <NN>] [keepalive <NN>]\n") \
" ::ctrlaltdel:/sbin/reboot\n" \
" ::shutdown:/sbin/swapoff -a\n" \
" ::shutdown:/bin/umount -a -r\n" \
+" ::restart:/sbin/init\n" \
"\n" \
"if it detects that /dev/console is _not_ a serial console, it will also run:\n" \
"\n" \
" <action>: \n" \
"\n" \
" Valid actions include: sysinit, respawn, askfirst, wait, \n" \
-" once, ctrlaltdel, and shutdown.\n" \
+" once, restart, ctrlaltdel, and shutdown.\n" \
"\n" \
" The available actions can be classified into two groups: actions\n" \
" that are run only once, and actions that are re-run when the specified\n" \
" sysinit actions are completed before continuing. Following the\n" \
" completion of all sysinit actions, all 'wait' actions are run.\n" \
" 'wait' actions, like 'sysinit' actions, cause init to wait until\n" \
-" the specified task completes. 'once' actions are asyncronous,\n" \
-" therefore, init does not wait for them to complete. 'ctrlaltdel'\n" \
+" the specified task completes. 'once' actions are asynchronous,\n" \
+" therefore, init does not wait for them to complete. 'restart' is\n" \
+" the action taken to restart the init process. By default this should\n" \
+" simply run /sbin/init, but can be a script which runs pivot_root or it\n" \
+" can do all sorts of other interesting things. The 'ctrlaltdel' init\n" \
" actions are run when the system detects that someone on the system\n" \
" console has pressed the CTRL-ALT-DEL key combination. Typically one\n" \
" wants to run 'reboot' at this point to cause the system to reboot.\n" \
" # Example how to put a getty on a modem line.\n" \
" #::respawn:/sbin/getty 57600 ttyS2\n" \
" \n" \
+" # Stuff to do when restarting the init process\n" \
+" ::restart:/sbin/init\n" \
+" \n" \
" # Stuff to do before rebooting\n" \
" ::ctrlaltdel:/sbin/reboot\n" \
" ::shutdown:/bin/umount -a -r\n" \
#define logger_example_usage \
"$ logger "hello"\n"
+#define login_trivial_usage \
+ "[OPTION]... [username] [ENV=VAR ...]"
+#define login_full_usage \
+ "Begin a new session on the system\n\n" \
+ "Options:\n" \
+ "\t-f\tDo not authenticate (user already authenticated)\n" \
+ "\t-h\tName of the remote host for this login.\n" \
+ "\t-p\tPreserve environment."
+
#define logname_trivial_usage \
""
#define logname_full_usage \
#define logread_full_usage \
"Shows the messages from syslogd (using circular buffer)."
-#ifdef BB_FEATURE_LS_TIMESTAMPS
+#define losetup_trivial_usage \
+ "[OPTION]... LOOPDEVICE FILE\n" \
+ "or: losetup [OPTION]... -d LOOPDEVICE"
+#define losetup_full_usage \
+ "Associate LOOPDEVICE with FILE.\n\n" \
+ "Options:\n" \
+ "\t-d\t\tDisassociate LOOPDEVICE.\n" \
+ "\t-o OFFSET\tStart OFFSET bytes into FILE.\n"
+
+#ifdef CONFIG_FEATURE_LS_TIMESTAMPS
#define USAGE_LS_TIMESTAMPS(a) a
#else
#define USAGE_LS_TIMESTAMPS(a)
#endif
-#ifdef BB_FEATURE_LS_FILETYPES
+#ifdef CONFIG_FEATURE_LS_FILETYPES
#define USAGE_LS_FILETYPES(a) a
#else
#define USAGE_LS_FILETYPES(a)
#endif
-#ifdef BB_FEATURE_LS_FOLLOWLINKS
+#ifdef CONFIG_FEATURE_LS_FOLLOWLINKS
#define USAGE_LS_FOLLOWLINKS(a) a
#else
#define USAGE_LS_FOLLOWLINKS(a)
#endif
-#ifdef BB_FEATURE_LS_RECURSIVE
+#ifdef CONFIG_FEATURE_LS_RECURSIVE
#define USAGE_LS_RECURSIVE(a) a
#else
#define USAGE_LS_RECURSIVE(a)
#endif
-#ifdef BB_FEATURE_LS_SORTFILES
+#ifdef CONFIG_FEATURE_LS_SORTFILES
#define USAGE_LS_SORTFILES(a) a
#else
#define USAGE_LS_SORTFILES(a)
#endif
-#ifdef BB_FEATURE_AUTOWIDTH
+#ifdef CONFIG_FEATURE_AUTOWIDTH
#define USAGE_AUTOWIDTH(a) a
#else
#define USAGE_AUTOWIDTH(a)
USAGE_HUMAN_READABLE( \
"\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \
"\t-k\tprint sizes in kilobytes(default)") USAGE_NOT_HUMAN_READABLE( \
- "\t-k\tprint sizes in kilobytes(compatability)")
+ "\t-k\tprint sizes in kilobytes(compatibility)")
#define lsmod_trivial_usage \
""
"busybox: OK\n" \
"^D\n"
+#define mesg_trivial_usage \
+ "mesg [y|n]"
+#define mesg_full_usage \
+ "mesg [Y|N], controls write access to your terminal\n" \
+ "\ty\tAllow write access to your terminal.\n" \
+ "\tn\tDisallow write access to your terminal.\n"
+
#define mkdir_trivial_usage \
"[OPTION] DIRECTORY..."
#define mkdir_full_usage \
"[-q] TEMPLATE"
#define mktemp_full_usage \
"Creates a temporary file with its name based on TEMPLATE.\n" \
- "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX)."
+ "TEMPLATE is any name with six `Xs' (i.e., /tmp/temp.XXXXXX)."
#define mktemp_example_usage \
"$ mktemp /tmp/temp.XXXXXX\n" \
"/tmp/temp.mWiLjM\n" \
"$ ls -la /tmp/temp.mWiLjM\n" \
"-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n"
+#define modprobe_trivial_usage \
+ "[FILE ...]"
+#define modprobe_full_usage \
+ "Used for high level module loading and unloading."
+#define modprobe_example_usage \
+ "$ modprobe cdrom\n"
+
#define more_trivial_usage \
"[FILE ...]"
#define more_full_usage \
#define more_example_usage \
"$ dmesg | more\n"
-#ifdef BB_FEATURE_MOUNT_LOOP
+#ifdef CONFIG_FEATURE_MOUNT_LOOP
#define USAGE_MOUNT_LOOP(a) a
#else
#define USAGE_MOUNT_LOOP(a)
#endif
-#ifdef BB_FEATURE_MTAB_SUPPORT
+#ifdef CONFIG_FEATURE_MTAB_SUPPORT
#define USAGE_MTAB(a) a
#else
#define USAGE_MTAB(a)
"$ mv /tmp/foo /bin/bar\n"
#define nc_trivial_usage \
- "[IP] [port]"
+ "[OPTIONS] [IP] [port]"
#define nc_full_usage \
- "Netcat opens a pipe to IP:port"
+ "Netcat opens a pipe to IP:port\n\n" \
+ "Options:\n" \
+ "\t-l\t\tlisten mode, for inbound connects\n" \
+ "\t-p PORT\t\tlocal port number\n" \
+ "\t-i SECS\t\tdelay interval for lines sent\n" \
+ "\t-e PROG\t\tprogram to exec after connect (dangerous!)"
#define nc_example_usage \
"$ nc foobar.somedomain.com 25\n" \
"220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \
"quit\n" \
"221 foobar closing connection\n"
+#define netstat_trivial_usage \
+ "[-laenrtuwx]"
+#define netstat_full_usage \
+ "-l display listening server sockets\n" \
+ "-a display all sockets (default: connected)\n" \
+ "-e display other/more information\n" \
+ "-n don't resolve names\n" \
+ "-r display routing table\n" \
+ "-t tcp sockets\n" \
+ "-u udp sockets\n" \
+ "-w raw sockets\n" \
+ "-x unix sockets\n"
+
#define nslookup_trivial_usage \
- "[HOST]"
+ "[HOST] [SERVER]"
#define nslookup_full_usage \
- "Queries the nameserver for the IP address of the given HOST"
+ "Queries the nameserver for the IP address of the given HOST\n" \
+ "optionally using a specified DNS server"
#define nslookup_example_usage \
"$ nslookup localhost\n" \
"Server: default\n" \
"Name: debian\n" \
"Address: 127.0.0.1\n"
-#ifdef BB_FEATURE_SIMPLE_PING
+#define od_trivial_usage \
+ "[-aBbcDdeFfHhIiLlOovXx] [FILE]"
+#define od_full_usage \
+ "Write an unambiguous representation, octal bytes by default, of FILE\n"\
+ "to standard output. With no FILE, or when FILE is -, read standard input."
+
+#define openvt_trivial_usage \
+ "<vtnum> <COMMAND> [ARGS...]"
+#define openvt_full_usage \
+ "Start a command on a new virtual terminal"
+#define openvt_example_usage \
+ "openvt 2 /bin/ash\n"
+
+#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+ #define PASSWORD_ALG_TYPES(a) a
+#else
+ #define PASSWORD_ALG_TYPES(a)
+#endif
+#define passwd_trivial_usage \
+ "[OPTION] [name]"
+#define passwd_full_usage \
+ "Change a user password. If no name is specified,\n" \
+ "changes the password for the current user.\n" \
+ "Options:\n" \
+ "\t-a\tDefine which algorithm shall be used for the password.\n" \
+ "\t\t\t(Choices: des, md5" \
+ PASSWORD_ALG_TYPES(", sha1") \
+ ")\n\t-d\tDelete the password for the specified user account.\n" \
+ "\t-l\tLocks (disables) the specified user account.\n" \
+ "\t-u\tUnlocks (re-enables) the specified user account."
+
+#define pidof_trivial_usage \
+ "process-name [process-name ...]"
+#define pidof_full_usage \
+ "Lists the PIDs of all processes with names that match the names on the command line"
+#define pidof_example_usage \
+ "$ pidof init\n" \
+ "1\n"
+
+#ifndef CONFIG_FEATURE_FANCY_PING
#define ping_trivial_usage "host"
#define ping_full_usage "Send ICMP ECHO_REQUEST packets to network hosts"
#else
"1 packets transmitted, 1 packets received, 0% packet loss\n" \
"round-trip min/avg/max = 20.1/20.1/20.1 ms\n"
+#ifndef CONFIG_FEATURE_FANCY_PING6
+#define ping6_trivial_usage "host"
+#define ping6_full_usage "Send ICMP ECHO_REQUEST packets to network hosts"
+#else
+#define ping6_trivial_usage \
+ "[OPTION]... host"
+#define ping6_full_usage \
+ "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
+ "Options:\n" \
+ "\t-c COUNT\tSend only COUNT pings.\n" \
+ "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" \
+ "\t-q\t\tQuiet mode, only displays output at start\n" \
+ "\t\t\tand when finished."
+#endif
+#define ping6_example_usage \
+ "$ ping6 ip6-localhost\n" \
+ "PING ip6-localhost (::1): 56 data bytes\n" \
+ "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \
+ "\n" \
+ "--- ip6-localhost ping statistics ---\n" \
+ "1 packets transmitted, 1 packets received, 0% packet loss\n" \
+ "round-trip min/avg/max = 20.1/20.1/20.1 ms\n"
+
#define pivot_root_trivial_usage \
"NEW_ROOT PUT_OLD"
#define pivot_root_full_usage \
#define route_trivial_usage \
"[{add|del|flush}]"
#define route_full_usage \
- "Edit the kernel's routing tables"
-
-#define rpmunpack_trivial_usage \
- "< package.rpm | gunzip | cpio -idmuv"
-#define rpmunpack_full_usage \
- "Extracts an rpm archive."
+ "Edit the kernel's routing tables.\n\n" \
+ "Options:\n" \
+ "\t-n\tDont resolve names.\n" \
+ "\t-e\tDisplay other/more information"
+
+#define rpm2cpio_trivial_usage \
+ "package.rpm"
+#define rpm2cpio_full_usage \
+ "Outputs a cpio archive of the rpm file."
+
+#define run_parts_trivial_usage \
+ "[-t] [-a ARG] [-u MASK] DIRECTORY"
+#define run_parts_full_usage \
+ "Run a bunch of scripts in a directory.\n\n" \
+ "Options:\n" \
+ "\t-t\t\tTest only what file will be executed, without execute them.\n" \
+ "\t-a ARG\tPass ARG as an argument for every program invoked.\n" \
+ "\t-u MASK\tSet the umask to MASK before executing every program."
#define sed_trivial_usage \
- "[-Vhnef] pattern [files...]"
+ "[-nef] pattern [files...]"
#define sed_full_usage \
"Options:\n" \
"\t-n\t\tsuppress automatic printing of pattern space\n" \
"\t-e script\tadd the script to the commands to be executed\n" \
"\t-f scriptfile\tadd the contents of script-file to the commands to be executed\n" \
- "\t-h\t\tdisplay this help message\n" \
"\n" \
"If no -e or -f is given, the first non-option argument is taken as the\n" \
"sed script to interpret. All remaining arguments are names of input\n" \
#define setkeycodes_example_usage \
"$ setkeycodes e030 127\n"
-#define sh_trivial_usage \
+#define lash_trivial_usage \
"[FILE]...\n" \
"or: sh -c command [args]..."
-#define sh_full_usage \
+#define lash_full_usage \
"lash: The BusyBox LAme SHell (command interpreter)"
-#define sh_notes_usage \
+#define lash_notes_usage \
"This command does not yet have proper documentation.\n" \
"\n" \
"Use lash just as you would use any other shell. It properly handles pipes,\n" \
"[2 second delay results]\n"
-#ifdef BB_FEATURE_SORT_UNIQUE
+#ifdef CONFIG_FEATURE_SORT_UNIQUE
#define USAGE_SORT_UNIQUE(a) a
#else
#define USAGE_SORT_UNIQUE(a)
#endif
-#ifdef BB_FEATURE_SORT_REVERSE
+#ifdef CONFIG_FEATURE_SORT_REVERSE
#define USAGE_SORT_REVERSE(a) a
#else
#define USAGE_SORT_REVERSE(a)
"e\n" \
"f\n"
+#define start_stop_daemon_trivial_usage \
+ "[OPTIONS]"
+#define start_stop_daemon_full_usage \
+ "Program to start and stop services.\n"\
+ "Options:\n" \
+ "-S\t\t\tstart\n"\
+ "-K\t\t\tstop\n"\
+ "-x <executable>\t\tprogram to start/check if it is running\n"\
+ "-p <pid-file>\t\tpid file to check\n"\
+ "-u <username>|<uid>\tstop this user's processes\n"\
+ "-n <process-name>\tstop processes with this name\n"\
+ "-s <signal>\t\tsignal to send (default 15)\n"\
+ "-a <pathname>\t\tprogram to start (default <executable>)\n"
+
#define stty_trivial_usage \
"[-a|g] [-F DEVICE] [SETTING]..."
#define stty_full_usage \
"\n\t-g\t\tprint in stty-readable form" \
"\n\t[SETTING]\tsee manpage"
+#define su_trivial_usage \
+ "[OPTION]... [-] [username]"
+#define su_full_usage \
+ "Change user id or become root.\n" \
+ "Options:\n" \
+ "\t-p\tPreserve environment"
+
+#define sulogin_trivial_usage \
+ "[OPTION]... [tty-device]"
+#define sulogin_full_usage \
+ "Single user login\n" \
+ "Options:\n" \
+ "\t-f\tDo not authenticate (user already authenticated)\n" \
+ "\t-h\tName of the remote host for this login.\n" \
+ "\t-p\tPreserve environment."
+
#define swapoff_trivial_usage \
"[OPTION] [DEVICE]"
#define swapoff_full_usage \
"Write all buffered filesystem blocks to disk."
-#ifdef BB_FEATURE_REMOTE_LOG
+#ifdef CONFIG_FEATURE_REMOTE_LOG
#define USAGE_REMOTE_LOG(a) a
#else
#define USAGE_REMOTE_LOG(a)
#endif
+#ifdef CONFIG_FEATURE_IPC_SYSLOG
+ #define USAGE_IPC_LOG(a) a
+#else
+ #define USAGE_IPC_LOG(a)
+#endif
+
#define syslogd_trivial_usage \
"[OPTION]..."
#define syslogd_full_usage \
"\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)" \
USAGE_REMOTE_LOG( \
"\n\t-R HOST[:PORT]\tLog to IP or hostname on PORT (default PORT=514/UDP)\n" \
- "\t-L\t\tLog locally and via network logging (default is network only)")
+ "\t-L\t\tLog locally and via network logging (default is network only)") \
+ USAGE_IPC_LOG( \
+ "\n\t-C\t\tLog to a circular buffer (read the buffer using logread)")
#define syslogd_example_usage \
"$ syslogd -R masterlog:514\n" \
"$ syslogd -R 192.168.1.1:601\n"
-#ifdef BB_FEATURE_SIMPLE_TAIL
+#ifndef CONFIG_FEATURE_FANCY_TAIL
#define USAGE_UNSIMPLE_TAIL(a)
#else
#define USAGE_UNSIMPLE_TAIL(a) a
"$ tail -n 1 /etc/resolv.conf\n" \
"nameserver 10.0.0.1\n"
-#ifdef BB_FEATURE_TAR_CREATE
+#ifdef CONFIG_FEATURE_TAR_CREATE
#define USAGE_TAR_CREATE(a) a
#else
#define USAGE_TAR_CREATE(a)
#endif
-#ifdef BB_FEATURE_TAR_EXCLUDE
+#ifdef CONFIG_FEATURE_TAR_EXCLUDE
#define USAGE_TAR_EXCLUDE(a) a
#else
#define USAGE_TAR_EXCLUDE(a)
#define tar_trivial_usage \
"-[" USAGE_TAR_CREATE("c") "xtvO] " \
USAGE_TAR_EXCLUDE("[--exclude FILE] [-X FILE]") \
- "[-f TARFILE] [FILE(s)] ..."
+ "[-f TARFILE] [-C DIR] [FILE(s)] ..."
#define tar_full_usage \
"Create, extract, or list files from a tar file.\n\n" \
- "Main operation mode:\n" \
+ "Options:\n" \
USAGE_TAR_CREATE("\tc\t\tcreate\n") \
"\tx\t\textract\n" \
"\tt\t\tlist\n" \
"\texclude\t\tfile to exclude\n" \
"\tX\t\tfile with names to exclude\n" \
) \
- "\nInformative output:\n" \
+ "\tC\t\tchange to directory DIR before operation\n" \
"\tv\t\tverbosely list files processed"
#define tar_example_usage \
"$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \
"$ echo $?\n" \
"1\n"
-#ifdef BB_FEATURE_TFTP_GET
+#ifdef CONFIG_FEATURE_TFTP_GET
#define USAGE_TFTP_GET(a) a
#else
#define USAGE_TFTP_GET(a)
#endif
-#ifdef BB_FEATURE_TFTP_PUT
+#ifdef CONFIG_FEATURE_TFTP_PUT
#define USAGE_TFTP_PUT(a) a
#else
#define USAGE_TFTP_PUT(a)
#endif
+#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
+ #define USAGE_TFTP_BS(a) a
+#else
+ #define USAGE_TFTP_BS(a)
+#endif
#define tftp_trivial_usage \
- "command SOURCE DEST"
+ "[OPTION]... HOST [PORT]"
#define tftp_full_usage \
"Transfers a file from/to a tftp server using \"octet\" mode.\n\n" \
- "Commands:\n" \
+ "Options:\n" \
+ "\t-l FILE\tLocal FILE.\n" \
+ "\t-r FILE\tRemote FILE.\n" \
USAGE_TFTP_GET( \
- "\tget\tGet file from server SOURCE and store to local DEST.\n" \
+ "\t-g\tGet file.\n" \
) \
USAGE_TFTP_PUT( \
- "\tput\tPut local file SOURCE to server DEST.\n" \
+ "\t-p\tPut file.\n" \
) \
- "\nWhen naming a server, use the syntax \"server:file\"."
+ USAGE_TFTP_BS( \
+ "\t-b SIZE\tTransfer blocks of SIZE octets.\n" \
+ )
+#define time_trivial_usage \
+ "[OPTION]... COMMAND [ARGS...]"
+#define time_full_usage \
+ "Runs the program COMMAND with arguments ARGS. When COMMAND finishes,\n" \
+ "COMMAND's resource usage information is displayed\n\n" \
+ "Options:\n" \
+ "\t-v\tDisplays verbose resource usage information."
+
+#define top_trivial_usage \
+ "[-d <seconds>]"
+#define top_full_usage \
+ "top provides an view of processor activity in real time.\n" \
+ "This utility reads the status for all processes in /proc each <seconds>\n" \
+ "and shows the status for however many processes will fit on the screen.\n" \
+ "This utility will not show processes that are started after program startup,\n" \
+ "but it will show the EXIT status for and PIDs that exit while it is running."
#define touch_trivial_usage \
"[-c] FILE [FILE ...]"
"$ echo "gdkkn vnqkc" | tr [a-y] [b-z]\n" \
"hello world\n"
+#define traceroute_trivial_usage \
+ "[-dnrv] [-m max_ttl] [-p port#] [-q nqueries]\n\
+ [-s src_addr] [-t tos] [-w wait] host [data size]"
+#define traceroute_full_usage \
+ "trace the route ip packets follow going to \"host\"\n" \
+ "Options:\n" \
+ "\t-d\tset SO_DEBUG options to socket\n" \
+ "\t-n\tPrint hop addresses numerically rather than symbolically\n" \
+ "\t-r\tBypass the normal routing tables and send directly to a host\n" \
+ "\t-v\tVerbose output\n" \
+ "\t-m max_ttl\tSet the max time-to-live (max number of hops)\n" \
+ "\t-p port#\tSet the base UDP port number used in probes\n" \
+ "\t\t(default is 33434)\n" \
+ "\t-q nqueries\tSet the number of probes per ``ttl'' to nqueries\n" \
+ "\t\t(default is 3)\n" \
+ "\t-s src_addr\tUse the following IP address as the source address\n" \
+ "\t-t tos\tSet the type-of-service in probe packets to the following value\n" \
+ "\t\t(default 0)\n" \
+ "\t-w wait\tSet the time (in seconds) to wait for a response to a probe\n" \
+ "\t\t(default 3 sec.)."
+
+
#define true_trivial_usage \
""
#define true_full_usage \
"$ tty\n" \
"/dev/tty2\n"
-#ifdef BB_FEATURE_MOUNT_FORCE
+#define udhcpc_trivial_usage \
+ "[-fqv] [-c CLIENTID] [-H HOSTNAME] [-i INTERFACE]\n[-p file] [-r IP] [-s script]"
+#define udhcpc_full_usage \
+ "\tUsage: udhcpcd [OPTIONS]\n" \
+ "\t-c,\t--clientid=CLIENTID\tClient identifier\n" \
+ "\t-H,\t--hostname=HOSTNAME\tClient hostname\n" \
+ "\t-f,\t--foreground\tDo not fork after getting lease\n" \
+ "\t-i,\t--interface=INTERFACE\tInterface to use (default: eth0)\n" \
+ "\t-n,\t--now\tExit with failure if lease cannot be immediately negotiated.\n" \
+ "\t-p,\t--pidfile=file\tStore process ID of daemon in file\n" \
+ "\t-q,\t--quit\tQuit after obtaining lease\n" \
+ "\t-r,\t--request=IP\tIP address to request (default: none)\n" \
+ "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
+ "\t-v,\t--version\tDisplay version"
+
+#ifdef CONFIG_FEATURE_MOUNT_FORCE
#define USAGE_MOUNT_FORCE(a) a
#else
#define USAGE_MOUNT_FORCE(a)
"\nFlags:\n" "\t-a\tUnmount all file systems" \
USAGE_MTAB(" in /etc/mtab\n\t-n\tDon't erase /etc/mtab entries") \
"\n\t-r\tTry to remount devices as read-only if mount is busy" \
- USAGE_MOUNT_FORCE("\n\t-f\tForce umount (i.e. unreachable NFS server)") \
+ USAGE_MOUNT_FORCE("\n\t-f\tForce umount (i.e., unreachable NFS server)") \
USAGE_MOUNT_LOOP("\n\t-l\tDo not free loop device (if a loop device has been used)")
#define umount_example_usage \
"$ umount /dev/hdc1 \n"
#define unix2dos_full_usage \
"Converts FILE from unix format to dos format. When no option\n" \
"is given, the input is converted to the opposite output format.\n" \
- "When no file is given, uses stdin for input and stdout for output." \
+ "When no file is given, uses stdin for input and stdout for output.\n" \
"Options:\n" \
"\t-u\toutput will be in UNIX format\n" \
- "\t-d\toutput will be in DOS format\n\n" \
+ "\t-d\toutput will be in DOS format"
+
+#define unzip_trivial_usage \
+ "[-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]"
+#define unzip_full_usage \
+ "Extracts files from ZIP archives.\n\n" \
+ "Options:\n" \
+ "\t-l\tlist archive contents (short form)\n" \
+ "\t-n\tnever overwrite existing files (default)\n" \
+ "\t-o\toverwrite files without prompting\n" \
+ "\t-p\tsend output to stdout\n" \
+ "\t-q\tbe quiet\n" \
+ "\t-x\texclude these files\n" \
+ "\t-d\textract files into this directory"
#define update_trivial_usage \
"[options]"
"Options:\n" \
"\t-R\tRead-only- do not write to the file."
+#define vlock_trivial_usage \
+ "[OPTIONS]"
+#define vlock_full_usage \
+ "Lock a virtual terminal. A password is required to unlock\n" \
+ "Options:\n" \
+ "\t-a\tLock all VTs"
+
+#define watch_trivial_usage \
+ "[-n <seconds>] COMMAND..."
+#define watch_full_usage \
+ "Executes a program periodically.\n" \
+ "Options:\n" \
+ "\t-n\tLoop period in seconds - default is 2."
+#define watch_example_usage \
+ "$ watch date\n" \
+ "Mon Dec 17 10:31:40 GMT 2000\n" \
+ "Mon Dec 17 10:31:42 GMT 2000\n" \
+ "Mon Dec 17 10:31:44 GMT 2000"
+
#define watchdog_trivial_usage \
"DEV"
#define watchdog_full_usage \
" 31 46 1365 /etc/passwd\n"
#define wget_trivial_usage \
- "[-c|--continue] [-q|--quiet] [-O|--output-document file] [--header 'header: value'] url"
+ "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-Y|--proxy on/off] [-P DIR] url"
#define wget_full_usage \
"wget retrieves files via HTTP or FTP\n\n" \
"Options:\n" \
"\t-c\tcontinue retrieval of aborted transfers\n" \
"\t-q\tquiet mode - do not print\n" \
- "\t-O\tsave to filename ('-' for stdout)"
+ "\t-P\tSet directory prefix to DIR\n" \
+ "\t-O\tsave to filename ('-' for stdout)\n" \
+ "\t-Y\tuse proxy ('on' or 'off')"
#define which_trivial_usage \
"[COMMAND ...]"
#define which_example_usage \
"$ which login\n" \
"/bin/login\n"
+#define who_trivial_usage \
+ " "
+#define who_full_usage \
+ "Prints the current user names and related information"
#define whoami_trivial_usage \
""