blob: 13107c6e05c8a06c5455699d90e9de83712963e5 [file] [log] [blame]
Eric Andersen3570a342000-09-25 21:45:58 +00001#include "busybox.h"
Matt Kraaibf181b92000-07-16 20:57:15 +00002
3#if defined BB_AR
4const char ar_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00005 "ar -[ovR]{ptx} archive filenames"
Matt Kraaibf181b92000-07-16 20:57:15 +00006#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00007 "\n\nExtract or list files from an ar archive.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00008 "Options:\n"
Glenn L McGrath06aeb6c2000-08-25 03:50:10 +00009 "\t-o\t\tpreserve original dates\n"
10 "\t-p\t\textract to stdout\n"
11 "\t-t\t\tlist\n"
12 "\t-x\t\textract\n"
13 "\t-v\t\tverbosely list files processed\n"
Eric Andersen965fa322001-01-20 21:45:57 +000014 "\t-R\t\trecursive action"
Matt Kraaibf181b92000-07-16 20:57:15 +000015#endif
16 ;
17#endif
18
19#if defined BB_BASENAME
20const char basename_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000021 "basename FILE [SUFFIX]"
Matt Kraaibf181b92000-07-16 20:57:15 +000022#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000023 "\n\nStrips directory path and suffixes from FILE.\n"
24 "If specified, also removes any trailing SUFFIX."
Matt Kraaibf181b92000-07-16 20:57:15 +000025#endif
26 ;
27#endif
28
29#if defined BB_CAT
30const char cat_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000031 "cat [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +000032#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000033 "\n\nConcatenates FILE(s) and prints them to stdout."
Matt Kraaibf181b92000-07-16 20:57:15 +000034#endif
35 ;
36#endif
37
38#if defined BB_CHMOD_CHOWN_CHGRP
39const char chgrp_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000040 "chgrp [OPTION]... GROUP FILE..."
Matt Kraaibf181b92000-07-16 20:57:15 +000041#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000042 "\n\nChange the group membership of each FILE to GROUP.\n"
43 "\nOptions:\n\t-R\tChanges files and directories recursively."
Matt Kraaibf181b92000-07-16 20:57:15 +000044#endif
45 ;
46#endif
47
48#if defined BB_CHMOD_CHOWN_CHGRP
49const char chmod_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000050 "chmod [-R] MODE[,MODE]... FILE..."
Matt Kraaibf181b92000-07-16 20:57:15 +000051#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000052 "\n\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n"
Matt Kraaibf181b92000-07-16 20:57:15 +000053 "one or more of the letters rwxst.\n\n"
Eric Andersen965fa322001-01-20 21:45:57 +000054 "\nOptions:\n\t-R\tChanges files and directories recursively."
Matt Kraaibf181b92000-07-16 20:57:15 +000055#endif
56 ;
57#endif
58
59#if defined BB_CHMOD_CHOWN_CHGRP
60const char chown_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000061 "chown [OPTION]... OWNER[<.|:>[GROUP] FILE..."
Matt Kraaibf181b92000-07-16 20:57:15 +000062#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000063 "\n\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n"
64 "\nOptions:\n\t-R\tChanges files and directories recursively."
Matt Kraaibf181b92000-07-16 20:57:15 +000065#endif
66 ;
67#endif
68
69#if defined BB_CHROOT
70const char chroot_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000071 "chroot NEWROOT [COMMAND...]"
Matt Kraaibf181b92000-07-16 20:57:15 +000072#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000073 "\n\nRun COMMAND with root directory set to NEWROOT."
Matt Kraaibf181b92000-07-16 20:57:15 +000074#endif
75 ;
76#endif
77
78#if defined BB_CHVT
79const char chvt_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000080 "chvt N"
Matt Kraaibf181b92000-07-16 20:57:15 +000081#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000082 "\n\nChanges the foreground virtual terminal to /dev/ttyN"
Matt Kraaibf181b92000-07-16 20:57:15 +000083#endif
84 ;
85#endif
86
Matt Kraai2f46b662000-07-19 18:01:00 +000087#if defined BB_CLEAR
88const char clear_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000089 "clear"
Matt Kraai2f46b662000-07-19 18:01:00 +000090#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +000091 "\n\nClear screen."
Matt Kraai2f46b662000-07-19 18:01:00 +000092#endif
93 ;
94#endif
95
Mark Whitley872138d2000-10-09 18:56:47 +000096#if defined BB_CMP
97const char cmp_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +000098 "cmp FILE1 [FILE2]"
Mark Whitley872138d2000-10-09 18:56:47 +000099#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000100 "\n\nCompare files."
Mark Whitley872138d2000-10-09 18:56:47 +0000101#endif
102 ;
103#endif
104
Matt Kraaibf181b92000-07-16 20:57:15 +0000105#if defined BB_CP_MV
106const char cp_usage[] =
107 "cp [OPTION]... SOURCE DEST\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000108 " or: cp [OPTION]... SOURCE... DIRECTORY"
Matt Kraaibf181b92000-07-16 20:57:15 +0000109#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000110 "\n\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000111 "\n"
112 "\t-a\tSame as -dpR\n"
113 "\t-d\tPreserves links\n"
114 "\t-p\tPreserves file attributes if possible\n"
115 "\t-f\tforce (implied; ignored) - always set\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000116 "\t-R\tCopies directories recursively"
Matt Kraaibf181b92000-07-16 20:57:15 +0000117#endif
118 ;
119#endif
120
121#if defined BB_CUT
122const char cut_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000123 "cut [OPTION]... [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +0000124#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000125 "\n\nPrints selected fields from each input FILE to standard output.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000126 "Options:\n"
127 "\t-b LIST\tOutput only bytes from LIST\n"
128 "\t-c LIST\tOutput only characters from LIST\n"
129 "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
Pavel Roskin0010ee42000-07-21 15:10:57 +0000130 "\t-s\tOutput only the lines containing delimiter\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000131 "\t-f N\tPrint only these fields\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000132 "\t-n\tIgnored"
Matt Kraaibf181b92000-07-16 20:57:15 +0000133#endif
134 ;
135#endif
136
137#if defined BB_DATE
138const char date_usage[] =
139 "date [OPTION]... [+FORMAT]\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000140 " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000141#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000142 "\n\nDisplays the current time in the given FORMAT, or sets the system date.\n"
Eric Andersen7b5d5942000-11-29 22:01:42 +0000143 "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n"
144 "\t-d STRING\tdisplay time described by STRING, not `now'\n"
145 "\t-s\t\tSets time described by STRING\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000146 "\t-u\t\tPrints or sets Coordinated Universal Time"
Matt Kraaibf181b92000-07-16 20:57:15 +0000147#endif
148 ;
149#endif
150
151#if defined BB_DC
152const char dc_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000153 "dc expression ..."
Matt Kraaibf181b92000-07-16 20:57:15 +0000154#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000155 "\n\nThis is a Tiny RPN calculator that understands the\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000156 "following operations: +, -, /, *, and, or, not, eor.\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000157 "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16"
Matt Kraaibf181b92000-07-16 20:57:15 +0000158#endif
159 ;
160#endif
161
162#if defined BB_DD
163const char dd_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000164 "dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000165#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000166 "\n\nCopy a file, converting and formatting according to options\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000167 "\tif=FILE\tread from FILE instead of stdin\n"
168 "\tof=FILE\twrite to FILE instead of stdout\n"
169 "\tbs=N\tread and write N bytes at a time\n"
170 "\tcount=N\tcopy only N input blocks\n"
171 "\tskip=N\tskip N input blocks\n"
172 "\tseek=N\tskip N output blocks\n"
Matt Kraai24ac0172000-12-18 21:38:57 +0000173 "\tconv=notrunc\tdon't truncate output file\n"
174 "\tconv=sync\tpad blocks with zeros\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000175 "\n"
Matt Kraai24ac0172000-12-18 21:38:57 +0000176 "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000177 "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)."
Matt Kraaibf181b92000-07-16 20:57:15 +0000178#endif
179 ;
180#endif
181
182#if defined BB_DEALLOCVT
183const char deallocvt_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000184 "deallocvt N"
Matt Kraaibf181b92000-07-16 20:57:15 +0000185#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000186 "\n\nDeallocate unused virtual terminal /dev/ttyN"
Matt Kraaibf181b92000-07-16 20:57:15 +0000187#endif
188 ;
189#endif
190
191#if defined BB_DF
192const char df_usage[] =
Richard June6d0921c2001-01-22 22:35:38 +0000193 "df [-?"
194#ifdef BB_FEATURE_HUMAN_READABLE
195 "hm"
196#endif
197 "k] [filesystem ...]\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000198#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000199 "\n\nPrint the filesystem space used and space available."
Richard June6d0921c2001-01-22 22:35:38 +0000200 "Options:\n"
201 "\t-?\tshow usage information\n"
202#ifdef BB_FEATURE_HUMAN_READABLE
203 "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
204 "\t-m\tprint sizes in megabytes\n"
205 "\t-k\tprint sizes in kilobytes(default)\n"
206#else
207 "\t-k\tprint sizes in kilobytes(compatability)\n"
208#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000209#endif
210 ;
211#endif
212
213#if defined BB_DIRNAME
214const char dirname_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000215 "dirname [FILENAME ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000216#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000217 "\n\nStrips non-directory suffix from FILENAME"
Matt Kraaibf181b92000-07-16 20:57:15 +0000218#endif
219 ;
220#endif
221
222#if defined BB_DMESG
223const char dmesg_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000224 "dmesg [-c] [-n LEVEL] [-s SIZE]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000225#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000226 "\n\nPrints or controls the kernel ring buffer\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000227 "Options:\n"
228 "\t-c\t\tClears the ring buffer's contents after printing\n"
229 "\t-n LEVEL\tSets console logging level\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000230 "\t-s SIZE\t\tUse a buffer of size SIZE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000231#endif
232 ;
233#endif
234
Eric Andersencff3fe32000-09-20 19:22:26 +0000235#if defined BB_DOS2UNIX
236const char dos2unix_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000237 "dos2unix < dosfile > unixfile"
Eric Andersencff3fe32000-09-20 19:22:26 +0000238#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000239 "\n\nConverts a text file from dos format to unix format."
Eric Andersencff3fe32000-09-20 19:22:26 +0000240#endif
241 ;
242#endif
243
Glenn L McGrathc30ab0f2001-02-10 02:04:40 +0000244#if defined BB_DPKG
245const char dpkg_usage[] =
Glenn L McGrathdadf9c62001-02-12 11:27:45 +0000246 "udpkg <-i|-r|--unpack|--configure> my.deb\n"
247 "WORK IN PROGRESS, only usefull for debian-installer\n"
Glenn L McGrathc30ab0f2001-02-10 02:04:40 +0000248#ifndef BB_FEATURE_TRIVIAL_HELP
249#endif
250 ;
251#endif
252
Glenn L McGrath7541e3a2001-01-02 23:41:50 +0000253#if defined BB_DPKG_DEB
254const char dpkg_deb_usage[] =
255 "dpkg-deb [-cexX] file directory"
256#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000257 "\n\nPerform actions on debian packages (.debs)\n\n"
Glenn L McGrath7541e3a2001-01-02 23:41:50 +0000258 "Options:\n"
Glenn L McGrathdadf9c62001-02-12 11:27:45 +0000259 "\t-c\tList contents of filesystem tree (verbose)\n"
260 "\t-l\tList contents of filesystem tree (.list format)\n"
Glenn L McGrath7541e3a2001-01-02 23:41:50 +0000261 "\t-e\tExtract control files to directory\n"
262 "\t-x\tExctract packages filesystem tree to directory\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000263 "\t-X\tVerbose extract"
Glenn L McGrath7541e3a2001-01-02 23:41:50 +0000264#endif
265 ;
266#endif
267
Matt Kraaibf181b92000-07-16 20:57:15 +0000268#if defined BB_DU
269const char du_usage[] =
Richard June6d0921c2001-01-22 22:35:38 +0000270 "du [-?ls"
271#ifdef BB_FEATURE_HUMAN_READABLE
272 "hm"
273#endif
274 "k] [FILE]...\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000275#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000276 "\n\nSummarizes disk space used for each FILE and/or directory.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000277 "Disk space is printed in units of 1024 bytes.\n\n"
278 "Options:\n"
Richard June6d0921c2001-01-22 22:35:38 +0000279 "\t-?\tshow usage information\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000280 "\t-l\tcount sizes many times if hard linked\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000281 "\t-s\tdisplay only a total for each argument"
Richard June6d0921c2001-01-22 22:35:38 +0000282#ifdef BB_FEATURE_HUMAN_READABLE
283 "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
284 "\t-m\tprint sizes in megabytes\n"
285 "\t-k\tprint sizes in kilobytes(default)\n"
286#else
287 "\t-k\tprint sizes in kilobytes(compatability)\n"
288#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000289#endif
290 ;
291#endif
292
293#if defined BB_DUMPKMAP
294const char dumpkmap_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000295 "dumpkmap > keymap"
Matt Kraaibf181b92000-07-16 20:57:15 +0000296#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000297 "\n\nPrints out a binary keyboard translation table to standard input."
Matt Kraaibf181b92000-07-16 20:57:15 +0000298#endif
299 ;
300#endif
301
302#if defined BB_DUTMP
303const char dutmp_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000304 "dutmp [FILE]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000305#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000306 "\n\nDump utmp file format (pipe delimited) from FILE\n"
307 "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')"
Matt Kraaibf181b92000-07-16 20:57:15 +0000308#endif
309 ;
310#endif
311
312#if defined BB_ECHO
313const char echo_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000314 "echo [-neE] [ARG ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000315#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000316 "\n\nPrints the specified ARGs to stdout\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000317 "Options:\n"
318 "\t-n\tsuppress trailing newline\n"
319 "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000320 "\t-E\tdisable interpretation of backslash-escaped characters"
Matt Kraaibf181b92000-07-16 20:57:15 +0000321#endif
322 ;
323#endif
324
Eric Andersen1b355eb2000-09-05 17:37:48 +0000325#if defined BB_EXPR
326const char expr_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000327 "expr EXPRESSION"
Eric Andersen1b355eb2000-09-05 17:37:48 +0000328#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000329"\n\nPrints the value of EXPRESSION to standard output.\n\n"
330"EXPRESSION may be:\n"
331"ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n"
332"ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n"
333"ARG1 < ARG2 ARG1 is less than ARG2\n"
334"ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n"
335"ARG1 = ARG2 ARG1 is equal to ARG2\n"
336"ARG1 != ARG2 ARG1 is unequal to ARG2\n"
337"ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n"
338"ARG1 > ARG2 ARG1 is greater than ARG2\n"
339"ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n"
340"ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n"
341"ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n"
342"ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n"
343"ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n"
344"STRING : REGEXP anchored pattern match of REGEXP in STRING\n"
345"match STRING REGEXP same as STRING : REGEXP\n"
346"substr STRING POS LENGTH substring of STRING, POS counted from 1\n"
347"index STRING CHARS index in STRING where any CHARS is found, or 0\n"
348"length STRING length of STRING\n"
349"quote TOKEN interpret TOKEN as a string, even if it is a \n"
350" keyword like `match' or an operator like `/'\n"
351"( EXPRESSION ) value of EXPRESSION\n\n"
352"Beware that many operators need to be escaped or quoted for shells.\n"
353"Comparisons are arithmetic if both ARGs are numbers, else\n"
354"lexicographical. Pattern matches return the string matched between \n"
355"\\( and \\) or null; if \\( and \\) are not used, they return the number \n"
356"of characters matched or 0."
Eric Andersen1b355eb2000-09-05 17:37:48 +0000357
358#endif
359 ;
360#endif
361
362
Matt Kraai2f46b662000-07-19 18:01:00 +0000363#if defined BB_TRUE_FALSE
364const char false_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000365 "false"
Matt Kraai2f46b662000-07-19 18:01:00 +0000366#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000367 "\n\nReturn an exit code of FALSE (1)."
Matt Kraai2f46b662000-07-19 18:01:00 +0000368#endif
369 ;
370#endif
371
Matt Kraaibf181b92000-07-16 20:57:15 +0000372#if defined BB_FDFLUSH
373const char fdflush_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000374 "fdflush DEVICE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000375#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000376 "\n\nForces floppy disk drive to detect disk change"
Matt Kraaibf181b92000-07-16 20:57:15 +0000377#endif
378 ;
379#endif
380
381#if defined BB_FIND
382const char find_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000383 "find [PATH...] [EXPRESSION]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000384#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000385 "\n\nSearch for files in a directory hierarchy. The default PATH is\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000386 "the current directory; default EXPRESSION is '-print'\n\n"
387 "\nEXPRESSION may consist of:\n"
388 "\t-follow\t\tDereference symbolic links.\n"
389 "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n"
Matt Kraai096370d2001-02-07 03:52:38 +0000390#ifdef BB_FEATURE_FIND_TYPE
391 "\t-type X\t\tFiletype matches X (where X is one of: f,d,l,b,c,...)\n"
392#endif
393#ifdef BB_FEATURE_FIND_PERM
394 "\t-perm PERMS\tPermissions match any of (+NNN); all of (-NNN); or exactly (NNN)\n"
395#endif
396#ifdef BB_FEATURE_FIND_MTIME
397 "\t-mtime TIME\tModified time is greater than (+N); less than (-N); or exactly (N) days\n"
398#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000399#endif
400 ;
401#endif
402
403#if defined BB_FREE
404const char free_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000405 "free"
Matt Kraaibf181b92000-07-16 20:57:15 +0000406#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000407 "\n\nDisplays the amount of free and used system memory"
Matt Kraaibf181b92000-07-16 20:57:15 +0000408#endif
409 ;
410#endif
411
412#if defined BB_FREERAMDISK
413const char freeramdisk_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000414 "freeramdisk DEVICE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000415#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000416 "\n\nFrees all memory used by the specified ramdisk."
Matt Kraaibf181b92000-07-16 20:57:15 +0000417#endif
418 ;
419#endif
420
421#if defined BB_FSCK_MINIX
422const char fsck_minix_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000423 "Usage: fsck.minix [-larvsmf] /dev/name"
Matt Kraaibf181b92000-07-16 20:57:15 +0000424#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000425 "\n\nPerforms a consistency check for MINIX filesystems.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000426 "Options:\n"
427 "\t-l\tLists all filenames\n"
428 "\t-r\tPerform interactive repairs\n"
429 "\t-a\tPerform automatic repairs\n"
430 "\t-v\tverbose\n"
431 "\t-s\tOutputs super-block information\n"
432 "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000433 "\t-f\tForce file system check."
Matt Kraaibf181b92000-07-16 20:57:15 +0000434#endif
435 ;
436#endif
437
Mark Whitley60506182000-10-19 22:28:06 +0000438#if defined BB_GETOPT
439const char getopt_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000440"getopt [OPTIONS]..."
Mark Whitley60506182000-10-19 22:28:06 +0000441#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000442"\nParse command options\n"
Mark Whitley60506182000-10-19 22:28:06 +0000443" -a, --alternative Allow long options starting with single -\n"
444" -l, --longoptions=longopts Long options to be recognized\n"
445" -n, --name=progname The name under which errors are reported\n"
446" -o, --options=optstring Short options to be recognized\n"
447" -q, --quiet Disable error reporting by getopt(3)\n"
448" -Q, --quiet-output No normal output\n"
449" -s, --shell=shell Set shell quoting conventions\n"
450" -T, --test Test for getopt(1) version\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000451" -u, --unqote Do not quote the output"
Mark Whitley60506182000-10-19 22:28:06 +0000452#endif
453;
454#endif
455
Matt Kraaibf181b92000-07-16 20:57:15 +0000456#if defined BB_GREP
457const char grep_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000458 "grep [-ihHnqvs] pattern [files...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000459#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000460 "\n\nSearch for PATTERN in each FILE or standard input.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000461 "Options:\n"
462 "\t-H\tprefix output lines with filename where match was found\n"
463 "\t-h\tsuppress the prefixing filename on output\n"
464 "\t-i\tignore case distinctions\n"
465 "\t-n\tprint line number with output lines\n"
466 "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n"
467 "\t-v\tselect non-matching lines\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000468 "\t-s\tsuppress file open/read error messages"
Matt Kraaibf181b92000-07-16 20:57:15 +0000469#endif
470 ;
471#endif
472
473#if defined BB_GUNZIP
474const char gunzip_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000475 "gunzip [OPTION]... FILE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000476#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000477 "\n\nUncompress FILE (or standard input if FILE is '-').\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000478 "Options:\n"
479 "\t-c\tWrite output to standard output\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000480 "\t-t\tTest compressed file integrity"
Matt Kraaibf181b92000-07-16 20:57:15 +0000481#endif
482 ;
483#endif
484
485#if defined BB_GZIP
486const char gzip_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000487 "gzip [OPTION]... FILE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000488#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000489 "\n\nCompress FILE with maximum compression.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000490 "When FILE is '-', reads standard input. Implies -c.\n\n"
491 "Options:\n"
492 "\t-c\tWrite output to standard output instead of FILE.gz\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000493 "\t-d\tdecompress"
Matt Kraaibf181b92000-07-16 20:57:15 +0000494#endif
495 ;
496#endif
497
Matt Kraai2f46b662000-07-19 18:01:00 +0000498#if defined BB_HALT
499const char halt_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000500 "halt"
Matt Kraai2f46b662000-07-19 18:01:00 +0000501#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000502 "\n\nHalt the system."
Matt Kraai2f46b662000-07-19 18:01:00 +0000503#endif
504 ;
Matt Kraai86905722000-07-19 18:20:02 +0000505#endif
Matt Kraai2f46b662000-07-19 18:01:00 +0000506
Matt Kraaibf181b92000-07-16 20:57:15 +0000507#if defined BB_HEAD
508const char head_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000509 "head [OPTION] [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +0000510#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000511 "\n\nPrint first 10 lines of each FILE to standard output.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000512 "With more than one FILE, precede each with a header giving the\n"
513 "file name. With no FILE, or when FILE is -, read standard input.\n\n"
514
Eric Andersen965fa322001-01-20 21:45:57 +0000515 "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10"
Matt Kraaibf181b92000-07-16 20:57:15 +0000516#endif
517 ;
518#endif
519
Matt Kraai2f46b662000-07-19 18:01:00 +0000520#if defined BB_HOSTID
521const char hostid_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000522 "hostid"
Matt Kraai2f46b662000-07-19 18:01:00 +0000523#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000524 "\n\nPrint out a unique 32-bit identifier for the machine."
Matt Kraai2f46b662000-07-19 18:01:00 +0000525#endif
526 ;
527#endif
528
Matt Kraaibf181b92000-07-16 20:57:15 +0000529#if defined BB_HOSTNAME
530const char hostname_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000531 "hostname [OPTION] {hostname | -F file}"
Matt Kraaibf181b92000-07-16 20:57:15 +0000532#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000533 "\n\nGet or set the hostname or DNS domain name. If a hostname is given\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000534 "(or a file with the -F parameter), the host name will be set.\n\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000535
Matt Kraaibf181b92000-07-16 20:57:15 +0000536 "Options:\n"
537 "\t-s\t\tShort\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000538 "\t-i\t\tAddresses for the hostname\n"
539 "\t-d\t\tDNS domain name\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000540 "\t-F, --file FILE\tUse the contents of FILE to specify the hostname"
Matt Kraaibf181b92000-07-16 20:57:15 +0000541#endif
542 ;
543#endif
544
545#if defined BB_ID
546const char id_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000547 "id [OPTIONS]... [USERNAME]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000548#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000549 "\n\nPrint information for USERNAME or the current user\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000550 "Options:\n"
551 "\t-g\tprints only the group ID\n"
552 "\t-u\tprints only the user ID\n"
Eric Andersenc1b8f122001-01-25 05:12:02 +0000553 "\t-n\tprint a name instead of a number (with for -ug)\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000554 "\t-r\tprints the real user ID instead of the effective ID (with -ug)"
Matt Kraaibf181b92000-07-16 20:57:15 +0000555#endif
556 ;
557#endif
558
559#if defined BB_INSMOD
560const char insmod_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000561 "insmod [OPTION]... MODULE [symbol=value]..."
Matt Kraaibf181b92000-07-16 20:57:15 +0000562#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000563 "\n\nLoads the specified kernel modules into the kernel.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000564 "Options:\n"
565 "\t-f\tForce module to load into the wrong kernel version.\n"
566 "\t-k\tMake module autoclean-able.\n"
Eric Andersen8c5cb312001-01-24 19:15:07 +0000567 "\t-v\tverbose output\n"
568 "\t-L\tLock to prevent simultaneous loads of a module\n"
569 "\t-x\tdo not export externs"
Matt Kraaibf181b92000-07-16 20:57:15 +0000570#endif
571 ;
572#endif
573
574#if defined BB_KILL
575const char kill_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000576 "kill [-signal] process-id [process-id ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000577#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000578 "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n"
579 "Options:\n" "\t-l\tList all signal names and numbers."
Matt Kraaibf181b92000-07-16 20:57:15 +0000580#endif
581 ;
582#endif
583
584#if defined BB_KILLALL
585const char killall_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000586 "killall [-signal] process-name [process-name ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000587#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000588 "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n"
589 "Options:\n" "\t-l\tList all signal names and numbers."
Matt Kraaibf181b92000-07-16 20:57:15 +0000590#endif
591 ;
592#endif
593
594#if defined BB_LENGTH
595const char length_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000596 "length STRING"
Matt Kraaibf181b92000-07-16 20:57:15 +0000597#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000598 "\n\nPrints out the length of the specified STRING."
Matt Kraaibf181b92000-07-16 20:57:15 +0000599#endif
600 ;
601#endif
602
603#if defined BB_LN
604const char ln_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000605 "ln [OPTION] TARGET... LINK_NAME|DIRECTORY"
Matt Kraaibf181b92000-07-16 20:57:15 +0000606#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000607 "\n\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000608 "\nYou may use '--' to indicate that all following arguments are non-options.\n\n"
609 "Options:\n"
610 "\t-s\tmake symbolic links instead of hard links\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000611 "\t-f\tremove existing destination files\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000612 "\t-n\tno dereference symlinks - treat like normal file"
Matt Kraaibf181b92000-07-16 20:57:15 +0000613#endif
614 ;
615#endif
616
617#if defined BB_LOADACM
618const char loadacm_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000619 "loadacm < mapfile"
Matt Kraaibf181b92000-07-16 20:57:15 +0000620#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000621 "\n\nLoads an acm from standard input."
Matt Kraaibf181b92000-07-16 20:57:15 +0000622#endif
623 ;
624#endif
625
626#if defined BB_LOADFONT
627const char loadfont_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000628 "loadfont < font"
Matt Kraaibf181b92000-07-16 20:57:15 +0000629#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000630 "\n\nLoads a console font from standard input."
Matt Kraaibf181b92000-07-16 20:57:15 +0000631#endif
632 ;
633#endif
634
635#if defined BB_LOADKMAP
636const char loadkmap_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000637 "loadkmap < keymap"
Matt Kraaibf181b92000-07-16 20:57:15 +0000638#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000639 "\n\nLoads a binary keyboard translation table from standard input."
Matt Kraaibf181b92000-07-16 20:57:15 +0000640#endif
641 ;
642#endif
643
644#if defined BB_LOGGER
645const char logger_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000646 "logger [OPTION]... [MESSAGE]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000647#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000648 "\n\nWrite MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000649 "Options:\n"
650 "\t-s\tLog to stderr as well as the system log.\n"
651 "\t-t\tLog using the specified tag (defaults to user name).\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000652 "\t-p\tEnter the message with the specified priority.\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000653 "\t\tThis may be numerical or a ``facility.level'' pair."
Matt Kraaibf181b92000-07-16 20:57:15 +0000654#endif
655 ;
656#endif
657
658#if defined BB_LOGNAME
659const char logname_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000660 "logname"
Matt Kraaibf181b92000-07-16 20:57:15 +0000661#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000662 "\n\nPrint the name of the current user."
Matt Kraaibf181b92000-07-16 20:57:15 +0000663#endif
664 ;
665#endif
666
667#if defined BB_LS
668const char ls_usage[] =
Eric Andersen11c65522000-09-07 17:24:47 +0000669 "ls [-1Aa"
Matt Kraaibf181b92000-07-16 20:57:15 +0000670#ifdef BB_FEATURE_LS_TIMESTAMPS
671 "c"
672#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000673 "Cd"
Matt Kraaibf181b92000-07-16 20:57:15 +0000674#ifdef BB_FEATURE_LS_TIMESTAMPS
675 "e"
676#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000677#ifdef BB_FEATURE_LS_FILETYPES
678 "F"
679#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000680 "iln"
681#ifdef BB_FEATURE_LS_FILETYPES
682 "p"
683#endif
Eric Andersen5b176932000-09-22 20:22:28 +0000684#ifdef BB_FEATURE_LS_FOLLOWLINKS
685 "L"
686#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000687#ifdef BB_FEATURE_LS_RECURSIVE
688 "R"
689#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000690#ifdef BB_FEATURE_LS_SORTFILES
691 "rS"
692#endif
693 "s"
694#ifdef BB_FEATURE_AUTOWIDTH
695 "T"
696#endif
697#ifdef BB_FEATURE_LS_TIMESTAMPS
698 "tu"
699#endif
700#ifdef BB_FEATURE_LS_SORTFILES
701 "v"
702#endif
703#ifdef BB_FEATURE_AUTOWIDTH
704 "w"
705#endif
706 "x"
707#ifdef BB_FEATURE_LS_SORTFILES
708 "X"
709#endif
Richard June6d0921c2001-01-22 22:35:38 +0000710#ifdef BB_FEATURE_HUMAN_READABLE
711 "h"
712#endif
713 "k] [filenames...]\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000714#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000715 "\n\nList directory contents\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000716 "Options:\n"
Eric Andersen11c65522000-09-07 17:24:47 +0000717 "\t-1\tlist files in a single column\n"
718 "\t-A\tdo not list implied . and ..\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000719 "\t-a\tdo not hide entries starting with .\n"
Eric Andersen11c65522000-09-07 17:24:47 +0000720 "\t-C\tlist entries by columns\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000721#ifdef BB_FEATURE_LS_TIMESTAMPS
722 "\t-c\twith -l: show ctime (the time of last\n"
723 "\t\tmodification of file status information)\n"
724#endif
725 "\t-d\tlist directory entries instead of contents\n"
726#ifdef BB_FEATURE_LS_TIMESTAMPS
727 "\t-e\tlist both full date and full time\n"
728#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000729#ifdef BB_FEATURE_LS_FILETYPES
730 "\t-F\tappend indicator (one of */=@|) to entries\n"
731#endif
732 "\t-i\tlist the i-node for each file\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000733 "\t-l\tuse a long listing format\n"
734 "\t-n\tlist numeric UIDs and GIDs instead of names\n"
735#ifdef BB_FEATURE_LS_FILETYPES
736 "\t-p\tappend indicator (one of /=@|) to entries\n"
737#endif
Eric Andersen5b176932000-09-22 20:22:28 +0000738#ifdef BB_FEATURE_LS_FOLLOWLINKS
Eric Andersen965fa322001-01-20 21:45:57 +0000739 "\t-L\tlist entries pointed to by symbolic links\n"
Eric Andersen5b176932000-09-22 20:22:28 +0000740#endif
Matt Kraaibf181b92000-07-16 20:57:15 +0000741#ifdef BB_FEATURE_LS_RECURSIVE
742 "\t-R\tlist subdirectories recursively\n"
743#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000744#ifdef BB_FEATURE_LS_SORTFILES
745 "\t-r\tsort the listing in reverse order\n"
746 "\t-S\tsort the listing by file size\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000747#endif
Eric Andersen11c65522000-09-07 17:24:47 +0000748 "\t-s\tlist the size of each file, in blocks\n"
749#ifdef BB_FEATURE_AUTOWIDTH
750 "\t-T NUM\tassume Tabstop every NUM columns\n"
751#endif
752#ifdef BB_FEATURE_LS_TIMESTAMPS
753 "\t-t\twith -l: show modification time (the time of last\n"
754 "\t\tchange of the file)\n"
755 "\t-u\twith -l: show access time (the time of last\n"
756 "\t\taccess of the file)\n"
757#endif
758#ifdef BB_FEATURE_LS_SORTFILES
759 "\t-v\tsort the listing by version\n"
760#endif
761#ifdef BB_FEATURE_AUTOWIDTH
762 "\t-w NUM\tassume the terminal is NUM columns wide\n"
763#endif
764 "\t-x\tlist entries by lines instead of by columns\n"
765#ifdef BB_FEATURE_LS_SORTFILES
766 "\t-X\tsort the listing by extension\n"
767#endif
Richard June6d0921c2001-01-22 22:35:38 +0000768
769#ifdef BB_FEATURE_HUMAN_READABLE
770 "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
771 "\t-k\tprint sizes in kilobytes(default)\n"
772#else
773 "\t-k\tprint sizes in kilobytes(compatability)"
774#endif
775
Eric Andersen11c65522000-09-07 17:24:47 +0000776#endif /* BB_FEATURE_TRIVIAL_HELP */
Matt Kraaibf181b92000-07-16 20:57:15 +0000777 ;
Eric Andersen11c65522000-09-07 17:24:47 +0000778#endif /* BB_LS */
Matt Kraaibf181b92000-07-16 20:57:15 +0000779
Matt Kraai2f46b662000-07-19 18:01:00 +0000780#if defined BB_LSMOD
781const char lsmod_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000782 "lsmod"
Matt Kraai2f46b662000-07-19 18:01:00 +0000783#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000784 "\n\nList the currently loaded kernel modules."
Matt Kraai2f46b662000-07-19 18:01:00 +0000785#endif
786 ;
787#endif
788
Matt Kraaibf181b92000-07-16 20:57:15 +0000789#if defined BB_MAKEDEVS
790const char makedevs_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000791 "makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000792#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000793 "\n\nCreates a range of block or character special files\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000794 "TYPEs include:\n"
795 "\tb:\tMake a block (buffered) device.\n"
796 "\tc or u:\tMake a character (un-buffered) device.\n"
797 "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes.\n\n"
798 "FIRST specifies the number appended to NAME to create the first device.\n"
799 "LAST specifies the number of the last item that should be created.\n"
800 "If 's' is the last argument, the base device is created as well.\n\n"
801 "For example:\n"
802 "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000803 "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8"
Matt Kraaibf181b92000-07-16 20:57:15 +0000804#endif
805 ;
806#endif
807
808#if defined BB_MD5SUM
809const char md5sum_usage[] =
810 "md5sum [OPTION] [FILE]...\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000811 "or: md5sum [OPTION] -c [FILE]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000812#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000813 "\n\nPrint or check MD5 checksums.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000814 "Options:\n"
815 "With no FILE, or when FILE is -, read standard input.\n\n"
816 "\t-b\tread files in binary mode\n"
817 "\t-c\tcheck MD5 sums against given list\n"
818 "\t-t\tread files in text mode (default)\n"
819 "\t-g\tread a string\n"
820 "\nThe following two options are useful only when verifying checksums:\n"
821 "\t-s,\tdon't output anything, status code shows success\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000822 "\t-w,\twarn about improperly formated MD5 checksum lines"
Matt Kraaibf181b92000-07-16 20:57:15 +0000823#endif
824 ;
825#endif
826
827#if defined BB_MKDIR
828const char mkdir_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000829 "mkdir [OPTION] DIRECTORY..."
Matt Kraaibf181b92000-07-16 20:57:15 +0000830#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000831 "\n\nCreate the DIRECTORY(ies), if they do not already exist\n\n"
832
Matt Kraaibf181b92000-07-16 20:57:15 +0000833 "Options:\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000834 "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000835 "\t-p\tno error if existing, make parent directories as needed"
Matt Kraaibf181b92000-07-16 20:57:15 +0000836#endif
837 ;
838#endif
839
840#if defined BB_MKFIFO
841const char mkfifo_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000842 "mkfifo [OPTIONS] name"
Matt Kraaibf181b92000-07-16 20:57:15 +0000843#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000844 "\n\nCreates a named pipe (identical to 'mknod name p')\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000845 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000846 "\t-m\tcreate the pipe using the specified mode (default a=rw)"
Matt Kraaibf181b92000-07-16 20:57:15 +0000847#endif
848 ;
849#endif
850
851#if defined BB_MKFS_MINIX
852const char mkfs_minix_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000853 "mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000854#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000855 "\n\nMake a MINIX filesystem.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000856 "Options:\n"
857 "\t-c\t\tCheck the device for bad blocks\n"
858 "\t-n [14|30]\tSpecify the maximum length of filenames\n"
859 "\t-i INODES\tSpecify the number of inodes for the filesystem\n"
860 "\t-l FILENAME\tRead the bad blocks list from FILENAME\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000861 "\t-v\t\tMake a Minix version 2 filesystem"
Matt Kraaibf181b92000-07-16 20:57:15 +0000862#endif
863 ;
864#endif
865
866#if defined BB_MKNOD
867const char mknod_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000868 "mknod [OPTIONS] NAME TYPE MAJOR MINOR"
Matt Kraaibf181b92000-07-16 20:57:15 +0000869#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000870 "\n\nCreate a special file (block, character, or pipe).\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000871 "Options:\n"
872 "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n"
873 "TYPEs include:\n"
874 "\tb:\tMake a block (buffered) device.\n"
875 "\tc or u:\tMake a character (un-buffered) device.\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000876 "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes."
Matt Kraaibf181b92000-07-16 20:57:15 +0000877#endif
878 ;
879#endif
880
881#if defined BB_MKSWAP
882const char mkswap_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000883 "mkswap [-c] [-v0|-v1] device [block-count]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000884#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000885 "\n\nPrepare a disk partition to be used as a swap partition.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000886 "Options:\n" "\t-c\t\tCheck for read-ability.\n"
887 "\t-v0\t\tMake version 0 swap [max 128 Megs].\n"
888 "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000889 "\tblock-count\tNumber of block to use (default is entire partition)."
Matt Kraaibf181b92000-07-16 20:57:15 +0000890#endif
891 ;
892#endif
893
894#if defined BB_MKTEMP
895const char mktemp_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000896 "mktemp [-q] TEMPLATE"
Matt Kraaibf181b92000-07-16 20:57:15 +0000897#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000898 "\n\nCreates a temporary file with its name based on TEMPLATE.\n"
899 "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX)."
Matt Kraaibf181b92000-07-16 20:57:15 +0000900#endif
901 ;
902#endif
903
904#if defined BB_MORE
905const char more_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000906 "more [FILE ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000907#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000908 "\n\nMore is a filter for viewing FILE one screenful at a time."
Matt Kraaibf181b92000-07-16 20:57:15 +0000909#endif
910 ;
911#endif
912
913#if defined BB_MOUNT
914const char mount_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000915 "mount [flags] device directory [-o options,more-options]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000916#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000917 "\n\nMount a filesystem\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +0000918 "Flags:\n"
919 "\t-a:\t\tMount all filesystems in fstab.\n"
920#ifdef BB_MTAB
921 "\t-f:\t\t\"Fake\" mount. Add entry to mount table but don't mount it.\n"
922 "\t-n:\t\tDon't write a mount table entry.\n"
923#endif
924 "\t-o option:\tOne of many filesystem options, listed below.\n"
925 "\t-r:\t\tMount the filesystem read-only.\n"
926 "\t-t fs-type:\tSpecify the filesystem type.\n"
927 "\t-w:\t\tMount for reading and writing (default).\n"
928 "\n"
929 "Options for use with the \"-o\" flag:\n"
930 "\tasync/sync:\tWrites are asynchronous / synchronous.\n"
931 "\tatime/noatime:\tEnable / disable updates to inode access times.\n"
932 "\tdev/nodev:\tAllow use of special device files / disallow them.\n"
933 "\texec/noexec:\tAllow use of executable files / disallow them.\n"
934#if defined BB_FEATURE_MOUNT_LOOP
935 "\tloop:\t\tMounts a file via loop device.\n"
936#endif
937 "\tsuid/nosuid:\tAllow set-user-id-root programs / disallow them.\n"
938 "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n"
939 "\tro/rw:\t\tMount for read-only / read-write.\n"
940 "\nThere are EVEN MORE flags that are specific to each filesystem.\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000941 "You'll have to see the written documentation for those."
Matt Kraaibf181b92000-07-16 20:57:15 +0000942#endif
943 ;
944#endif
945
946#if defined BB_MT
947const char mt_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000948 "mt [-f device] opcode value"
Matt Kraaibf181b92000-07-16 20:57:15 +0000949#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000950 "\n\nControl magnetic tape drive operation\n"
Eric Andersen8cbac442000-08-11 20:14:11 +0000951 "\nAvailable Opcodes:\n\n"
952 "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n"
953 "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n"
954 "ras3 reset retension rew rewoffline seek setblk setdensity\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000955 "setpart tell unload unlock weof wset"
Matt Kraaibf181b92000-07-16 20:57:15 +0000956#endif
957 ;
958#endif
959
960#if defined BB_CP_MV
961const char mv_usage[] =
962 "mv SOURCE DEST\n"
Eric Andersen965fa322001-01-20 21:45:57 +0000963 " or: mv SOURCE... DIRECTORY"
Matt Kraaibf181b92000-07-16 20:57:15 +0000964#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000965 "\n\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY."
Matt Kraaibf181b92000-07-16 20:57:15 +0000966#endif
967 ;
968#endif
969
970#if defined BB_NC
971const char nc_usage[] =
Matt Kraai1d702672001-02-07 04:09:23 +0000972 "nc [-p PORT] IP PORT\n"
973 " or: nc -l -p PORT"
Matt Kraaibf181b92000-07-16 20:57:15 +0000974#ifndef BB_FEATURE_TRIVIAL_HELP
Matt Kraai1d702672001-02-07 04:09:23 +0000975 "\n\nNetcat opens a pipe to IP:PORT\n"
976 "Options:\n"
977 "\t-l\tListen on the socket.\n"
978 "\t-p PORT\tBind the local port to PORT."
Matt Kraaibf181b92000-07-16 20:57:15 +0000979#endif
980 ;
981#endif
982
983#if defined BB_NSLOOKUP
984const char nslookup_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000985 "nslookup [HOST]"
Matt Kraaibf181b92000-07-16 20:57:15 +0000986#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000987 "\n\nQueries the nameserver for the IP address of the given HOST"
Matt Kraaibf181b92000-07-16 20:57:15 +0000988#endif
989;
990#endif
991
992#if defined BB_PING
993#if defined BB_FEATURE_SIMPLE_PING
994const char ping_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +0000995 "ping host"
Matt Kraaibf181b92000-07-16 20:57:15 +0000996#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +0000997 "\n\nSend ICMP ECHO_REQUEST packets to network hosts"
Matt Kraaibf181b92000-07-16 20:57:15 +0000998#endif
999 ;
1000#else /* ! defined BB_FEATURE_SIMPLE_PING */
1001const char ping_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001002 "ping [OPTION]... host"
Matt Kraaibf181b92000-07-16 20:57:15 +00001003#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001004 "\n\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001005 "Options:\n"
1006 "\t-c COUNT\tSend only COUNT pings.\n"
1007 "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n"
1008 "\t-q\t\tQuiet mode, only displays output at start\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001009 "\t\t\tand when finished."
Matt Kraaibf181b92000-07-16 20:57:15 +00001010#endif
1011 ;
1012#endif
1013#endif
1014
Eric Andersen6fd8c662001-02-13 20:04:30 +00001015#if defined BB_PIVOT_ROOT
1016const char pivot_root_usage[] =
1017 "pivot_root new_root put_old"
1018#ifndef BB_FEATURE_TRIVIAL_HELP
1019 "\n\nMove the current root file system to put_old and make new_root\n"
1020 "the new root file system."
1021#endif
1022 ;
1023#endif
1024
Matt Kraai2f46b662000-07-19 18:01:00 +00001025#if defined BB_POWEROFF
1026const char poweroff_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001027 "poweroff"
Matt Kraai2f46b662000-07-19 18:01:00 +00001028#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001029 "\n\nHalt the system and request that the kernel shut off the power."
Matt Kraai2f46b662000-07-19 18:01:00 +00001030#endif
1031 ;
1032#endif
1033
Matt Kraaibf181b92000-07-16 20:57:15 +00001034#if defined BB_PRINTF
1035const char printf_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001036 "printf FORMAT [ARGUMENT...]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001037#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001038 "\n\nFormats and prints ARGUMENT(s) according to FORMAT,\n"
1039 "Where FORMAT controls the output exactly as in C printf."
Matt Kraaibf181b92000-07-16 20:57:15 +00001040#endif
1041 ;
1042#endif
1043
1044#if defined BB_PS
1045const char ps_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001046 "ps"
Matt Kraaibf181b92000-07-16 20:57:15 +00001047#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001048 "\n\nReport process status\n"
1049 "\nThis version of ps accepts no options."
Matt Kraaibf181b92000-07-16 20:57:15 +00001050#endif
1051 ;
1052#endif
1053
Matt Kraai2f46b662000-07-19 18:01:00 +00001054#if defined BB_PWD
1055const char pwd_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001056 "pwd"
Matt Kraai2f46b662000-07-19 18:01:00 +00001057#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001058 "\n\nPrint the full filename of the current working directory."
Matt Kraai2f46b662000-07-19 18:01:00 +00001059#endif
1060 ;
1061#endif
1062
Eric Andersen918507e2000-08-21 22:46:33 +00001063#if defined BB_RDATE
1064const char rdate_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001065 "rdate [OPTION] HOST"
Eric Andersen918507e2000-08-21 22:46:33 +00001066#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001067 "\n\nGet and possibly set the system date and time from a remote HOST.\n"
Eric Andersen918507e2000-08-21 22:46:33 +00001068 "Options:\n"
1069 "\t-s\tSet the system date and time (default).\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001070 "\t-p\tPrint the date and time."
Eric Andersen918507e2000-08-21 22:46:33 +00001071#endif
1072 ;
1073#endif
1074
Mark Whitley872138d2000-10-09 18:56:47 +00001075#if defined BB_READLINK
1076const char readlink_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001077 "readlink"
Mark Whitley872138d2000-10-09 18:56:47 +00001078#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001079 "\n\nRead a symbolic link."
Mark Whitley872138d2000-10-09 18:56:47 +00001080#endif
1081 ;
1082#endif
1083
Matt Kraai2f46b662000-07-19 18:01:00 +00001084#if defined BB_REBOOT
1085const char reboot_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001086 "reboot"
Matt Kraai2f46b662000-07-19 18:01:00 +00001087#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001088 "\n\nReboot the system."
Matt Kraai2f46b662000-07-19 18:01:00 +00001089#endif
1090 ;
1091#endif
Eric Andersenbf960f52000-07-21 21:32:12 +00001092
1093#if defined BB_RENICE
1094const char renice_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001095 "renice priority pid [pid ...]"
Eric Andersenbf960f52000-07-21 21:32:12 +00001096#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001097 "\n\nChanges priority of running processes. Allowed priorities range\n"
Eric Andersenbf960f52000-07-21 21:32:12 +00001098 "from 20 (the process runs only when nothing else is running) to 0\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001099 "(default priority) to -20 (almost nothing else ever gets to run)."
Eric Andersenbf960f52000-07-21 21:32:12 +00001100#endif
1101 ;
1102#endif
1103
Eric Andersenfa405d02000-08-21 21:18:52 +00001104
1105#if defined BB_RESET
1106const char reset_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001107 "reset"
Eric Andersenfa405d02000-08-21 21:18:52 +00001108#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001109 "\n\nResets the screen."
Eric Andersenfa405d02000-08-21 21:18:52 +00001110#endif
1111 ;
1112#endif
1113
Matt Kraaibf181b92000-07-16 20:57:15 +00001114#if defined BB_RM
1115const char rm_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001116 "rm [OPTION]... FILE..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001117#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001118 "\n\nRemove (unlink) the FILE(s). You may use '--' to\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001119 "indicate that all following arguments are non-options.\n\n"
1120 "Options:\n"
1121 "\t-f\t\tremove existing destinations, never prompt\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001122 "\t-r or -R\tremove the contents of directories recursively"
Matt Kraaibf181b92000-07-16 20:57:15 +00001123#endif
1124 ;
1125#endif
1126
1127#if defined BB_RMDIR
1128const char rmdir_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001129 "rmdir [OPTION]... DIRECTORY..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001130#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001131 "\n\nRemove the DIRECTORY(ies), if they are empty."
Matt Kraaibf181b92000-07-16 20:57:15 +00001132#endif
1133 ;
1134#endif
1135
1136#if defined BB_RMMOD
1137const char rmmod_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001138 "rmmod [OPTION]... [MODULE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001139#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001140 "\n\nUnloads the specified kernel modules from the kernel.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001141 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001142 "\t-a\tTry to remove all unused kernel modules."
Matt Kraaibf181b92000-07-16 20:57:15 +00001143#endif
1144 ;
1145#endif
1146
Eric Andersene500d202000-11-29 21:38:11 +00001147#if defined BB_RPMUNPACK
1148const char rpmunpack_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001149 "rpmunpack < package.rpm | gunzip | cpio -idmuv"
Eric Andersene500d202000-11-29 21:38:11 +00001150#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001151 "\n\nExtracts an rpm archive."
Eric Andersene500d202000-11-29 21:38:11 +00001152#endif
1153 ;
1154#endif
1155
Matt Kraaibf181b92000-07-16 20:57:15 +00001156#if defined BB_SED
1157const char sed_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001158 "sed [-Vhnef] pattern [files...]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001159#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001160 "\n\n"
Eric Andersen4d5ac2f2000-08-25 00:23:36 +00001161 "-n\t\tsuppress automatic printing of pattern space\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001162 "-e script\tadd the script to the commands to be executed\n"
1163 "-f scriptfile\tadd the contents of script-file to the commands to be executed\n"
Eric Andersen4d5ac2f2000-08-25 00:23:36 +00001164 "-h\t\tdisplay this help message\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001165 "\n"
1166 "If no -e or -f is given, the first non-option argument is taken as the\n"
1167 "sed script to interpret. All remaining arguments are names of input\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001168 "files; if no input files are specified, then the standard input is read."
Matt Kraaibf181b92000-07-16 20:57:15 +00001169#endif
1170 ;
1171#endif
1172
1173#if defined BB_SETKEYCODES
1174const char setkeycodes_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001175 "setkeycodes SCANCODE KEYCODE ..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001176#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001177 "\n\nSet entries into the kernel's scancode-to-keycode map,\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001178 "allowing unusual keyboards to generate usable keycodes.\n\n"
1179 "SCANCODE may be either xx or e0xx (hexadecimal),\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001180 "and KEYCODE is given in decimal"
Matt Kraaibf181b92000-07-16 20:57:15 +00001181#endif
1182 ;
1183#endif
1184
1185#if defined BB_SH
1186const char shell_usage[] =
1187 "sh [FILE]...\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001188 " or: sh -c command [args]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001189#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001190 "\n\nlash: The BusyBox command interpreter (shell)."
Matt Kraaibf181b92000-07-16 20:57:15 +00001191#endif
1192 ;
1193#endif
1194
1195#if defined BB_SLEEP
1196const char sleep_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001197 "sleep N"
Matt Kraaibf181b92000-07-16 20:57:15 +00001198#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001199 "\n\nPause for N seconds."
Matt Kraaibf181b92000-07-16 20:57:15 +00001200#endif
1201 ;
1202#endif
1203
1204#if defined BB_SORT
1205const char sort_usage[] =
1206 "sort [-n]"
1207#ifdef BB_FEATURE_SORT_REVERSE
1208 " [-r]"
1209#endif
Eric Andersen965fa322001-01-20 21:45:57 +00001210 " [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001211#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001212 "\n\nSorts lines of text in the specified files"
Matt Kraaibf181b92000-07-16 20:57:15 +00001213#endif
1214 ;
1215#endif
1216
1217#if defined BB_SWAPONOFF
1218const char swapoff_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001219 "swapoff [OPTION] [device]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001220#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001221 "\n\nStop swapping virtual memory pages on the given device.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001222 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001223 "\t-a\tStop swapping on all swap devices"
Matt Kraaibf181b92000-07-16 20:57:15 +00001224#endif
1225 ;
1226#endif
1227
1228#if defined BB_SWAPONOFF
1229const char swapon_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001230 "swapon [OPTION] [device]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001231#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001232 "\n\nStart swapping virtual memory pages on the given device.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001233 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001234 "\t-a\tStart swapping on all swap devices"
Matt Kraaibf181b92000-07-16 20:57:15 +00001235#endif
1236 ;
1237#endif
1238
1239#if defined BB_SYNC
1240const char sync_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001241 "sync"
Matt Kraaibf181b92000-07-16 20:57:15 +00001242#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001243 "\n\nWrite all buffered filesystem blocks to disk."
Matt Kraaibf181b92000-07-16 20:57:15 +00001244#endif
1245 ;
1246#endif
1247
1248#if defined BB_SYSLOGD
1249const char syslogd_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001250 "syslogd [OPTION]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001251#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001252 "\n\nLinux system and kernel (provides klogd) logging utility.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001253 "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n"
1254 "Options:\n"
1255 "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n"
1256 "\t-n\t\tRun as a foreground process\n"
1257#ifdef BB_FEATURE_KLOGD
1258 "\t-K\t\tDo not start up the klogd process\n"
1259#endif
Eric Andersen965fa322001-01-20 21:45:57 +00001260 "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)"
Eric Andersenced2cef2000-07-20 23:41:24 +00001261#ifdef BB_FEATURE_REMOTE_LOG
Eric Andersen965fa322001-01-20 21:45:57 +00001262 "\n\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n"
1263 "\t-L\t\tLog locally as well as network logging (default is network only)"
Eric Andersenced2cef2000-07-20 23:41:24 +00001264#endif
Matt Kraaibf181b92000-07-16 20:57:15 +00001265#endif
1266 ;
1267#endif
1268
1269#if defined BB_TAIL
Matt Kraaibf181b92000-07-16 20:57:15 +00001270const char tail_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001271 "tail [OPTION]... [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001272#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001273 "\n\nPrint last 10 lines of each FILE to standard output.\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001274 "With more than one FILE, precede each with a header giving the\n"
1275 "file name. With no FILE, or when FILE is -, read standard input.\n\n"
1276 "Options:\n"
Eric Andersend5fa3e32000-08-02 16:42:58 +00001277#ifndef BB_FEATURE_SIMPLE_TAIL
Matt Kraai24ac0172000-12-18 21:38:57 +00001278 "\t-c N[kbm]\toutput the last N bytes\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001279#endif
Matt Kraai24ac0172000-12-18 21:38:57 +00001280 "\t-n N[kbm]\tprint last N lines instead of last 10\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001281 "\t-f\t\toutput data as the file grows"
Eric Andersend5fa3e32000-08-02 16:42:58 +00001282#ifndef BB_FEATURE_SIMPLE_TAIL
Eric Andersen965fa322001-01-20 21:45:57 +00001283 "\n\t-q\t\tnever output headers giving file names\n"
Matt Kraai24ac0172000-12-18 21:38:57 +00001284 "\t-s SEC\t\twait SEC seconds between reads with -f\n"
Eric Andersend5fa3e32000-08-02 16:42:58 +00001285 "\t-v\t\talways output headers giving file names\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001286 "If the first character of N (bytes or lines) is a `+', output begins with \n"
1287 "the Nth item from the start of each file, otherwise, print the last N items\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001288 "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)."
Eric Andersend5fa3e32000-08-02 16:42:58 +00001289//#else
1290// "\nIf the first character of N (bytes or lines) is a `+', output begins with \n"
Eric Andersen965fa322001-01-20 21:45:57 +00001291// "the Nth item from the start of each file."
Eric Andersend5fa3e32000-08-02 16:42:58 +00001292#endif
Matt Kraaibf181b92000-07-16 20:57:15 +00001293#endif
1294 ;
1295#endif
Matt Kraaibf181b92000-07-16 20:57:15 +00001296
1297#if defined BB_TAR
1298const char tar_usage[] =
1299#ifdef BB_FEATURE_TAR_CREATE
1300 "tar -[cxtvO] "
1301#else
1302 "tar -[xtvO] "
1303#endif
1304#if defined BB_FEATURE_TAR_EXCLUDE
Eric Andersenfdd51032000-08-02 18:48:26 +00001305 "[--exclude File] "
Eric Andersen8cede002000-12-04 18:51:09 +00001306 "[-X File]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001307#endif
Eric Andersen965fa322001-01-20 21:45:57 +00001308 "[-f tarFile] [FILE(s)] ..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001309#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001310 "\n\nCreate, extract, or list files from a tar file.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001311 "Main operation mode:\n"
1312#ifdef BB_FEATURE_TAR_CREATE
1313 "\tc\t\tcreate\n"
1314#endif
1315 "\tx\t\textract\n"
1316 "\tt\t\tlist\n"
1317 "\nFile selection:\n"
1318 "\tf\t\tname of tarfile or \"-\" for stdin\n"
1319 "\tO\t\textract to stdout\n"
1320#if defined BB_FEATURE_TAR_EXCLUDE
Eric Andersenfdd51032000-08-02 18:48:26 +00001321 "\texclude\t\tfile to exclude\n"
Eric Andersen8cede002000-12-04 18:51:09 +00001322 "\tX\t\tfile with names to exclude\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001323#endif
1324 "\nInformative output:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001325 "\tv\t\tverbosely list files processed"
Matt Kraaibf181b92000-07-16 20:57:15 +00001326#endif
1327 ;
1328#endif
1329
1330#if defined BB_TEE
1331const char tee_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001332 "tee [OPTION]... [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001333#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001334 "\n\nCopy standard input to each FILE, and also to standard output.\n\n"
1335 "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite"
Matt Kraaibf181b92000-07-16 20:57:15 +00001336#endif
1337 ;
1338#endif
1339
1340#if defined BB_TELNET
1341const char telnet_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001342 "telnet host [port]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001343#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001344 "\n\nTelnet is used to establish interactive communication with another\n"
1345 "computer over a network using the TELNET protocol."
Matt Kraaibf181b92000-07-16 20:57:15 +00001346#endif
1347 ;
1348#endif
1349
1350#if defined BB_TEST
1351const char test_usage[] =
1352 "test EXPRESSION\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001353 "or [ EXPRESSION ]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001354#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001355 "\n\nChecks file types and compares values returning an exit\n"
1356 "code determined by the value of EXPRESSION."
Matt Kraaibf181b92000-07-16 20:57:15 +00001357#endif
1358 ;
1359#endif
1360
1361#if defined BB_TOUCH
1362const char touch_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001363 "touch [-c] file [file ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001364#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001365 "\n\nUpdate the last-modified date on the given file[s].\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001366 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001367 "\t-c\tDo not create any files"
Matt Kraaibf181b92000-07-16 20:57:15 +00001368#endif
1369 ;
1370#endif
1371
1372#if defined BB_TR
1373const char tr_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001374 "tr [-cds] STRING1 [STRING2]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001375#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001376 "\n\nTranslate, squeeze, and/or delete characters from\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001377 "standard input, writing to standard output.\n\n"
1378 "Options:\n"
1379 "\t-c\ttake complement of STRING1\n"
1380 "\t-d\tdelete input characters coded STRING1\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001381 "\t-s\tsqueeze multiple output characters of STRING2 into one character"
Matt Kraaibf181b92000-07-16 20:57:15 +00001382#endif
1383 ;
1384#endif
1385
Matt Kraai2f46b662000-07-19 18:01:00 +00001386#if defined BB_TRUE_FALSE
1387const char true_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001388 "true"
Matt Kraai2f46b662000-07-19 18:01:00 +00001389#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001390 "\n\nReturn an exit code of TRUE (0)."
Matt Kraai2f46b662000-07-19 18:01:00 +00001391#endif
1392 ;
1393#endif
1394
Matt Kraaibf181b92000-07-16 20:57:15 +00001395#if defined BB_TTY
1396const char tty_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001397 "tty"
Matt Kraaibf181b92000-07-16 20:57:15 +00001398#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001399 "\n\nPrint the file name of the terminal connected to standard input.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001400 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001401 "\t-s\tprint nothing, only return an exit status"
Matt Kraaibf181b92000-07-16 20:57:15 +00001402#endif
1403 ;
1404#endif
1405
1406#if defined BB_UMOUNT
1407const char umount_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001408 "umount [flags] filesystem|directory"
Matt Kraaibf181b92000-07-16 20:57:15 +00001409#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001410 "\nUnmount file systems\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001411 "\nFlags:\n" "\t-a:\tUnmount all file systems"
1412#ifdef BB_MTAB
1413 " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n"
1414#else
1415 "\n"
1416#endif
Eric Andersen965fa322001-01-20 21:45:57 +00001417 "\t-r:\tTry to remount devices as read-only if mount is busy"
Matt Kraaibf181b92000-07-16 20:57:15 +00001418#if defined BB_FEATURE_MOUNT_FORCE
Eric Andersen965fa322001-01-20 21:45:57 +00001419 "\n\t-f:\tForce filesystem umount (i.e. unreachable NFS server)"
Matt Kraaibf181b92000-07-16 20:57:15 +00001420#endif
1421#if defined BB_FEATURE_MOUNT_LOOP
Eric Andersen965fa322001-01-20 21:45:57 +00001422 "\n\t-l:\tDo not free loop device (if a loop device has been used)"
Matt Kraaibf181b92000-07-16 20:57:15 +00001423#endif
1424#endif
1425 ;
1426#endif
1427
1428#if defined BB_UNAME
1429const char uname_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001430 "uname [OPTION]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001431#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001432 "\n\nPrint certain system information. With no OPTION, same as -s.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001433 "Options:\n"
1434 "\t-a\tprint all information\n"
1435 "\t-m\tthe machine (hardware) type\n"
1436 "\t-n\tprint the machine's network node hostname\n"
1437 "\t-r\tprint the operating system release\n"
1438 "\t-s\tprint the operating system name\n"
1439
1440 "\t-p\tprint the host processor type\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001441 "\t-v\tprint the operating system version"
Matt Kraaibf181b92000-07-16 20:57:15 +00001442#endif
1443 ;
1444#endif
1445
1446#if defined BB_UNIQ
1447const char uniq_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001448 "uniq [OPTION]... [INPUT [OUTPUT]]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001449#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001450 "\n\nDiscard all but one of successive identical lines from INPUT\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001451 "(or standard input), writing to OUTPUT (or standard output).\n"
Eric Andersen5b5db382000-12-09 16:37:53 +00001452 "Options:\n"
1453 "\t-c\tprefix lines by the number of occurrences\n"
1454 "\t-d\tonly print duplicate lines\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001455 "\t-u\tonly print unique lines"
Matt Kraaibf181b92000-07-16 20:57:15 +00001456#endif
1457 ;
1458#endif
1459
Eric Andersencff3fe32000-09-20 19:22:26 +00001460#if defined BB_UNIX2DOS
1461const char unix2dos_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001462 "unix2dos < unixfile > dosfile"
Eric Andersencff3fe32000-09-20 19:22:26 +00001463#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001464 "\n\nConverts a text file from unix format to dos format."
Eric Andersencff3fe32000-09-20 19:22:26 +00001465#endif
1466 ;
1467#endif
1468
Matt Kraaibf181b92000-07-16 20:57:15 +00001469#if defined BB_UPDATE
1470const char update_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001471 "update [options]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001472#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001473 "\n\nPeriodically flushes filesystem buffers.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001474 "Options:\n"
1475 "\t-S\tforce use of sync(2) instead of flushing\n"
1476 "\t-s SECS\tcall sync this often (default 30)\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001477 "\t-f SECS\tflush some buffers this often (default 5)"
Matt Kraaibf181b92000-07-16 20:57:15 +00001478#endif
1479 ;
1480#endif
1481
Matt Kraai2f46b662000-07-19 18:01:00 +00001482#if defined BB_UPTIME
1483const char uptime_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001484 "uptime"
Matt Kraai2f46b662000-07-19 18:01:00 +00001485#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001486 "\n\nDisplay the time since the last boot."
Matt Kraai2f46b662000-07-19 18:01:00 +00001487#endif
1488 ;
1489#endif
1490
Matt Kraaibf181b92000-07-16 20:57:15 +00001491#if defined BB_USLEEP
1492const char usleep_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001493 "usleep N"
Matt Kraaibf181b92000-07-16 20:57:15 +00001494#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001495 "\n\nPause for N microseconds."
Matt Kraaibf181b92000-07-16 20:57:15 +00001496#endif
1497 ;
1498#endif
1499
1500#if defined BB_UUDECODE
1501const char uudecode_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001502 "uudecode [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001503#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001504 "\n\nUudecode a file that is uuencoded.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001505 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001506 "\t-o FILE\tdirect output to FILE"
Matt Kraaibf181b92000-07-16 20:57:15 +00001507#endif
1508 ;
1509#endif
1510
1511#if defined BB_UUENCODE
1512const char uuencode_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001513 "uuencode [OPTION] [INFILE] REMOTEFILE"
Matt Kraaibf181b92000-07-16 20:57:15 +00001514#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001515 "\n\nUuencode a file.\n\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001516 "Options:\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001517 "\t-m\tuse base64 encoding as of RFC1521"
Matt Kraaibf181b92000-07-16 20:57:15 +00001518#endif
1519 ;
1520#endif
1521
Eric Andersenffde8672001-01-25 23:40:32 +00001522#if defined BB_WATCHDOG
1523const char watchdog_usage[] =
1524 "watchdog dev\n"
1525#ifndef BB_FEATURE_TRIVIAL_HELP
1526 "\nPeriodically write to watchdog device \"dev\".\n"
1527#endif
1528 ;
1529#endif
1530
Matt Kraaibf181b92000-07-16 20:57:15 +00001531#if defined BB_WC
1532const char wc_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001533 "wc [OPTION]... [FILE]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001534#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001535 "\n\nPrint line, word, and byte counts for each FILE, and a total line if\n"
Matt Kraaibf181b92000-07-16 20:57:15 +00001536 "more than one FILE is specified. With no FILE, read standard input.\n\n"
1537 "Options:\n"
1538 "\t-c\tprint the byte counts\n"
1539 "\t-l\tprint the newline counts\n"
1540
1541 "\t-L\tprint the length of the longest line\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001542 "\t-w\tprint the word counts"
Matt Kraaibf181b92000-07-16 20:57:15 +00001543#endif
1544 ;
1545#endif
1546
Eric Andersen61a9d8d2000-09-04 15:16:51 +00001547#if defined BB_WGET
Eric Andersen965fa322001-01-20 21:45:57 +00001548const char wget_usage[] = "wget [-c] [-O file] url"
Eric Andersen61a9d8d2000-09-04 15:16:51 +00001549#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001550 "\n\nwget retrieves files via HTTP\n\n"
Eric Andersen61a9d8d2000-09-04 15:16:51 +00001551 "Options:\n"
1552 "\t-c\tcontinue retrieval of aborted transfers\n"
Eric Andersen965fa322001-01-20 21:45:57 +00001553 "\t-O\tsave to filename ('-' for stdout)"
Eric Andersen61a9d8d2000-09-04 15:16:51 +00001554#endif
1555 ;
1556#endif
1557
Matt Kraaibf181b92000-07-16 20:57:15 +00001558#if defined BB_WHICH
1559const char which_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001560 "which [COMMAND ...]"
Matt Kraaibf181b92000-07-16 20:57:15 +00001561#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001562 "\n\nLocates a COMMAND."
Matt Kraaibf181b92000-07-16 20:57:15 +00001563#endif
1564 ;
1565#endif
1566
1567#if defined BB_WHOAMI
1568const char whoami_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001569 "whoami"
Matt Kraaibf181b92000-07-16 20:57:15 +00001570#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001571 "\n\nPrints the user name associated with the current effective user id."
Matt Kraaibf181b92000-07-16 20:57:15 +00001572#endif
1573 ;
1574#endif
1575
Eric Andersen92a61c12000-09-22 20:01:23 +00001576#if defined BB_XARGS
Eric Andersen965fa322001-01-20 21:45:57 +00001577const char xargs_usage[] = "xargs [COMMAND] [ARGS...]"
Eric Andersen5b176932000-09-22 20:22:28 +00001578#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001579 "\n\nExecutes COMMAND on every item given by standard input."
Eric Andersen5b176932000-09-22 20:22:28 +00001580#endif
1581 ;
Eric Andersen92a61c12000-09-22 20:01:23 +00001582#endif
1583
Matt Kraaibf181b92000-07-16 20:57:15 +00001584#if defined BB_YES
1585const char yes_usage[] =
Eric Andersen965fa322001-01-20 21:45:57 +00001586 "yes [OPTION]... [STRING]..."
Matt Kraaibf181b92000-07-16 20:57:15 +00001587#ifndef BB_FEATURE_TRIVIAL_HELP
Eric Andersen965fa322001-01-20 21:45:57 +00001588 "\n\nRepeatedly outputs a line with all specified STRING(s), or `y'."
Matt Kraaibf181b92000-07-16 20:57:15 +00001589#endif
1590 ;
1591#endif
Mark Whitley60506182000-10-19 22:28:06 +00001592