summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-28 00:06:39 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-28 00:06:39 +0000
commit1fffe38e01e747341cfe921b38a5cffc569e3188 (patch)
tree9aea032719714ce2d5d8bbaab6b2ee68216b1e12 /include
parent229b3d207216b23a107e4e1ee5584412f6b9318d (diff)
downloadbusybox-w32-1fffe38e01e747341cfe921b38a5cffc569e3188.tar.gz
busybox-w32-1fffe38e01e747341cfe921b38a5cffc569e3188.tar.bz2
busybox-w32-1fffe38e01e747341cfe921b38a5cffc569e3188.zip
fix udhcpc help message, take steps to make usage.h less messy
Diffstat (limited to 'include')
-rw-r--r--include/usage.h4481
1 files changed, 2240 insertions, 2241 deletions
diff --git a/include/usage.h b/include/usage.h
index 98c802721..7cabd8751 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -1,249 +1,249 @@
1/* vi: set sw=4 ts=4: */ 1/* vi: set sw=8 ts=8: */
2/* 2/*
3 * This file suffers from chronically incorrect tabification 3 * This file suffers from chronically incorrect tabification
4 * of messages. Before editing this file: 4 * of messages. Before editing this file:
5 * 1. Switch you editor to 8-space tab mode. 5 * 1. Switch you editor to 8-space tab mode.
6 * 2. Do not use \t in messages, use real tab character. 6 * 2. Do not use \t in messages, use real tab character.
7 * 3. Start each source line with message as follows: 7 * 3. Start each source line with message as follows:
8 * |<7 spaces>"text with tabs" 8 * |<7 spaces>"text with tabs"....
9 */ 9 */
10 10
11#ifndef __BB_USAGE_H__ 11#ifndef __BB_USAGE_H__
12#define __BB_USAGE_H__ 12#define __BB_USAGE_H__
13 13
14#define addgroup_trivial_usage \ 14#define addgroup_trivial_usage \
15 "[-g GID] group_name [user_name]" 15 "[-g GID] group_name [user_name]"
16#define addgroup_full_usage \ 16#define addgroup_full_usage \
17 "Adds a group to the system\n\n" \ 17 "Adds a group to the system\n\n" \
18 "Options:\n" \ 18 "Options:\n" \
19 "\t-g GID\t\tspecify gid" 19 " -g GID specify gid"
20 20
21#define adduser_trivial_usage \ 21#define adduser_trivial_usage \
22 "[OPTIONS] user_name" 22 "[OPTIONS] user_name"
23#define adduser_full_usage \ 23#define adduser_full_usage \
24 "Adds a user to the system\n\n" \ 24 "Adds a user to the system\n\n" \
25 "Options:\n" \ 25 "Options:\n" \
26 "\t-h DIR\t\tAssign home directory DIR\n" \ 26 " -h DIR Assign home directory DIR\n" \
27 "\t-g GECOS\tAssign gecos field GECOS\n" \ 27 " -g GECOS Assign gecos field GECOS\n" \
28 "\t-s SHELL\tAssign login shell SHELL\n" \ 28 " -s SHELL Assign login shell SHELL\n" \
29 "\t-G\t\tAdd the user to existing group GROUP\n" \ 29 " -G Add the user to existing group GROUP\n" \
30 "\t-S\t\tcreate a system user (ignored)\n" \ 30 " -S create a system user (ignored)\n" \
31 "\t-D\t\tDo not assign a password (logins still possible via ssh)\n" \ 31 " -D Do not assign a password (logins still possible via ssh)\n" \
32 "\t-H\t\tDo not create the home directory" 32 " -H Do not create the home directory"
33 33
34#define adjtimex_trivial_usage \ 34#define adjtimex_trivial_usage \
35 "[-q] [-o offset] [-f frequency] [-p timeconstant] [-t tick]" 35 "[-q] [-o offset] [-f frequency] [-p timeconstant] [-t tick]"
36#define adjtimex_full_usage \ 36#define adjtimex_full_usage \
37 "Reads and optionally sets system timebase parameters.\n" \ 37 "Reads and optionally sets system timebase parameters.\n" \
38 "See adjtimex(2).\n\n" \ 38 "See adjtimex(2).\n\n" \
39 "Options:\n" \ 39 "Options:\n" \
40 "\t-q\t\tquiet mode - do not print\n" \ 40 " -q quiet mode - do not print\n" \
41 "\t-o offset\ttime offset, microseconds\n" \ 41 " -o offset time offset, microseconds\n" \
42 "\t-f frequency\tfrequency adjust, integer kernel units (65536 is 1ppm)\n" \ 42 " -f frequency frequency adjust, integer kernel units (65536 is 1ppm)\n" \
43 "\t\t\t(positive values make the system clock run fast)\n" \ 43 " (positive values make the system clock run fast)\n" \
44 "\t-t tick\t\tmicroseconds per tick, usually 10000\n" \ 44 " -t tick microseconds per tick, usually 10000\n" \
45 "\t-p timeconstant" 45 " -p timeconstant"
46 46
47#define ar_trivial_usage \ 47#define ar_trivial_usage \
48 "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES" 48 "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES"
49#define ar_full_usage \ 49#define ar_full_usage \
50 "Extract or list FILES from an ar archive.\n\n" \ 50 "Extract or list FILES from an ar archive.\n\n" \
51 "Options:\n" \ 51 "Options:\n" \
52 "\t-o\t\tpreserve original dates\n" \ 52 " -o preserve original dates\n" \
53 "\t-p\t\textract to stdout\n" \ 53 " -p extract to stdout\n" \
54 "\t-t\t\tlist\n" \ 54 " -t list\n" \
55 "\t-x\t\textract\n" \ 55 " -x extract\n" \
56 "\t-v\t\tverbosely list files processed" 56 " -v verbosely list files processed"
57 57
58#define arping_trivial_usage \ 58#define arping_trivial_usage \
59 "[-fqbDUA] [-c count] [-w timeout] [-i device] [-s sender] target" 59 "[-fqbDUA] [-c count] [-w timeout] [-i device] [-s sender] target"
60#define arping_full_usage \ 60#define arping_full_usage \
61 "Ping hosts by ARP requests/replies.\n\n" \ 61 "Ping hosts by ARP requests/replies.\n\n" \
62 "Options:\n" \ 62 "Options:\n" \
63 "\t-f\t\tQuit on first ARP reply\n" \ 63 " -f Quit on first ARP reply\n" \
64 "\t-q\t\tBe quiet\n" \ 64 " -q Be quiet\n" \
65 "\t-b\t\tKeep broadcasting, don't go unicast\n" \ 65 " -b Keep broadcasting, don't go unicast\n" \
66 "\t-D\t\tDuplicated address detection mode\n" \ 66 " -D Duplicated address detection mode\n" \
67 "\t-U\t\tUnsolicited ARP mode, update your neighbours\n" \ 67 " -U Unsolicited ARP mode, update your neighbours\n" \
68 "\t-A\t\tARP answer mode, update your neighbours\n" \ 68 " -A ARP answer mode, update your neighbours\n" \
69 "\t-c count\tStop after sending count ARP request packets\n" \ 69 " -c count Stop after sending count ARP request packets\n" \
70 "\t-w timeout\tTime to wait for ARP reply, in seconds\n" \ 70 " -w timeout Time to wait for ARP reply, in seconds\n" \
71 "\t-i device\tOutgoing interface name, default is eth0\n" \ 71 " -i device Outgoing interface name, default is eth0\n" \
72 "\t-s sender\tSet specific sender IP address\n" \ 72 " -s sender Set specific sender IP address\n" \
73 "\ttarget\t\tTarget IP address of ARP request" 73 " target Target IP address of ARP request"
74 74
75#define ash_trivial_usage \ 75#define ash_trivial_usage \
76 "[FILE]...\n" \ 76 "[FILE]...\n" \
77 "or: ash -c command [args]..." 77 "or: ash -c command [args]..."
78#define ash_full_usage \ 78#define ash_full_usage \
79 "The ash shell (command interpreter)" 79 "The ash shell (command interpreter)"
80 80
81#define awk_trivial_usage \ 81#define awk_trivial_usage \
82 "[OPTION]... [program-text] [FILE ...]" 82 "[OPTION]... [program-text] [FILE ...]"
83#define awk_full_usage \ 83#define awk_full_usage \
84 "Options:\n" \ 84 "Options:\n" \
85 "\t-v var=val\tassign value 'val' to variable 'var'\n" \ 85 " -v var=val assign value 'val' to variable 'var'\n" \
86 "\t-F sep\t\tuse 'sep' as field separator\n" \ 86 " -F sep use 'sep' as field separator\n" \
87 "\t-f progname\tread program source from file 'progname'" 87 " -f progname read program source from file 'progname'"
88 88
89#define basename_trivial_usage \ 89#define basename_trivial_usage \
90 "FILE [SUFFIX]" 90 "FILE [SUFFIX]"
91#define basename_full_usage \ 91#define basename_full_usage \
92 "Strips directory path and suffixes from FILE.\n" \ 92 "Strips directory path and suffixes from FILE.\n" \
93 "If specified, also removes any trailing SUFFIX." 93 "If specified, also removes any trailing SUFFIX."
94#define basename_example_usage \ 94#define basename_example_usage \
95 "$ basename /usr/local/bin/foo\n" \ 95 "$ basename /usr/local/bin/foo\n" \
96 "foo\n" \ 96 "foo\n" \
97 "$ basename /usr/local/bin/\n" \ 97 "$ basename /usr/local/bin/\n" \
98 "bin\n" \ 98 "bin\n" \
99 "$ basename /foo/bar.txt .txt\n" \ 99 "$ basename /foo/bar.txt .txt\n" \
100 "bar" 100 "bar"
101 101
102#define bunzip2_trivial_usage \ 102#define bunzip2_trivial_usage \
103 "[OPTION]... [FILE]" 103 "[OPTION]... [FILE]"
104#define bunzip2_full_usage \ 104#define bunzip2_full_usage \
105 "Uncompress FILE (or standard input if FILE is '-' or omitted).\n\n" \ 105 "Uncompress FILE (or standard input if FILE is '-' or omitted).\n\n" \
106 "Options:\n" \ 106 "Options:\n" \
107 "\t-c\tWrite output to standard output\n" \ 107 " -c Write output to standard output\n" \
108 "\t-f\tForce" 108 " -f Force"
109 109
110#define busybox_notes_usage \ 110#define busybox_notes_usage \
111 "Hello world!\n" 111 "Hello world!\n"
112 112
113#define bzcat_trivial_usage \ 113#define bzcat_trivial_usage \
114 "FILE" 114 "FILE"
115#define bzcat_full_usage \ 115#define bzcat_full_usage \
116 "Uncompress to stdout." 116 "Uncompress to stdout."
117 117
118#define unlzma_trivial_usage \ 118#define unlzma_trivial_usage \
119 "[OPTION]... [FILE]" 119 "[OPTION]... [FILE]"
120#define unlzma_full_usage \ 120#define unlzma_full_usage \
121 "Uncompress FILE (or standard input if FILE is '-' or omitted).\n\n" \ 121 "Uncompress FILE (or standard input if FILE is '-' or omitted).\n\n" \
122 "Options:\n" \ 122 "Options:\n" \
123 "\t-c\tWrite output to standard output\n" \ 123 " -c Write output to standard output\n" \
124 "\t-f\tForce" 124 " -f Force"
125 125
126#define lzmacat_trivial_usage \ 126#define lzmacat_trivial_usage \
127 "FILE" 127 "FILE"
128#define lzmacat_full_usage \ 128#define lzmacat_full_usage \
129 "Uncompress to stdout." 129 "Uncompress to stdout."
130 130
131#define cal_trivial_usage \ 131#define cal_trivial_usage \
132 "[-jy] [[month] year]" 132 "[-jy] [[month] year]"
133#define cal_full_usage \ 133#define cal_full_usage \
134 "Display a calendar.\n" \ 134 "Display a calendar.\n" \
135 "\nOptions:\n" \ 135 "\nOptions:\n" \
136 "\t-j\tUse julian dates\n" \ 136 " -j Use julian dates\n" \
137 "\t-y\tDisplay the entire year" 137 " -y Display the entire year"
138 138
139#define cat_trivial_usage \ 139#define cat_trivial_usage \
140 "[-u] [FILE]..." 140 "[-u] [FILE]..."
141#define cat_full_usage \ 141#define cat_full_usage \
142 "Concatenates FILE(s) and prints them to stdout.\n\n" \ 142 "Concatenates FILE(s) and prints them to stdout.\n\n" \
143 "Options:\n" \ 143 "Options:\n" \
144 "\t-u\tignored since unbuffered i/o is always used" 144 " -u ignored since unbuffered i/o is always used"
145#define cat_example_usage \ 145#define cat_example_usage \
146 "$ cat /proc/uptime\n" \ 146 "$ cat /proc/uptime\n" \
147 "110716.72 17.67" 147 "110716.72 17.67"
148 148
149#define catv_trivial_usage \ 149#define catv_trivial_usage \
150 "[-etv] [FILE]..." 150 "[-etv] [FILE]..."
151#define catv_full_usage \ 151#define catv_full_usage \
152 "Display nonprinting characters as ^x or M-x.\n\n"\ 152 "Display nonprinting characters as ^x or M-x.\n\n"\
153 "\t-e\tEnd each line with $\n" \ 153 " -e End each line with $\n" \
154 "\t-t\tShow tabs as ^I\n" \ 154 " -t Show tabs as ^I\n" \
155 "\t-v\tDon't use ^x or M-x escapes." 155 " -v Don't use ^x or M-x escapes."
156#define chattr_trivial_usage \ 156#define chattr_trivial_usage \
157 "[-R] [-+=AacDdijsStTu] [-v version] files..." 157 "[-R] [-+=AacDdijsStTu] [-v version] files..."
158#define chattr_full_usage \ 158#define chattr_full_usage \
159 "change file attributes on an ext2 fs\n\n" \ 159 "change file attributes on an ext2 fs\n\n" \
160 "Modifiers:\n" \ 160 "Modifiers:\n" \
161 "\t-\tremove attributes\n" \ 161 " - remove attributes\n" \
162 "\t+\tadd attributes\n" \ 162 " + add attributes\n" \
163 "\t=\tset attributes\n" \ 163 " = set attributes\n" \
164 "Attributes:\n" \ 164 "Attributes:\n" \
165 "\tA\tdon't track atime\n" \ 165 " A don't track atime\n" \
166 "\ta\tappend mode only\n" \ 166 " a append mode only\n" \
167 "\tc\tenable compress\n" \ 167 " c enable compress\n" \
168 "\tD\twrite dir contents synchronously\n" \ 168 " D write dir contents synchronously\n" \
169 "\td\tdo not backup with dump\n" \ 169 " d do not backup with dump\n" \
170 "\ti\tcannot be modified (immutable)\n" \ 170 " i cannot be modified (immutable)\n" \
171 "\tj\twrite all data to journal first\n" \ 171 " j write all data to journal first\n" \
172 "\ts\tzero disk storage when deleted\n" \ 172 " s zero disk storage when deleted\n" \
173 "\tS\twrite file contents synchronously\n" \ 173 " S write file contents synchronously\n" \
174 "\tt\tdisable tail-merging of partial blocks with other files\n" \ 174 " t disable tail-merging of partial blocks with other files\n" \
175 "\tu\tallow file to be undeleted\n" \ 175 " u allow file to be undeleted\n" \
176 "Options:\n" \ 176 "Options:\n" \
177 "\t-R\trecursively list subdirectories\n" \ 177 " -R recursively list subdirectories\n" \
178 "\t-v\tset the file's version/generation number" 178 " -v set the file's version/generation number"
179 179
180#define chgrp_trivial_usage \ 180#define chgrp_trivial_usage \
181 "[-Rh"USE_DESKTOP("cvf")"]... GROUP FILE..." 181 "[-Rh"USE_DESKTOP("cvf")"]... GROUP FILE..."
182#define chgrp_full_usage \ 182#define chgrp_full_usage \
183 "Change the group membership of each FILE to GROUP.\n" \ 183 "Change the group membership of each FILE to GROUP.\n" \
184 "\nOptions:\n" \ 184 "\nOptions:\n" \
185 "\t-R\tChanges files and directories recursively\n" \ 185 " -R Changes files and directories recursively\n" \
186 "\t-h\tDo not dereference symbolic links" \ 186 " -h Do not dereference symbolic links" \
187 USE_DESKTOP( \ 187 USE_DESKTOP( \
188 "\n\t-c\tList changed files" \ 188 "\n -c List changed files" \
189 "\n\t-v\tList all files" \ 189 "\n -v List all files" \
190 "\n\t-f\tHide errors" \ 190 "\n -f Hide errors" \
191 ) 191 )
192#define chgrp_example_usage \ 192#define chgrp_example_usage \
193 "$ ls -l /tmp/foo\n" \ 193 "$ ls -l /tmp/foo\n" \
194 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 194 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \
195 "$ chgrp root /tmp/foo\n" \ 195 "$ chgrp root /tmp/foo\n" \
196 "$ ls -l /tmp/foo\n" \ 196 "$ ls -l /tmp/foo\n" \
197 "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" 197 "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n"
198 198
199#define chmod_trivial_usage \ 199#define chmod_trivial_usage \
200 "[-R"USE_DESKTOP("cvf")"] MODE[,MODE]... FILE..." 200 "[-R"USE_DESKTOP("cvf")"] MODE[,MODE]... FILE..."
201#define chmod_full_usage \ 201#define chmod_full_usage \
202 "Each MODE is one or more of the letters ugoa, one of the\n" \ 202 "Each MODE is one or more of the letters ugoa, one of the\n" \
203 "symbols +-= and one or more of the letters rwxst.\n\n" \ 203 "symbols +-= and one or more of the letters rwxst.\n\n" \
204 "Options:\n" \ 204 "Options:\n" \
205 "\t-R\tChanges files and directories recursively" \ 205 " -R Changes files and directories recursively" \
206 USE_DESKTOP( \ 206 USE_DESKTOP( \
207 "\n\t-c\tList changed files" \ 207 "\n -c List changed files" \
208 "\n\t-v\tList all files" \ 208 "\n -v List all files" \
209 "\n\t-f\tHide errors" \ 209 "\n -f Hide errors" \
210 ) 210 )
211#define chmod_example_usage \ 211#define chmod_example_usage \
212 "$ ls -l /tmp/foo\n" \ 212 "$ ls -l /tmp/foo\n" \
213 "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ 213 "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \
214 "$ chmod u+x /tmp/foo\n" \ 214 "$ chmod u+x /tmp/foo\n" \
215 "$ ls -l /tmp/foo\n" \ 215 "$ ls -l /tmp/foo\n" \
216 "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \ 216 "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \
217 "$ chmod 444 /tmp/foo\n" \ 217 "$ chmod 444 /tmp/foo\n" \
218 "$ ls -l /tmp/foo\n" \ 218 "$ ls -l /tmp/foo\n" \
219 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" 219 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n"
220 220
221#define chown_trivial_usage \ 221#define chown_trivial_usage \
222 "[-Rh"USE_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." 222 "[-Rh"USE_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..."
223#define chown_full_usage \ 223#define chown_full_usage \
224 "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" \ 224 "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" \
225 "\nOptions:\n" \ 225 "\nOptions:\n" \
226 "\t-R\tChanges files and directories recursively\n" \ 226 " -R Changes files and directories recursively\n" \
227 "\t-h\tDo not dereference symbolic links" \ 227 " -h Do not dereference symbolic links" \
228 USE_DESKTOP( \ 228 USE_DESKTOP( \
229 "\n\t-c\tList changed files" \ 229 "\n -c List changed files" \
230 "\n\t-v\tList all files" \ 230 "\n -v List all files" \
231 "\n\t-f\tHide errors" \ 231 "\n -f Hide errors" \
232 ) 232 )
233#define chown_example_usage \ 233#define chown_example_usage \
234 "$ ls -l /tmp/foo\n" \ 234 "$ ls -l /tmp/foo\n" \
235 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 235 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \
236 "$ chown root /tmp/foo\n" \ 236 "$ chown root /tmp/foo\n" \
237 "$ ls -l /tmp/foo\n" \ 237 "$ ls -l /tmp/foo\n" \
238 "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \ 238 "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \
239 "$ chown root.root /tmp/foo\n" \ 239 "$ chown root.root /tmp/foo\n" \
240 "ls -l /tmp/foo\n" \ 240 "ls -l /tmp/foo\n" \
241 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" 241 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n"
242 242
243#define chpst_trivial_usage \ 243#define chpst_trivial_usage \
244 "[-vP012] [-u user[:group]] [-U user[:group]] [-e dir] " \ 244 "[-vP012] [-u user[:group]] [-U user[:group]] [-e dir] " \
245 "[-/ dir] [-n nice] [-m bytes] [-d bytes] [-o files] " \ 245 "[-/ dir] [-n nice] [-m bytes] [-d bytes] [-o files] " \
246 "[-p processes] [-f bytes] [-c bytes] prog args" 246 "[-p processes] [-f bytes] [-c bytes] prog args"
247#define chpst_full_usage \ 247#define chpst_full_usage \
248 "Change the process state and run specified program.\n\n" \ 248 "Change the process state and run specified program.\n\n" \
249 "-u user[:grp] set uid and gid\n" \ 249 "-u user[:grp] set uid and gid\n" \
@@ -265,1048 +265,1048 @@
265 "-1 close standard output\n" \ 265 "-1 close standard output\n" \
266 "-2 close standard error" 266 "-2 close standard error"
267#define setuidgid_trivial_usage \ 267#define setuidgid_trivial_usage \
268 "account prog args" 268 "account prog args"
269#define setuidgid_full_usage \ 269#define setuidgid_full_usage \
270 "Sets uid and gid to account's uid and gid, removing all supplementary\n" \ 270 "Sets uid and gid to account's uid and gid, removing all supplementary\n" \
271 "groups, then runs prog" 271 "groups, then runs prog"
272#define envuidgid_trivial_usage \ 272#define envuidgid_trivial_usage \
273 "account prog args" 273 "account prog args"
274#define envuidgid_full_usage \ 274#define envuidgid_full_usage \
275 "Sets $UID to account's uid and $GID to account's gid, then runs prog" 275 "Sets $UID to account's uid and $GID to account's gid, then runs prog"
276#define envdir_trivial_usage \ 276#define envdir_trivial_usage \
277 "dir prog args" 277 "dir prog args"
278#define envdir_full_usage \ 278#define envdir_full_usage \
279 "Sets various environment variables as specified by files\n" \ 279 "Sets various environment variables as specified by files\n" \
280 "in the directory dir, then runs prog" 280 "in the directory dir, then runs prog"
281#define softlimit_trivial_usage \ 281#define softlimit_trivial_usage \
282 "[-a allbytes] [-c corebytes] [-d databytes] [-f filebytes] " \ 282 "[-a allbytes] [-c corebytes] [-d databytes] [-f filebytes] " \
283 "[-l lockbytes] [-m membytes] [-o openfiles] [-p processes] " \ 283 "[-l lockbytes] [-m membytes] [-o openfiles] [-p processes] " \
284 "[-r residentbytes] [-s stackbytes] [-t cpusecs] prog args" 284 "[-r residentbytes] [-s stackbytes] [-t cpusecs] prog args"
285#define softlimit_full_usage \ 285#define softlimit_full_usage \
286 "Sets soft resource limits as specified by options, then runs prog\n" \ 286 "Sets soft resource limits as specified by options, then runs prog\n" \
287 "\n" \ 287 "\n" \
288 "-m n Same as -d n -s n -l n -a n\n" \ 288 "-m n Same as -d n -s n -l n -a n\n" \
289 "-d n Limit the data segment per process to n bytes\n" \ 289 "-d n Limit the data segment per process to n bytes\n" \
290 "-s n Limit the stack segment per process to n bytes\n" \ 290 "-s n Limit the stack segment per process to n bytes\n" \
291 "-l n Limit the locked physical pages per process to n bytes\n" \ 291 "-l n Limit the locked physical pages per process to n bytes\n" \
292 "-a n Limit the total of all segments per process to n bytes\n" \ 292 "-a n Limit the total of all segments per process to n bytes\n" \
293 "-o n Limit the number of open file descriptors per process to n\n" \ 293 "-o n Limit the number of open file descriptors per process to n\n" \
294 "-p n Limit the number of processes per uid to n\n" \ 294 "-p n Limit the number of processes per uid to n\n" \
295 "Options controlling file sizes:\n" \ 295 "Options controlling file sizes:\n" \
296 "-f n Limit output file sizes to n bytes\n" \ 296 "-f n Limit output file sizes to n bytes\n" \
297 "-c n Limit core file sizes to n bytes\n" \ 297 "-c n Limit core file sizes to n bytes\n" \
298 "Efficiency opts:\n" \ 298 "Efficiency opts:\n" \
299 "-r n Limit the resident set size to n bytes. This limit is not\n" \ 299 "-r n Limit the resident set size to n bytes. This limit is not\n" \
300 " enforced unless physical memory is full\n" \ 300 " enforced unless physical memory is full\n" \
301 "-t n Limit the CPU time to n seconds. This limit is not enforced\n" \ 301 "-t n Limit the CPU time to n seconds. This limit is not enforced\n" \
302 " except that the process receives a SIGXCPU signal after n seconds\n" \ 302 " except that the process receives a SIGXCPU signal after n seconds\n" \
303 "\n" \ 303 "\n" \
304 "Some options may have no effect on some operating systems\n" \ 304 "Some options may have no effect on some operating systems\n" \
305 "n may be =, indicating that soft limit should be set equal to hard limit" 305 "n may be =, indicating that soft limit should be set equal to hard limit"
306 306
307#define chroot_trivial_usage \ 307#define chroot_trivial_usage \
308 "NEWROOT [COMMAND...]" 308 "NEWROOT [COMMAND...]"
309#define chroot_full_usage \ 309#define chroot_full_usage \
310 "Run COMMAND with root directory set to NEWROOT." 310 "Run COMMAND with root directory set to NEWROOT."
311#define chroot_example_usage \ 311#define chroot_example_usage \
312 "$ ls -l /bin/ls\n" \ 312 "$ ls -l /bin/ls\n" \
313 "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \ 313 "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \
314 "# mount /dev/hdc1 /mnt -t minix\n" \ 314 "# mount /dev/hdc1 /mnt -t minix\n" \
315 "# chroot /mnt\n" \ 315 "# chroot /mnt\n" \
316 "# ls -l /bin/ls\n" \ 316 "# ls -l /bin/ls\n" \
317 "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n" 317 "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n"
318 318
319#define chvt_trivial_usage \ 319#define chvt_trivial_usage \
320 "N" 320 "N"
321#define chvt_full_usage \ 321#define chvt_full_usage \
322 "Changes the foreground virtual terminal to /dev/ttyN" 322 "Changes the foreground virtual terminal to /dev/ttyN"
323 323
324#define cksum_trivial_usage \ 324#define cksum_trivial_usage \
325 "FILES..." 325 "FILES..."
326#define cksum_full_usage \ 326#define cksum_full_usage \
327 "Calculates the CRC32 checksums of FILES." 327 "Calculates the CRC32 checksums of FILES."
328 328
329#define clear_trivial_usage \ 329#define clear_trivial_usage \
330 "" 330 ""
331#define clear_full_usage \ 331#define clear_full_usage \
332 "Clear screen." 332 "Clear screen."
333 333
334#define cmp_trivial_usage \ 334#define cmp_trivial_usage \
335 "[-l] [-s] FILE1 [FILE2]" 335 "[-l] [-s] FILE1 [FILE2]"
336#define cmp_full_usage \ 336#define cmp_full_usage \
337 "Compares FILE1 vs stdin if FILE2 is not specified.\n\n" \ 337 "Compares FILE1 vs stdin if FILE2 is not specified.\n\n" \
338 "Options:\n" \ 338 "Options:\n" \
339 "\t-l\tWrite the byte numbers (decimal) and values (octal)\n" \ 339 " -l Write the byte numbers (decimal) and values (octal)\n" \
340 "\t\t for all differing bytes\n" \ 340 " for all differing bytes\n" \
341 "\t-s\tquiet mode - do not print" 341 " -s quiet mode - do not print"
342 342
343#define comm_trivial_usage \ 343#define comm_trivial_usage \
344 "[-123] FILE1 FILE2" 344 "[-123] FILE1 FILE2"
345#define comm_full_usage \ 345#define comm_full_usage \
346 "Compares FILE1 to FILE2, or to stdin if = is specified.\n\n" \ 346 "Compares FILE1 to FILE2, or to stdin if = is specified.\n\n" \
347 "Options:\n" \ 347 "Options:\n" \
348 "\t-1\tSuppress lines unique to FILE1\n" \ 348 " -1 Suppress lines unique to FILE1\n" \
349 "\t-2\tSuppress lines unique to FILE2\n" \ 349 " -2 Suppress lines unique to FILE2\n" \
350 "\t-3\tSuppress lines common to both files" 350 " -3 Suppress lines common to both files"
351 351
352#define bbconfig_trivial_usage \ 352#define bbconfig_trivial_usage \
353 "" 353 ""
354#define bbconfig_full_usage \ 354#define bbconfig_full_usage \
355 "Print the config file which built busybox" 355 "Print the config file which built busybox"
356 356
357#define bbsh_trivial_usage \ 357#define bbsh_trivial_usage \
358 "[FILE]...\n" \ 358 "[FILE]...\n" \
359 "or: bbsh -c command [args]..." 359 "or: bbsh -c command [args]..."
360#define bbsh_full_usage \ 360#define bbsh_full_usage \
361 "The bbsh shell (command interpreter)" 361 "The bbsh shell (command interpreter)"
362 362
363#define cp_trivial_usage \ 363#define cp_trivial_usage \
364 "[OPTION]... SOURCE DEST" 364 "[OPTION]... SOURCE DEST"
365#define cp_full_usage \ 365#define cp_full_usage \
366 "Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" \ 366 "Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" \
367 "\n" \ 367 "\n" \
368 "\t-a\tSame as -dpR\n" \ 368 " -a Same as -dpR\n" \
369 "\t-d,-P\tPreserve links\n" \ 369 " -d,-P Preserve links\n" \
370 "\t-H,-L\tDereference all symlinks (implied by default)\n" \ 370 " -H,-L Dereference all symlinks (implied by default)\n" \
371 "\t-p\tPreserve file attributes if possible\n" \ 371 " -p Preserve file attributes if possible\n" \
372 "\t-f\tforce, overwrite\n" \ 372 " -f force, overwrite\n" \
373 "\t-i\tinteractive, prompt before overwrite\n" \ 373 " -i interactive, prompt before overwrite\n" \
374 "\t-R,-r\tCopy directories recursively\n" \ 374 " -R,-r Copy directories recursively\n" \
375 "\t-l,-s\tCreate (sym)links" 375 " -l,-s Create (sym)links"
376 376
377#define cpio_trivial_usage \ 377#define cpio_trivial_usage \
378 "-[dimtuv][F cpiofile]" 378 "-[dimtuv][F cpiofile]"
379#define cpio_full_usage \ 379#define cpio_full_usage \
380 "Extract or list files from a cpio archive\n" \ 380 "Extract or list files from a cpio archive\n" \
381 "Main operation mode:\n" \ 381 "Main operation mode:\n" \
382 "\td\t\tmake leading directories\n" \ 382 " d make leading directories\n" \
383 "\ti\t\textract\n" \ 383 " i extract\n" \
384 "\tm\t\tpreserve mtime\n" \ 384 " m preserve mtime\n" \
385 "\tt\t\tlist\n" \ 385 " t list\n" \
386 "\tv\t\tverbose\n" \ 386 " v verbose\n" \
387 "\tu\t\tunconditional overwrite\n" \ 387 " u unconditional overwrite\n" \
388 "\tF\t\tinput from file" 388 " F input from file"
389 389
390#define crond_trivial_usage \ 390#define crond_trivial_usage \
391 "-d[#] -c <crondir> -f -b" 391 "-d[#] -c <crondir> -f -b"
392#define crond_full_usage \ 392#define crond_full_usage \
393 "\t-d [#] -l [#] -S -L logfile -f -b -c dir\n" \ 393 " -d [#] -l [#] -S -L logfile -f -b -c dir\n" \
394 "\t-d num\tdebug level\n" \ 394 " -d num debug level\n" \
395 "\t-l num\tlog level (8 - default)\n" \ 395 " -l num log level (8 - default)\n" \
396 "\t-S\tlog to syslogd (default)\n" \ 396 " -S log to syslogd (default)\n" \
397 "\t-L file\tlog to file\n" \ 397 " -L file log to file\n" \
398 "\t-f\trun in foreground\n" \ 398 " -f run in foreground\n" \
399 "\t-b\trun in background (default)\n" \ 399 " -b run in background (default)\n" \
400 "\t-c dir\tworking dir" 400 " -c dir working dir"
401 401
402#define crontab_trivial_usage \ 402#define crontab_trivial_usage \
403 "[-c dir] {file|-}|[-u|-l|-e|-d user]" 403 "[-c dir] {file|-}|[-u|-l|-e|-d user]"
404#define crontab_full_usage \ 404#define crontab_full_usage \
405 "\tfile <opts> replace crontab from file\n" \ 405 " file <opts> replace crontab from file\n" \
406 "\t- <opts> replace crontab from stdin\n" \ 406 " - <opts> replace crontab from stdin\n" \
407 "\t-u user specify user\n" \ 407 " -u user specify user\n" \
408 "\t-l [user] list crontab for user\n" \ 408 " -l [user] list crontab for user\n" \
409 "\t-e [user] edit crontab for user\n" \ 409 " -e [user] edit crontab for user\n" \
410 "\t-d [user] delete crontab for user\n" \ 410 " -d [user] delete crontab for user\n" \
411 "\t-c dir specify crontab directory" 411 " -c dir specify crontab directory"
412 412
413 413
414#define cut_trivial_usage \ 414#define cut_trivial_usage \
415 "[OPTION]... [FILE]..." 415 "[OPTION]... [FILE]..."
416#define cut_full_usage \ 416#define cut_full_usage \
417 "Prints selected fields from each input FILE to standard output.\n\n" \ 417 "Prints selected fields from each input FILE to standard output.\n\n" \
418 "Options:\n" \ 418 "Options:\n" \
419 "\t-b LIST\t\tOutput only bytes from LIST\n" \ 419 " -b LIST Output only bytes from LIST\n" \
420 "\t-c LIST\t\tOutput only characters from LIST\n" \ 420 " -c LIST Output only characters from LIST\n" \
421 "\t-d CHAR\t\tUse CHAR instead of tab as the field delimiter\n" \ 421 " -d CHAR Use CHAR instead of tab as the field delimiter\n" \
422 "\t-s\t\tOutput only the lines containing delimiter\n" \ 422 " -s Output only the lines containing delimiter\n" \
423 "\t-f N\t\tPrint only these fields\n" \ 423 " -f N Print only these fields\n" \
424 "\t-n\t\tIgnored" 424 " -n Ignored"
425#define cut_example_usage \ 425#define cut_example_usage \
426 "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \ 426 "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \
427 "Hello\n" \ 427 "Hello\n" \
428 "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \ 428 "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \
429 "world\n" 429 "world\n"
430 430
431#define date_trivial_usage \ 431#define date_trivial_usage \
432 "[OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]" 432 "[OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]"
433#define date_full_usage \ 433#define date_full_usage \
434 "Displays the current time in the given FORMAT, or sets the system date.\n" \ 434 "Displays the current time in the given FORMAT, or sets the system date.\n" \
435 "\nOptions:\n" \ 435 "\nOptions:\n" \
436 "\t-R\t\tOutputs RFC-822 compliant date string\n" \ 436 " -R Outputs RFC-822 compliant date string\n" \
437 "\t-d STRING\tDisplays time described by STRING, not 'now'\n" \ 437 " -d STRING Displays time described by STRING, not 'now'\n" \
438USE_FEATURE_DATE_ISOFMT( \ 438USE_FEATURE_DATE_ISOFMT( \
439 "\t-I[TIMESPEC]\tOutputs an ISO-8601 compliant date/time string\n" \ 439 " -I[TIMESPEC] Outputs an ISO-8601 compliant date/time string\n" \
440 "\t\t\tTIMESPEC='date' (or missing) for date only,\n" \ 440 " TIMESPEC='date' (or missing) for date only,\n" \
441 "\t\t\t'hours', 'minutes', or 'seconds' for date and,\n" \ 441 " 'hours', 'minutes', or 'seconds' for date and,\n" \
442 "\t\t\ttime to the indicated precision\n" \ 442 " time to the indicated precision\n" \
443 "\t-D hint\t\tUse 'hint' as date format, via strptime()\n" \ 443 " -D hint Use 'hint' as date format, via strptime()\n" \
444) \ 444) \
445 "\t-s\t\tSets time described by STRING\n" \ 445 " -s Sets time described by STRING\n" \
446 "\t-r FILE\t\tDisplays the last modification time of FILE\n" \ 446 " -r FILE Displays the last modification time of FILE\n" \
447 "\t-u\t\tPrints or sets Coordinated Universal Time" 447 " -u Prints or sets Coordinated Universal Time"
448#define date_example_usage \ 448#define date_example_usage \
449 "$ date\n" \ 449 "$ date\n" \
450 "Wed Apr 12 18:52:41 MDT 2000\n" 450 "Wed Apr 12 18:52:41 MDT 2000\n"
451 451
452#define dc_trivial_usage \ 452#define dc_trivial_usage \
453 "expression ..." 453 "expression ..."
454#define dc_full_usage \ 454#define dc_full_usage \
455 "This is a Tiny RPN calculator that understands the\n" \ 455 "This is a Tiny RPN calculator that understands the\n" \
456 "following operations: +, add, -, sub, *, mul, /, div, %, mod, " \ 456 "following operations: +, add, -, sub, *, mul, /, div, %, mod, " \
457 "**, exp, and, or, not, eor.\n" \ 457 "**, exp, and, or, not, eor.\n" \
458 "For example: 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16.\n" \ 458 "For example: 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16.\n" \
459 "\nOptions:\n" \ 459 "\nOptions:\n" \
460 "p - Prints the value on the top of the stack, without altering the stack\n" \ 460 "p - Prints the value on the top of the stack, without altering the stack\n" \
461 "f - Prints the entire contents of the stack without altering anything\n" \ 461 "f - Prints the entire contents of the stack without altering anything\n" \
462 "o - Pops the value off the top of the stack and uses it to set the output radix\n" \ 462 "o - Pops the value off the top of the stack and uses it to set the output radix\n" \
463 " Only 10 and 16 are supported" 463 " Only 10 and 16 are supported"
464#define dc_example_usage \ 464#define dc_example_usage \
465 "$ dc 2 2 + p\n" \ 465 "$ dc 2 2 + p\n" \
466 "4\n" \ 466 "4\n" \
467 "$ dc 8 8 \\* 2 2 + / p\n" \ 467 "$ dc 8 8 \\* 2 2 + / p\n" \
468 "16\n" \ 468 "16\n" \
469 "$ dc 0 1 and p\n" \ 469 "$ dc 0 1 and p\n" \
470 "0\n" \ 470 "0\n" \
471 "$ dc 0 1 or p\n" \ 471 "$ dc 0 1 or p\n" \
472 "1\n" \ 472 "1\n" \
473 "$ echo 72 9 div 8 mul p | dc\n" \ 473 "$ echo 72 9 div 8 mul p | dc\n" \
474 "64\n" 474 "64\n"
475 475
476#define dd_trivial_usage \ 476#define dd_trivial_usage \
477 "[if=FILE] [of=FILE] " USE_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ 477 "[if=FILE] [of=FILE] " USE_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \
478 "\t [seek=N]" USE_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync]") 478 " [seek=N]" USE_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync]")
479#define dd_full_usage \ 479#define dd_full_usage \
480 "Copy a file, converting and formatting according to options\n\n" \ 480 "Copy a file, converting and formatting according to options\n\n" \
481 "\tif=FILE\t\tread from FILE instead of stdin\n" \ 481 " if=FILE read from FILE instead of stdin\n" \
482 "\tof=FILE\t\twrite to FILE instead of stdout\n" \ 482 " of=FILE write to FILE instead of stdout\n" \
483 "\tbs=N\t\tread and write N bytes at a time\n" \ 483 " bs=N read and write N bytes at a time\n" \
484 USE_FEATURE_DD_IBS_OBS("\tibs=N\t\tread N bytes at a time\n") \ 484 USE_FEATURE_DD_IBS_OBS(" ibs=N read N bytes at a time\n") \
485 USE_FEATURE_DD_IBS_OBS("\tobs=N\t\twrite N bytes at a time\n") \ 485 USE_FEATURE_DD_IBS_OBS(" obs=N write N bytes at a time\n") \
486 "\tcount=N\t\tcopy only N input blocks\n" \ 486 " count=N copy only N input blocks\n" \
487 "\tskip=N\t\tskip N input blocks\n" \ 487 " skip=N skip N input blocks\n" \
488 "\tseek=N\t\tskip N output blocks\n" \ 488 " seek=N skip N output blocks\n" \
489 USE_FEATURE_DD_IBS_OBS( \ 489 USE_FEATURE_DD_IBS_OBS( \
490 "\tconv=notrunc\tdon't truncate output file\n" \ 490 " conv=notrunc don't truncate output file\n" \
491 "\tconv=noerror\tcontinue after read errors\n" \ 491 " conv=noerror continue after read errors\n" \
492 "\tconv=sync\tpad blocks with zeros\n" \ 492 " conv=sync pad blocks with zeros\n" \
493 ) \ 493 ) \
494 "\n" \ 494 "\n" \
495 "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" \ 495 "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" \
496 "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)" 496 "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)"
497#define dd_example_usage \ 497#define dd_example_usage \
498 "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \ 498 "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \
499 "4+0 records in\n" \ 499 "4+0 records in\n" \
500 "4+0 records out\n" 500 "4+0 records out\n"
501 501
502#define deallocvt_trivial_usage \ 502#define deallocvt_trivial_usage \
503 "[N]" 503 "[N]"
504#define deallocvt_full_usage \ 504#define deallocvt_full_usage \
505 "Deallocate unused virtual terminal /dev/ttyN" 505 "Deallocate unused virtual terminal /dev/ttyN"
506 506
507#define delgroup_trivial_usage \ 507#define delgroup_trivial_usage \
508 "GROUP" 508 "GROUP"
509#define delgroup_full_usage \ 509#define delgroup_full_usage \
510 "Deletes group GROUP from the system" 510 "Deletes group GROUP from the system"
511 511
512#define deluser_trivial_usage \ 512#define deluser_trivial_usage \
513 "USER" 513 "USER"
514#define deluser_full_usage \ 514#define deluser_full_usage \
515 "Deletes user USER from the system" 515 "Deletes user USER from the system"
516 516
517#define devfsd_trivial_usage \ 517#define devfsd_trivial_usage \
518 "mntpnt [-v]" \ 518 "mntpnt [-v]" \
519 USE_DEVFSD_FG_NP("[-fg][-np]" ) 519 USE_DEVFSD_FG_NP("[-fg][-np]" )
520#define devfsd_full_usage \ 520#define devfsd_full_usage \
521 "Optional daemon for managing devfs permissions and old device name symlinks.\n" \ 521 "Optional daemon for managing devfs permissions and old device name symlinks.\n" \
522 "\nOptions:\n" \ 522 "\nOptions:\n" \
523 "\tmntpnt\tThe mount point where devfs is mounted.\n\n" \ 523 " mntpnt The mount point where devfs is mounted.\n\n" \
524 "\t-v\tPrint the protocol version numbers for devfsd\n" \ 524 " -v Print the protocol version numbers for devfsd\n" \
525 "\t\tand the kernel-side protocol version and exits." \ 525 " and the kernel-side protocol version and exits." \
526 USE_DEVFSD_FG_NP( "\n\n\t-fg\tRun the daemon in the foreground.\n\n" \ 526 USE_DEVFSD_FG_NP( "\n\n -fg Run the daemon in the foreground.\n\n" \
527 "\t-np\tExit after parsing the configuration file\n" \ 527 " -np Exit after parsing the configuration file\n" \
528 "\t\tand processing synthetic REGISTER events.\n" \ 528 " and processing synthetic REGISTER events.\n" \
529 "\t\tDo not poll for events.") 529 " Do not poll for events.")
530 530
531#define df_trivial_usage \ 531#define df_trivial_usage \
532 "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]" 532 "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]"
533#define df_full_usage \ 533#define df_full_usage \
534 "Print the filesystem space used and space available.\n\n" \ 534 "Print the filesystem space used and space available.\n\n" \
535 "Options:\n" \ 535 "Options:\n" \
536 USE_FEATURE_HUMAN_READABLE( \ 536 USE_FEATURE_HUMAN_READABLE( \
537 "\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \ 537 "\n -h print sizes in human readable format (e.g., 1K 243M 2G )\n" \
538 "\t-m\tprint sizes in megabytes\n" \ 538 " -m print sizes in megabytes\n" \
539 "\t-k\tprint sizes in kilobytes(default)" \ 539 " -k print sizes in kilobytes(default)" \
540 ) \ 540 ) \
541 SKIP_FEATURE_HUMAN_READABLE("\n\t-k\tignored") 541 SKIP_FEATURE_HUMAN_READABLE("\n -k ignored")
542#define df_example_usage \ 542#define df_example_usage \
543 "$ df\n" \ 543 "$ df\n" \
544 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \ 544 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \
545 "/dev/sda3 8690864 8553540 137324 98% /\n" \ 545 "/dev/sda3 8690864 8553540 137324 98% /\n" \
546 "/dev/sda1 64216 36364 27852 57% /boot\n" \ 546 "/dev/sda1 64216 36364 27852 57% /boot\n" \
547 "$ df /dev/sda3\n" \ 547 "$ df /dev/sda3\n" \
548 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \ 548 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \
549 "/dev/sda3 8690864 8553540 137324 98% /\n" 549 "/dev/sda3 8690864 8553540 137324 98% /\n"
550 550
551#define dhcprelay_trivial_usage \ 551#define dhcprelay_trivial_usage \
552 "[client_device_list] [server_device]" 552 "[client_device_list] [server_device]"
553#define dhcprelay_full_usage \ 553#define dhcprelay_full_usage \
554 "Relays dhcp requests from client devices to server device" 554 "Relays dhcp requests from client devices to server device"
555 555
556#define dhcprelay_trivial_usage \ 556#define dhcprelay_trivial_usage \
557 "[client_device_list] [server_device]" 557 "[client_device_list] [server_device]"
558#define dhcprelay_full_usage \ 558#define dhcprelay_full_usage \
559 "Relays dhcp requests from client devices to server device" 559 "Relays dhcp requests from client devices to server device"
560 560
561#define diff_trivial_usage \ 561#define diff_trivial_usage \
562 "[-abdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" 562 "[-abdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2"
563#define diff_full_usage \ 563#define diff_full_usage \
564 "Compare files line by line and output the differences between them.\n" \ 564 "Compare files line by line and output the differences between them.\n" \
565 "This diff implementation only supports unified diffs.\n\n" \ 565 "This diff implementation only supports unified diffs.\n\n" \
566 "Options:\n" \ 566 "Options:\n" \
567 "\t-a\tTreat all files as text\n" \ 567 " -a Treat all files as text\n" \
568 "\t-b\tIgnore changes in the amount of whitespace\n" \ 568 " -b Ignore changes in the amount of whitespace\n" \
569 "\t-d\tTry hard to find a smaller set of changes\n" \ 569 " -d Try hard to find a smaller set of changes\n" \
570 "\t-i\tIgnore case differences\n" \ 570 " -i Ignore case differences\n" \
571 "\t-L\tUse LABEL instead of the filename in the unified header\n" \ 571 " -L Use LABEL instead of the filename in the unified header\n" \
572 "\t-N\tTreat absent files as empty\n" \ 572 " -N Treat absent files as empty\n" \
573 "\t-q\tOutput only whether files differ\n" \ 573 " -q Output only whether files differ\n" \
574 "\t-r\tRecursively compare any subdirectories\n" \ 574 " -r Recursively compare any subdirectories\n" \
575 "\t-S\tStart with FILE when comparing directories\n" \ 575 " -S Start with FILE when comparing directories\n" \
576 "\t-T\tMake tabs line up by prefixing a tab when necessary\n" \ 576 " -T Make tabs line up by prefixing a tab when necessary\n" \
577 "\t-s\tReport when two files are the same\n" \ 577 " -s Report when two files are the same\n" \
578 "\t-t\tExpand tabs to spaces in output\n" \ 578 " -t Expand tabs to spaces in output\n" \
579 "\t-U\tOutput LINES lines of context\n" \ 579 " -U Output LINES lines of context\n" \
580 "\t-w\tIgnore all whitespace\n" 580 " -w Ignore all whitespace\n"
581 581
582#define dirname_trivial_usage \ 582#define dirname_trivial_usage \
583 "FILENAME" 583 "FILENAME"
584#define dirname_full_usage \ 584#define dirname_full_usage \
585 "Strips non-directory suffix from FILENAME" 585 "Strips non-directory suffix from FILENAME"
586#define dirname_example_usage \ 586#define dirname_example_usage \
587 "$ dirname /tmp/foo\n" \ 587 "$ dirname /tmp/foo\n" \
588 "/tmp\n" \ 588 "/tmp\n" \
589 "$ dirname /tmp/foo/\n" \ 589 "$ dirname /tmp/foo/\n" \
590 "/tmp\n" 590 "/tmp\n"
591 591
592#define dmesg_trivial_usage \ 592#define dmesg_trivial_usage \
593 "[-c] [-n LEVEL] [-s SIZE]" 593 "[-c] [-n LEVEL] [-s SIZE]"
594#define dmesg_full_usage \ 594#define dmesg_full_usage \
595 "Prints or controls the kernel ring buffer\n\n" \ 595 "Prints or controls the kernel ring buffer\n\n" \
596 "Options:\n" \ 596 "Options:\n" \
597 "\t-c\t\tClears the ring buffer's contents after printing\n" \ 597 " -c Clears the ring buffer's contents after printing\n" \
598 "\t-n LEVEL\tSets console logging level\n" \ 598 " -n LEVEL Sets console logging level\n" \
599 "\t-s SIZE\t\tUse a buffer of size SIZE" 599 " -s SIZE Use a buffer of size SIZE"
600 600
601#define dnsd_trivial_usage \ 601#define dnsd_trivial_usage \
602 "[-c config] [-t seconds] [-p port] [-i iface-ip] [-d]" 602 "[-c config] [-t seconds] [-p port] [-i iface-ip] [-d]"
603#define dnsd_full_usage \ 603#define dnsd_full_usage \
604 "Small and static DNS server daemon\n\n" \ 604 "Small and static DNS server daemon\n\n" \
605 "Options:\n" \ 605 "Options:\n" \
606 "\t-c\t\tconfig filename\n" \ 606 " -c config filename\n" \
607 "\t-t\t\tTTL in seconds\n" \ 607 " -t TTL in seconds\n" \
608 "\t-p\t\tlistening port\n" \ 608 " -p listening port\n" \
609 "\t-i\t\tlistening iface ip (default all)\n" \ 609 " -i listening iface ip (default all)\n" \
610 "\t-d\t\tdaemonize" 610 " -d daemonize"
611 611
612#define dos2unix_trivial_usage \ 612#define dos2unix_trivial_usage \
613 "[option] [FILE]" 613 "[option] [FILE]"
614#define dos2unix_full_usage \ 614#define dos2unix_full_usage \
615 "Converts FILE from dos format to unix format. When no option\n" \ 615 "Converts FILE from dos format to unix format. When no option\n" \
616 "is given, the input is converted to the opposite output format.\n" \ 616 "is given, the input is converted to the opposite output format.\n" \
617 "When no file is given, uses stdin for input and stdout for output.\n\n" \ 617 "When no file is given, uses stdin for input and stdout for output.\n\n" \
618 "Options:\n" \ 618 "Options:\n" \
619 "\t-u\toutput will be in UNIX format\n" \ 619 " -u output will be in UNIX format\n" \
620 "\t-d\toutput will be in DOS format" 620 " -d output will be in DOS format"
621 621
622#define dpkg_trivial_usage \ 622#define dpkg_trivial_usage \
623 "[-ilCPru] [-F option] package_name" 623 "[-ilCPru] [-F option] package_name"
624#define dpkg_full_usage \ 624#define dpkg_full_usage \
625 "dpkg is a utility to install, remove and manage Debian packages.\n\n" \ 625 "dpkg is a utility to install, remove and manage Debian packages.\n\n" \
626 "Options:\n" \ 626 "Options:\n" \
627 "\t-i\t\tInstall the package\n" \ 627 " -i Install the package\n" \
628 "\t-l\t\tList of installed packages\n" \ 628 " -l List of installed packages\n" \
629 "\t-C\t\tConfigure an unpackaged package\n" \ 629 " -C Configure an unpackaged package\n" \
630 "\t-F depends\tIgnore dependency problems\n" \ 630 " -F depends Ignore dependency problems\n" \
631 "\t-P\t\tPurge all files of a package\n" \ 631 " -P Purge all files of a package\n" \
632 "\t-r\t\tRemove all but the configuration files for a package\n" \ 632 " -r Remove all but the configuration files for a package\n" \
633 "\t-u\t\tUnpack a package, but don't configure it" 633 " -u Unpack a package, but don't configure it"
634 634
635#define dpkg_deb_trivial_usage \ 635#define dpkg_deb_trivial_usage \
636 "[-cefxX] FILE [argument]" 636 "[-cefxX] FILE [argument]"
637#define dpkg_deb_full_usage \ 637#define dpkg_deb_full_usage \
638 "Perform actions on Debian packages (.debs)\n\n" \ 638 "Perform actions on Debian packages (.debs)\n\n" \
639 "Options:\n" \ 639 "Options:\n" \
640 "\t-c\tList contents of filesystem tree\n" \ 640 " -c List contents of filesystem tree\n" \
641 "\t-e\tExtract control files to [argument] directory\n" \ 641 " -e Extract control files to [argument] directory\n" \
642 "\t-f\tDisplay control field name starting with [argument]\n" \ 642 " -f Display control field name starting with [argument]\n" \
643 "\t-x\tExtract packages filesystem tree to directory\n" \ 643 " -x Extract packages filesystem tree to directory\n" \
644 "\t-X\tVerbose extract" 644 " -X Verbose extract"
645#define dpkg_deb_example_usage \ 645#define dpkg_deb_example_usage \
646 "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" 646 "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n"
647 647
648#define du_trivial_usage \ 648#define du_trivial_usage \
649 "[-aHLdclsx" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." 649 "[-aHLdclsx" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..."
650#define du_full_usage \ 650#define du_full_usage \
651 "Summarizes disk space used for each FILE and/or directory.\n" \ 651 "Summarizes disk space used for each FILE and/or directory.\n" \
652 "Disk space is printed in units of " \ 652 "Disk space is printed in units of " \
653 USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \ 653 USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \
654 SKIP_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \ 654 SKIP_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \
655 " bytes.\n\n" \ 655 " bytes.\n\n" \
656 "Options:\n" \ 656 "Options:\n" \
657 "\t-a\tshow sizes of files in addition to directories\n" \ 657 " -a show sizes of files in addition to directories\n" \
658 "\t-H\tfollow symbolic links that are FILE command line args\n" \ 658 " -H follow symbolic links that are FILE command line args\n" \
659 "\t-L\tfollow all symbolic links encountered\n" \ 659 " -L follow all symbolic links encountered\n" \
660 "\t-d N\tlimit output to directories (and files with -a) of depth < N\n" \ 660 " -d N limit output to directories (and files with -a) of depth < N\n" \
661 "\t-c\toutput a grand total\n" \ 661 " -c output a grand total\n" \
662 "\t-l\tcount sizes many times if hard linked\n" \ 662 " -l count sizes many times if hard linked\n" \
663 "\t-s\tdisplay only a total for each argument\n" \ 663 " -s display only a total for each argument\n" \
664 "\t-x\tskip directories on different filesystems\n" \ 664 " -x skip directories on different filesystems\n" \
665 USE_FEATURE_HUMAN_READABLE( \ 665 USE_FEATURE_HUMAN_READABLE( \
666 "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \ 666 " -h print sizes in human readable format (e.g., 1K 243M 2G )\n" \
667 "\t-m\tprint sizes in megabytes\n" \ 667 " -m print sizes in megabytes\n" \
668 ) \ 668 ) \
669 "\t-k\tprint sizes in kilobytes" \ 669 " -k print sizes in kilobytes" \
670 USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("(default)") 670 USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("(default)")
671#define du_example_usage \ 671#define du_example_usage \
672 "$ du\n" \ 672 "$ du\n" \
673 "16 ./CVS\n" \ 673 "16 ./CVS\n" \
674 "12 ./kernel-patches/CVS\n" \ 674 "12 ./kernel-patches/CVS\n" \
675 "80 ./kernel-patches\n" \ 675 "80 ./kernel-patches\n" \
676 "12 ./tests/CVS\n" \ 676 "12 ./tests/CVS\n" \
677 "36 ./tests\n" \ 677 "36 ./tests\n" \
678 "12 ./scripts/CVS\n" \ 678 "12 ./scripts/CVS\n" \
679 "16 ./scripts\n" \ 679 "16 ./scripts\n" \
680 "12 ./docs/CVS\n" \ 680 "12 ./docs/CVS\n" \
681 "104 ./docs\n" \ 681 "104 ./docs\n" \
682 "2417 .\n" 682 "2417 .\n"
683 683
684#define dumpkmap_trivial_usage \ 684#define dumpkmap_trivial_usage \
685 "> keymap" 685 "> keymap"
686#define dumpkmap_full_usage \ 686#define dumpkmap_full_usage \
687 "Prints out a binary keyboard translation table to standard output." 687 "Prints out a binary keyboard translation table to standard output."
688#define dumpkmap_example_usage \ 688#define dumpkmap_example_usage \
689 "$ dumpkmap > keymap\n" 689 "$ dumpkmap > keymap\n"
690 690
691#define dumpleases_trivial_usage \ 691#define dumpleases_trivial_usage \
692 "[-r|-a] [-f LEASEFILE]" 692 "[-r|-a] [-f LEASEFILE]"
693#define dumpleases_full_usage \ 693#define dumpleases_full_usage \
694 "Displays the DHCP leases granted by udhcpd.\n\n" \ 694 "Displays the DHCP leases granted by udhcpd.\n\n" \
695 "Options:\n" \ 695 "Options:\n" \
696 "\t-f,\t--file=FILENAME\tLeases file to load\n" \ 696 " -f, --file=FILENAME Leases file to load\n" \
697 "\t-r,\t--remaining\tInterpret lease times as time remaining\n" \ 697 " -r, --remaining Interpret lease times as time remaining\n" \
698 "\t-a,\t--absolute\tInterpret lease times as expire time" 698 " -a, --absolute Interpret lease times as expire time"
699 699
700#define e2fsck_trivial_usage \ 700#define e2fsck_trivial_usage \
701 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \ 701 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \
702 "[-I inode_buffer_blocks] [-P process_inode_size] " \ 702 "[-I inode_buffer_blocks] [-P process_inode_size] " \
703 "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \ 703 "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \
704 "[-E extended-options] device" 704 "[-E extended-options] device"
705#define e2fsck_full_usage \ 705#define e2fsck_full_usage \
706 "Check a Linux ext2/ext3 file system.\n\n" \ 706 "Check a Linux ext2/ext3 file system.\n\n" \
707 "Options:\n" \ 707 "Options:\n" \
708 "\t-p\tAutomatic repair (no questions)\n" \ 708 " -p Automatic repair (no questions)\n" \
709 "\t-n\tMake no changes to the filesystem\n" \ 709 " -n Make no changes to the filesystem\n" \
710 "\t-y\tAssume 'yes' to all questions\n" \ 710 " -y Assume 'yes' to all questions\n" \
711 "\t-c\tCheck for bad blocks and add them to the badblock list\n" \ 711 " -c Check for bad blocks and add them to the badblock list\n" \
712 "\t-f\tForce checking even if filesystem is marked clean\n" \ 712 " -f Force checking even if filesystem is marked clean\n" \
713 "\t-v\tBe verbose\n" \ 713 " -v Be verbose\n" \
714 "\t-b superblock\tUse alternative superblock\n" \ 714 " -b superblock Use alternative superblock\n" \
715 "\t-B blocksize\tForce blocksize when looking for superblock\n" \ 715 " -B blocksize Force blocksize when looking for superblock\n" \
716 "\t-j journal\tSet location of the external journal\n" \ 716 " -j journal Set location of the external journal\n" \
717 "\t-l file\tAdd to badblocks list\n" \ 717 " -l file Add to badblocks list\n" \
718 "\t-L file\tSet badblocks list" 718 " -L file Set badblocks list"
719 719
720#define echo_trivial_usage \ 720#define echo_trivial_usage \
721 USE_FEATURE_FANCY_ECHO("[-neE] ") "[ARG ...]" 721 USE_FEATURE_FANCY_ECHO("[-neE] ") "[ARG ...]"
722#define echo_full_usage \ 722#define echo_full_usage \
723 "Prints the specified ARGs to stdout\n\n" \ 723 "Prints the specified ARGs to stdout\n\n" \
724 USE_FEATURE_FANCY_ECHO( \ 724 USE_FEATURE_FANCY_ECHO( \
725 "Options:\n" \ 725 "Options:\n" \
726 "\t-n\tsuppress trailing newline\n" \ 726 " -n suppress trailing newline\n" \
727 "\t-e\tinterpret backslash-escaped characters (i.e., \\t=tab)\n" \ 727 " -e interpret backslash-escaped characters (i.e., \ =tab)\n" \
728 "\t-E\tdisable interpretation of backslash-escaped characters" \ 728 " -E disable interpretation of backslash-escaped characters" \
729 ) 729 )
730#define echo_example_usage \ 730#define echo_example_usage \
731 "$ echo \"Erik is cool\"\n" \ 731 "$ echo \"Erik is cool\"\n" \
732 "Erik is cool\n" \ 732 "Erik is cool\n" \
733 USE_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ 733 USE_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \
734 "Erik\n" \ 734 "Erik\n" \
735 "is\n" \ 735 "is\n" \
736 "cool\n" \ 736 "cool\n" \
737 "$ echo \"Erik\\nis\\ncool\"\n" \ 737 "$ echo \"Erik\\nis\\ncool\"\n" \
738 "Erik\\nis\\ncool\n") 738 "Erik\\nis\\ncool\n")
739 739
740#define eject_trivial_usage \ 740#define eject_trivial_usage \
741 "[-t] [-T] [DEVICE]" 741 "[-t] [-T] [DEVICE]"
742#define eject_full_usage \ 742#define eject_full_usage \
743 "Eject specified DEVICE (or default /dev/cdrom).\n\n" \ 743 "Eject specified DEVICE (or default /dev/cdrom).\n\n" \
744 "Options:\n" \ 744 "Options:\n" \
745 "\t-t\tclose tray\n" \ 745 " -t close tray\n" \
746 "\t-T\topen/close tray (toggle)" 746 " -T open/close tray (toggle)"
747 747
748#define ed_trivial_usage "" 748#define ed_trivial_usage ""
749#define ed_full_usage "" 749#define ed_full_usage ""
750 750
751#define env_trivial_usage \ 751#define env_trivial_usage \
752 "[-iu] [-] [name=value]... [command]" 752 "[-iu] [-] [name=value]... [command]"
753#define env_full_usage \ 753#define env_full_usage \
754 "Prints the current environment or runs a program after setting\n" \ 754 "Prints the current environment or runs a program after setting\n" \
755 "up the specified environment.\n\n" \ 755 "up the specified environment.\n\n" \
756 "Options:\n" \ 756 "Options:\n" \
757 "\t-, -i\tstart with an empty environment\n" \ 757 " -, -i start with an empty environment\n" \
758 "\t-u\tremove variable from the environment" 758 " -u remove variable from the environment"
759 759
760#define ether_wake_trivial_usage \ 760#define ether_wake_trivial_usage \
761 "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC" 761 "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC"
762#define ether_wake_full_usage \ 762#define ether_wake_full_usage \
763 "Send a magic packet to wake up sleeping machines.\n" \ 763 "Send a magic packet to wake up sleeping machines.\n" \
764 "MAC must be a station address (00:11:22:33:44:55) or\n" \ 764 "MAC must be a station address (00:11:22:33:44:55) or\n" \
765 " a hostname with a known 'ethers' entry.\n\n" \ 765 " a hostname with a known 'ethers' entry.\n\n" \
766 "Options:\n" \ 766 "Options:\n" \
767 "\t-b\t\tSend wake-up packet to the broadcast address\n" \ 767 " -b Send wake-up packet to the broadcast address\n" \
768 "\t-i iface\tUse interface ifname instead of the default \"eth0\"\n" \ 768 " -i iface Use interface ifname instead of the default \"eth0\"\n" \
769 "\t-p pass\tAppend the four or six byte password PW to the packet" 769 " -p pass Append the four or six byte password PW to the packet"
770 770
771#define expr_trivial_usage \ 771#define expr_trivial_usage \
772 "EXPRESSION" 772 "EXPRESSION"
773#define expr_full_usage \ 773#define expr_full_usage \
774 "Prints the value of EXPRESSION to standard output.\n\n" \ 774 "Prints the value of EXPRESSION to standard output.\n\n" \
775 "EXPRESSION may be:\n" \ 775 "EXPRESSION may be:\n" \
776 "\tARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \ 776 " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \
777 "\tARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \ 777 " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \
778 "\tARG1 < ARG2 ARG1 is less than ARG2\n" \ 778 " ARG1 < ARG2 ARG1 is less than ARG2\n" \
779 "\tARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" \ 779 " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" \
780 "\tARG1 = ARG2 ARG1 is equal to ARG2\n" \ 780 " ARG1 = ARG2 ARG1 is equal to ARG2\n" \
781 "\tARG1 != ARG2 ARG1 is unequal to ARG2\n" \ 781 " ARG1 != ARG2 ARG1 is unequal to ARG2\n" \
782 "\tARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" \ 782 " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" \
783 "\tARG1 > ARG2 ARG1 is greater than ARG2\n" \ 783 " ARG1 > ARG2 ARG1 is greater than ARG2\n" \
784 "\tARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" \ 784 " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" \
785 "\tARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" \ 785 " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" \
786 "\tARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" \ 786 " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" \
787 "\tARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" \ 787 " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" \
788 "\tARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" \ 788 " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" \
789 "\tSTRING : REGEXP anchored pattern match of REGEXP in STRING\n" \ 789 " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" \
790 "\tmatch STRING REGEXP same as STRING : REGEXP\n" \ 790 " match STRING REGEXP same as STRING : REGEXP\n" \
791 "\tsubstr STRING POS LENGTH substring of STRING, POS counted from 1\n" \ 791 " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" \
792 "\tindex STRING CHARS index in STRING where any CHARS is found,\n" \ 792 " index STRING CHARS index in STRING where any CHARS is found,\n" \
793 "\t or 0\n" \ 793 " or 0\n" \
794 "\tlength STRING length of STRING\n" \ 794 " length STRING length of STRING\n" \
795 "\tquote TOKEN interpret TOKEN as a string, even if\n" \ 795 " quote TOKEN interpret TOKEN as a string, even if\n" \
796 "\t it is a keyword like 'match' or an\n" \ 796 " it is a keyword like 'match' or an\n" \
797 "\t operator like '/'\n" \ 797 " operator like '/'\n" \
798 "\t( EXPRESSION ) value of EXPRESSION\n\n" \ 798 " ( EXPRESSION ) value of EXPRESSION\n\n" \
799 "Beware that many operators need to be escaped or quoted for shells.\n" \ 799 "Beware that many operators need to be escaped or quoted for shells.\n" \
800 "Comparisons are arithmetic if both ARGs are numbers, else\n" \ 800 "Comparisons are arithmetic if both ARGs are numbers, else\n" \
801 "lexicographical. Pattern matches return the string matched between\n" \ 801 "lexicographical. Pattern matches return the string matched between\n" \
802 "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \ 802 "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \
803 "of characters matched or 0." 803 "of characters matched or 0."
804 804
805#define fakeidentd_trivial_usage \ 805#define fakeidentd_trivial_usage \
806 "[-b ip] [STRING]" 806 "[-b ip] [STRING]"
807#define fakeidentd_full_usage \ 807#define fakeidentd_full_usage \
808 "Returns a set string to auth requests\n\n" \ 808 "Returns a set string to auth requests\n\n" \
809 "\t-b\tBind to ip address\n" \ 809 " -b Bind to ip address\n" \
810 "\tSTRING\tThe ident answer string (default is nobody)" 810 " STRING The ident answer string (default is nobody)"
811 811
812#define false_trivial_usage \ 812#define false_trivial_usage \
813 "" 813 ""
814#define false_full_usage \ 814#define false_full_usage \
815 "Return an exit code of FALSE (1)." 815 "Return an exit code of FALSE (1)."
816#define false_example_usage \ 816#define false_example_usage \
817 "$ false\n" \ 817 "$ false\n" \
818 "$ echo $?\n" \ 818 "$ echo $?\n" \
819 "1\n" 819 "1\n"
820 820
821#define fbset_trivial_usage \ 821#define fbset_trivial_usage \
822 "[options] [mode]" 822 "[options] [mode]"
823#define fbset_full_usage \ 823#define fbset_full_usage \
824 "Show and modify frame buffer settings" 824 "Show and modify frame buffer settings"
825#define fbset_example_usage \ 825#define fbset_example_usage \
826 "$ fbset\n" \ 826 "$ fbset\n" \
827 "mode \"1024x768-76\"\n" \ 827 "mode \"1024x768-76\"\n" \
828 "\t# D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz\n" \ 828 " # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz\n" \
829 "\tgeometry 1024 768 1024 768 16\n" \ 829 " geometry 1024 768 1024 768 16\n" \
830 "\ttimings 12714 128 32 16 4 128 4\n" \ 830 " timings 12714 128 32 16 4 128 4\n" \
831 "\taccel false\n" \ 831 " accel false\n" \
832 "\trgba 5/11,6/5,5/0,0/0\n" \ 832 " rgba 5/11,6/5,5/0,0/0\n" \
833 "endmode\n" 833 "endmode\n"
834 834
835#define fdflush_trivial_usage \ 835#define fdflush_trivial_usage \
836 "DEVICE" 836 "DEVICE"
837#define fdflush_full_usage \ 837#define fdflush_full_usage \
838 "Forces floppy disk drive to detect disk change" 838 "Forces floppy disk drive to detect disk change"
839 839
840#define fdformat_trivial_usage \ 840#define fdformat_trivial_usage \
841 "[-n] DEVICE" 841 "[-n] DEVICE"
842#define fdformat_full_usage \ 842#define fdformat_full_usage \
843 "Low-level formats a floppy disk\n\n" \ 843 "Low-level formats a floppy disk\n\n" \
844 "Options:\n" \ 844 "Options:\n" \
845 "\t-n\tDon't verify after format" 845 " -n Don't verify after format"
846 846
847#define fdisk_trivial_usage \ 847#define fdisk_trivial_usage \
848 "[-luv] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" 848 "[-luv] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK"
849#define fdisk_full_usage \ 849#define fdisk_full_usage \
850 "Change partition table\n" \ 850 "Change partition table\n" \
851 "Options:\n" \ 851 "Options:\n" \
852 "\t-l List partition table(s)\n" \ 852 " -l List partition table(s)\n" \
853 "\t-u Give Start and End in sector (instead of cylinder) units\n" \ 853 " -u Give Start and End in sector (instead of cylinder) units\n" \
854 "\t-s PARTITION Give partition size(s) in blocks\n" \ 854 " -s PARTITION Give partition size(s) in blocks\n" \
855 "\t-b 2048: (for certain MO disks) use 2048-byte sectors\n" \ 855 " -b 2048: (for certain MO disks) use 2048-byte sectors\n" \
856 "\t-C CYLINDERS Set the number of cylinders\n" \ 856 " -C CYLINDERS Set the number of cylinders\n" \
857 "\t-H HEADS Set the number of heads\n" \ 857 " -H HEADS Set the number of heads\n" \
858 "\t-S SECTORS Set the number of sectors\n" \ 858 " -S SECTORS Set the number of sectors\n" \
859 "\t-v Give fdisk version" 859 " -v Give fdisk version"
860 860
861#define find_trivial_usage \ 861#define find_trivial_usage \
862 "[PATH...] [EXPRESSION]" 862 "[PATH...] [EXPRESSION]"
863#define find_full_usage \ 863#define find_full_usage \
864 "Search for files in a directory hierarchy. The default PATH is\n" \ 864 "Search for files in a directory hierarchy. The default PATH is\n" \
865 "the current directory; default EXPRESSION is '-print'\n" \ 865 "the current directory; default EXPRESSION is '-print'\n" \
866 "\nEXPRESSION may consist of:\n" \ 866 "\nEXPRESSION may consist of:\n" \
867 "\t-follow\t\tDereference symbolic links\n" \ 867 " -follow Dereference symbolic links\n" \
868 "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN\n" \ 868 " -name PATTERN File name (leading directories removed) matches PATTERN\n" \
869 "\t-print\t\tPrint (default and assumed)\n" \ 869 " -print Print (default and assumed)\n" \
870 USE_FEATURE_FIND_PRINT0( \ 870 USE_FEATURE_FIND_PRINT0( \
871 "\t-print0\t\tDelimit output with null characters rather than\n\t\t\tnewlines" \ 871 " -print0 Delimit output with null characters rather than\n newlines" \
872) USE_FEATURE_FIND_TYPE( \ 872) USE_FEATURE_FIND_TYPE( \
873 "\n\t-type X\t\tFiletype matches X (where X is one of: f,d,l,b,c,...)" \ 873 "\n -type X Filetype matches X (where X is one of: f,d,l,b,c,...)" \
874) USE_FEATURE_FIND_PERM( \ 874) USE_FEATURE_FIND_PERM( \
875 "\n\t-perm PERMS\tPermissions match any of (+NNN); all of (-NNN);\n\t\t\tor exactly (NNN)" \ 875 "\n -perm PERMS Permissions match any of (+NNN); all of (-NNN);\n or exactly (NNN)" \
876) USE_FEATURE_FIND_MTIME( \ 876) USE_FEATURE_FIND_MTIME( \
877 "\n\t-mtime DAYS\tModified time is greater than (+N); less than (-N);\n\t\t\tor exactly (N) days" \ 877 "\n -mtime DAYS Modified time is greater than (+N); less than (-N);\n or exactly (N) days" \
878) USE_FEATURE_FIND_MMIN( \ 878) USE_FEATURE_FIND_MMIN( \
879 "\n\t-mmin MINS\tModified time is greater than (+N); less than (-N);\n\t\t\tor exactly (N) minutes" \ 879 "\n -mmin MINS Modified time is greater than (+N); less than (-N);\n or exactly (N) minutes" \
880) USE_FEATURE_FIND_NEWER( \ 880) USE_FEATURE_FIND_NEWER( \
881 "\n\t-newer FILE\tModified time is more recent than FILE's" \ 881 "\n -newer FILE Modified time is more recent than FILE's" \
882) USE_FEATURE_FIND_INUM( \ 882) USE_FEATURE_FIND_INUM( \
883 "\n\t-inum N\t\tFile has inode number N" \ 883 "\n -inum N File has inode number N" \
884) USE_FEATURE_FIND_EXEC( \ 884) USE_FEATURE_FIND_EXEC( \
885 "\n\t-exec CMD\tExecute CMD with all instances of {} replaced by the" \ 885 "\n -exec CMD Execute CMD with all instances of {} replaced by the" \
886 "\n\t\t\tfiles matching EXPRESSION") 886 "\n files matching EXPRESSION")
887 887
888#define find_example_usage \ 888#define find_example_usage \
889 "$ find / -name passwd\n" \ 889 "$ find / -name passwd\n" \
890 "/etc/passwd\n" 890 "/etc/passwd\n"
891 891
892#define fold_trivial_usage \ 892#define fold_trivial_usage \
893 "[-bs] [-w WIDTH] [FILE]" 893 "[-bs] [-w WIDTH] [FILE]"
894#define fold_full_usage \ 894#define fold_full_usage \
895 "Wrap input lines in each FILE (standard input by default), writing to\n" \ 895 "Wrap input lines in each FILE (standard input by default), writing to\n" \
896 "standard output.\n\n" \ 896 "standard output.\n\n" \
897 "Options:\n" \ 897 "Options:\n" \
898 "\t-b\tcount bytes rather than columns\n" \ 898 " -b count bytes rather than columns\n" \
899 "\t-s\tbreak at spaces\n" \ 899 " -s break at spaces\n" \
900 "\t-w\tuse WIDTH columns instead of 80" 900 " -w use WIDTH columns instead of 80"
901 901
902#define free_trivial_usage \ 902#define free_trivial_usage \
903 "" 903 ""
904#define free_full_usage \ 904#define free_full_usage \
905 "Displays the amount of free and used system memory" 905 "Displays the amount of free and used system memory"
906#define free_example_usage \ 906#define free_example_usage \
907 "$ free\n" \ 907 "$ free\n" \
908 " total used free shared buffers\n" \ 908 " total used free shared buffers\n" \
909 " Mem: 257628 248724 8904 59644 93124\n" \ 909 " Mem: 257628 248724 8904 59644 93124\n" \
910 " Swap: 128516 8404 120112\n" \ 910 " Swap: 128516 8404 120112\n" \
911 "Total: 386144 257128 129016\n" \ 911 "Total: 386144 257128 129016\n" \
912 912
913#define freeramdisk_trivial_usage \ 913#define freeramdisk_trivial_usage \
914 "DEVICE" 914 "DEVICE"
915#define freeramdisk_full_usage \ 915#define freeramdisk_full_usage \
916 "Frees all memory used by the specified ramdisk." 916 "Frees all memory used by the specified ramdisk."
917#define freeramdisk_example_usage \ 917#define freeramdisk_example_usage \
918 "$ freeramdisk /dev/ram2\n" 918 "$ freeramdisk /dev/ram2\n"
919 919
920#define fsck_trivial_usage \ 920#define fsck_trivial_usage \
921 "[-ANPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]" 921 "[-ANPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]"
922#define fsck_full_usage \ 922#define fsck_full_usage \
923 "Check and repair filesystems.\n\n" \ 923 "Check and repair filesystems.\n\n" \
924 "Options:\n" \ 924 "Options:\n" \
925 "\t-A\tWalk /etc/fstab and check all filesystems\n" \ 925 " -A Walk /etc/fstab and check all filesystems\n" \
926 "\t-N\tDon't execute, just show what would be done\n" \ 926 " -N Don't execute, just show what would be done\n" \
927 "\t-P\tWhen using -A, check filesystems in parallel\n" \ 927 " -P When using -A, check filesystems in parallel\n" \
928 "\t-R\tWhen using -A, skip the root filesystem\n" \ 928 " -R When using -A, skip the root filesystem\n" \
929 "\t-T\tDon't show title on startup\n" \ 929 " -T Don't show title on startup\n" \
930 "\t-V\tVerbose mode\n" \ 930 " -V Verbose mode\n" \
931 "\t-C\tWrite status information to specified filedescriptor\n" \ 931 " -C Write status information to specified filedescriptor\n" \
932 "\t-t\tList of filesystem types to check" 932 " -t List of filesystem types to check"
933 933
934#define fsck_minix_trivial_usage \ 934#define fsck_minix_trivial_usage \
935 "[-larvsmf] /dev/name" 935 "[-larvsmf] /dev/name"
936#define fsck_minix_full_usage \ 936#define fsck_minix_full_usage \
937 "Performs a consistency check for MINIX filesystems.\n\n" \ 937 "Performs a consistency check for MINIX filesystems.\n\n" \
938 "Options:\n" \ 938 "Options:\n" \
939 "\t-l\tLists all filenames\n" \ 939 " -l Lists all filenames\n" \
940 "\t-r\tPerform interactive repairs\n" \ 940 " -r Perform interactive repairs\n" \
941 "\t-a\tPerform automatic repairs\n" \ 941 " -a Perform automatic repairs\n" \
942 "\t-v\tverbose\n" \ 942 " -v verbose\n" \
943 "\t-s\tOutputs super-block information\n" \ 943 " -s Outputs super-block information\n" \
944 "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n" \ 944 " -m Activates MINIX-like \"mode not cleared\" warnings\n" \
945 "\t-f\tForce file system check" 945 " -f Force file system check"
946 946
947#define ftpget_trivial_usage \ 947#define ftpget_trivial_usage \
948 "[options] remote-host local-file remote-file" 948 "[options] remote-host local-file remote-file"
949#define ftpget_full_usage \ 949#define ftpget_full_usage \
950 "Retrieve a remote file via FTP.\n\n" \ 950 "Retrieve a remote file via FTP.\n\n" \
951 "Options:\n" \ 951 "Options:\n" \
952 "\t-c, --continue Continue a previous transfer\n" \ 952 " -c, --continue Continue a previous transfer\n" \
953 "\t-v, --verbose Verbose\n" \ 953 " -v, --verbose Verbose\n" \
954 "\t-u, --username Username to be used\n" \ 954 " -u, --username Username to be used\n" \
955 "\t-p, --password Password to be used\n" \ 955 " -p, --password Password to be used\n" \
956 "\t-P, --port Port number to be used" 956 " -P, --port Port number to be used"
957 957
958#define ftpput_trivial_usage \ 958#define ftpput_trivial_usage \
959 "[options] remote-host remote-file local-file" 959 "[options] remote-host remote-file local-file"
960#define ftpput_full_usage \ 960#define ftpput_full_usage \
961 "Store a local file on a remote machine via FTP.\n\n" \ 961 "Store a local file on a remote machine via FTP.\n\n" \
962 "Options:\n" \ 962 "Options:\n" \
963 "\t-v, --verbose Verbose\n" \ 963 " -v, --verbose Verbose\n" \
964 "\t-u, --username Username to be used\n" \ 964 " -u, --username Username to be used\n" \
965 "\t-p, --password Password to be used\n" \ 965 " -p, --password Password to be used\n" \
966 "\t-P, --port Port number to be used" 966 " -P, --port Port number to be used"
967 967
968#define fuser_trivial_usage \ 968#define fuser_trivial_usage \
969 "[options] file OR port/proto" 969 "[options] file OR port/proto"
970#define fuser_full_usage \ 970#define fuser_full_usage \
971 "Options:\n" \ 971 "Options:\n" \
972 "\t-m Show all processes on the same mounted fs\n" \ 972 " -m Show all processes on the same mounted fs\n" \
973 "\t-k Kill all processes that match.\n" \ 973 " -k Kill all processes that match.\n" \
974 "\t-s Don't print or kill anything.\n" \ 974 " -s Don't print or kill anything.\n" \
975 "\t-4 When using port/proto only search IPv4 space\n" \ 975 " -4 When using port/proto only search IPv4 space\n" \
976 "\t-6 When using port/proto only search IPv6 space\n" \ 976 " -6 When using port/proto only search IPv6 space\n" \
977 "\t-SIGNAL When used with -k, this signal will be used to kill" 977 " -SIGNAL When used with -k, this signal will be used to kill"
978 978
979#define getopt_trivial_usage \ 979#define getopt_trivial_usage \
980 "[OPTIONS]..." 980 "[OPTIONS]..."
981#define getopt_full_usage \ 981#define getopt_full_usage \
982 "Parse command options\n" \ 982 "Parse command options\n" \
983 "\t-a, --alternative Allow long options starting with single -\n" \ 983 " -a, --alternative Allow long options starting with single -\n" \
984 "\t-l, --longoptions=longopts Long options to be recognized\n" \ 984 " -l, --longoptions=longopts Long options to be recognized\n" \
985 "\t-n, --name=progname The name under which errors are reported\n" \ 985 " -n, --name=progname The name under which errors are reported\n" \
986 "\t-o, --options=optstring Short options to be recognized\n" \ 986 " -o, --options=optstring Short options to be recognized\n" \
987 "\t-q, --quiet Disable error reporting by getopt(3)\n" \ 987 " -q, --quiet Disable error reporting by getopt(3)\n" \
988 "\t-Q, --quiet-output No normal output\n" \ 988 " -Q, --quiet-output No normal output\n" \
989 "\t-s, --shell=shell Set shell quoting conventions\n" \ 989 " -s, --shell=shell Set shell quoting conventions\n" \
990 "\t-T, --test Test for getopt(1) version\n" \ 990 " -T, --test Test for getopt(1) version\n" \
991 "\t-u, --unquoted Do not quote the output" 991 " -u, --unquoted Do not quote the output"
992#define getopt_example_usage \ 992#define getopt_example_usage \
993 "$ cat getopt.test\n" \ 993 "$ cat getopt.test\n" \
994 "#!/bin/sh\n" \ 994 "#!/bin/sh\n" \
995 "GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \\\n" \ 995 "GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \\\n" \
996 " -n 'example.busybox' -- \"$@\"`\n" \ 996 " -n 'example.busybox' -- \"$@\"`\n" \
997 "if [ $? != 0 ] ; then exit 1 ; fi\n" \ 997 "if [ $? != 0 ] ; then exit 1 ; fi\n" \
998 "eval set -- \"$GETOPT\"\n" \ 998 "eval set -- \"$GETOPT\"\n" \
999 "while true ; do\n" \ 999 "while true ; do\n" \
1000 " case $1 in\n" \ 1000 " case $1 in\n" \
1001 " -a|--a-long) echo \"Option a\" ; shift ;;\n" \ 1001 " -a|--a-long) echo \"Option a\" ; shift ;;\n" \
1002 " -b|--b-long) echo \"Option b, argument '$2'\" ; shift 2 ;;\n" \ 1002 " -b|--b-long) echo \"Option b, argument '$2'\" ; shift 2 ;;\n" \
1003 " -c|--c-long)\n" \ 1003 " -c|--c-long)\n" \
1004 " case \"$2\" in\n" \ 1004 " case \"$2\" in\n" \
1005 " \"\") echo \"Option c, no argument\"; shift 2 ;;\n" \ 1005 " \"\") echo \"Option c, no argument\"; shift 2 ;;\n" \
1006 " *) echo \"Option c, argument '$2'\" ; shift 2 ;;\n" \ 1006 " *) echo \"Option c, argument '$2'\" ; shift 2 ;;\n" \
1007 " esac ;;\n" \ 1007 " esac ;;\n" \
1008 " --) shift ; break ;;\n" \ 1008 " --) shift ; break ;;\n" \
1009 " *) echo \"Internal error!\" ; exit 1 ;;\n" \ 1009 " *) echo \"Internal error!\" ; exit 1 ;;\n" \
1010 " esac\n" \ 1010 " esac\n" \
1011 "done\n" 1011 "done\n"
1012 1012
1013#define getty_trivial_usage \ 1013#define getty_trivial_usage \
1014 "[OPTIONS]... baud_rate,... line [termtype]" 1014 "[OPTIONS]... baud_rate,... line [termtype]"
1015#define getty_full_usage \ 1015#define getty_full_usage \
1016 "Opens a tty, prompts for a login name, then invokes /bin/login\n\n" \ 1016 "Opens a tty, prompts for a login name, then invokes /bin/login\n\n" \
1017 "Options:\n" \ 1017 "Options:\n" \
1018 "\t-h\t\tEnable hardware (RTS/CTS) flow control\n" \ 1018 " -h Enable hardware (RTS/CTS) flow control\n" \
1019 "\t-i\t\tDo not display /etc/issue before running login\n" \ 1019 " -i Do not display /etc/issue before running login\n" \
1020 "\t-L\t\tLocal line, so do not do carrier detect\n" \ 1020 " -L Local line, so do not do carrier detect\n" \
1021 "\t-m\t\tGet baud rate from modem's CONNECT status message\n" \ 1021 " -m Get baud rate from modem's CONNECT status message\n" \
1022 "\t-w\t\tWait for a CR or LF before sending /etc/issue\n" \ 1022 " -w Wait for a CR or LF before sending /etc/issue\n" \
1023 "\t-n\t\tDo not prompt the user for a login name\n" \ 1023 " -n Do not prompt the user for a login name\n" \
1024 "\t-f issue_file\tDisplay issue_file instead of /etc/issue\n" \ 1024 " -f issue_file Display issue_file instead of /etc/issue\n" \
1025 "\t-l login_app\tInvoke login_app instead of /bin/login\n" \ 1025 " -l login_app Invoke login_app instead of /bin/login\n" \
1026 "\t-t timeout\tTerminate after timeout if no username is read\n" \ 1026 " -t timeout Terminate after timeout if no username is read\n" \
1027 "\t-I initstring\tSets the init string to send before anything else\n" \ 1027 " -I initstring Sets the init string to send before anything else\n" \
1028 "\t-H login_host\tLog login_host into the utmp file as the hostname" 1028 " -H login_host Log login_host into the utmp file as the hostname"
1029 1029
1030#define grep_trivial_usage \ 1030#define grep_trivial_usage \
1031 "[-rihHnqvso" \ 1031 "[-rihHnqvso" \
1032 USE_FEATURE_GREP_EGREP_ALIAS("E") \ 1032 USE_FEATURE_GREP_EGREP_ALIAS("E") \
1033 USE_FEATURE_GREP_CONTEXT("ABC") \ 1033 USE_FEATURE_GREP_CONTEXT("ABC") \
1034 "] PATTERN [FILEs...]" 1034 "] PATTERN [FILEs...]"
1035#define grep_full_usage \ 1035#define grep_full_usage \
1036 "Search for PATTERN in each FILE or standard input.\n\n" \ 1036 "Search for PATTERN in each FILE or standard input.\n\n" \
1037 "Options:\n" \ 1037 "Options:\n" \
1038 "\t-H\tprefix output lines with filename where match was found\n" \ 1038 " -H prefix output lines with filename where match was found\n" \
1039 "\t-h\tsuppress the prefixing filename on output\n" \ 1039 " -h suppress the prefixing filename on output\n" \
1040 "\t-r\trecurse subdirectories\n" \ 1040 " -r recurse subdirectories\n" \
1041 "\t-i\tignore case distinctions\n" \ 1041 " -i ignore case distinctions\n" \
1042 "\t-l\tlist names of files that match\n" \ 1042 " -l list names of files that match\n" \
1043 "\t-L\tlist names of files that do not match\n" \ 1043 " -L list names of files that do not match\n" \
1044 "\t-n\tprint line number with output lines\n" \ 1044 " -n print line number with output lines\n" \
1045 "\t-q\tbe quiet. Returns 0 if PATTERN was found, 1 otherwise\n" \ 1045 " -q be quiet. Returns 0 if PATTERN was found, 1 otherwise\n" \
1046 "\t-v\tselect non-matching lines\n" \ 1046 " -v select non-matching lines\n" \
1047 "\t-s\tsuppress file open/read error messages\n" \ 1047 " -s suppress file open/read error messages\n" \
1048 "\t-c\tonly print count of matching lines\n" \ 1048 " -c only print count of matching lines\n" \
1049 "\t-f\tread PATTERN from file\n" \ 1049 " -f read PATTERN from file\n" \
1050 "\t-o\tshow only the part of a line that matches PATTERN\n" \ 1050 " -o show only the part of a line that matches PATTERN\n" \
1051 "\t-e\tPATTERN is a regular expression\n" \ 1051 " -e PATTERN is a regular expression\n" \
1052 "\t-F\tPATTERN is a set of newline-separated strings" \ 1052 " -F PATTERN is a set of newline-separated strings" \
1053 USE_FEATURE_GREP_EGREP_ALIAS("\n\t-E\tPATTERN is an extended regular expression") \ 1053 USE_FEATURE_GREP_EGREP_ALIAS("\n -E PATTERN is an extended regular expression") \
1054 USE_FEATURE_GREP_CONTEXT("\n\t-A\tprint NUM lines of trailing context") \ 1054 USE_FEATURE_GREP_CONTEXT("\n -A print NUM lines of trailing context") \
1055 USE_FEATURE_GREP_CONTEXT("\n\t-B\tprint NUM lines of leading context") \ 1055 USE_FEATURE_GREP_CONTEXT("\n -B print NUM lines of leading context") \
1056 USE_FEATURE_GREP_CONTEXT("\n\t-C\tprint NUM lines of output context") 1056 USE_FEATURE_GREP_CONTEXT("\n -C print NUM lines of output context")
1057 1057
1058#define grep_example_usage \ 1058#define grep_example_usage \
1059 "$ grep root /etc/passwd\n" \ 1059 "$ grep root /etc/passwd\n" \
1060 "root:x:0:0:root:/root:/bin/bash\n" \ 1060 "root:x:0:0:root:/root:/bin/bash\n" \
1061 "$ grep ^[rR]oo. /etc/passwd\n" \ 1061 "$ grep ^[rR]oo. /etc/passwd\n" \
1062 "root:x:0:0:root:/root:/bin/bash\n" 1062 "root:x:0:0:root:/root:/bin/bash\n"
1063 1063
1064#define gunzip_trivial_usage \ 1064#define gunzip_trivial_usage \
1065 "[OPTION]... FILE" 1065 "[OPTION]... FILE"
1066#define gunzip_full_usage \ 1066#define gunzip_full_usage \
1067 "Uncompress FILE (or standard input if FILE is '-').\n\n" \ 1067 "Uncompress FILE (or standard input if FILE is '-').\n\n" \
1068 "Options:\n" \ 1068 "Options:\n" \
1069 "\t-c\tWrite output to standard output\n" \ 1069 " -c Write output to standard output\n" \
1070 "\t-f\tForce read when source is a terminal\n" \ 1070 " -f Force read when source is a terminal\n" \
1071 "\t-t\tTest compressed file integrity" 1071 " -t Test compressed file integrity"
1072#define gunzip_example_usage \ 1072#define gunzip_example_usage \
1073 "$ ls -la /tmp/BusyBox*\n" \ 1073 "$ ls -la /tmp/BusyBox*\n" \
1074 "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \ 1074 "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \
1075 "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \ 1075 "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \
1076 "$ ls -la /tmp/BusyBox*\n" \ 1076 "$ ls -la /tmp/BusyBox*\n" \
1077 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n" 1077 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n"
1078 1078
1079#define gzip_trivial_usage \ 1079#define gzip_trivial_usage \
1080 "[OPTION]... [FILE]..." 1080 "[OPTION]... [FILE]..."
1081#define gzip_full_usage \ 1081#define gzip_full_usage \
1082 "Compress FILE(s) with maximum compression.\n" \ 1082 "Compress FILE(s) with maximum compression.\n" \
1083 "When FILE is '-' or unspecified, reads standard input. Implies -c.\n\n" \ 1083 "When FILE is '-' or unspecified, reads standard input. Implies -c.\n\n" \
1084 "Options:\n" \ 1084 "Options:\n" \
1085 "\t-c\tWrite output to standard output instead of FILE.gz\n" \ 1085 " -c Write output to standard output instead of FILE.gz\n" \
1086 "\t-d\tDecompress\n" \ 1086 " -d Decompress\n" \
1087 "\t-f\tForce write when destination is a terminal" 1087 " -f Force write when destination is a terminal"
1088#define gzip_example_usage \ 1088#define gzip_example_usage \
1089 "$ ls -la /tmp/busybox*\n" \ 1089 "$ ls -la /tmp/busybox*\n" \
1090 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \ 1090 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \
1091 "$ gzip /tmp/busybox.tar\n" \ 1091 "$ gzip /tmp/busybox.tar\n" \
1092 "$ ls -la /tmp/busybox*\n" \ 1092 "$ ls -la /tmp/busybox*\n" \
1093 "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" 1093 "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
1094 1094
1095#define halt_trivial_usage \ 1095#define halt_trivial_usage \
1096 "[-d<delay>] [-n<nosync>] [-f<force>]" 1096 "[-d<delay>] [-n<nosync>] [-f<force>]"
1097#define halt_full_usage \ 1097#define halt_full_usage \
1098 "Halt the system.\n" \ 1098 "Halt the system.\n" \
1099 "Options:\n" \ 1099 "Options:\n" \
1100 "\t-d\t\tdelay interval for halting\n" \ 1100 " -d delay interval for halting\n" \
1101 "\t-n\t\tno call to sync()\n" \ 1101 " -n no call to sync()\n" \
1102 "\t-f\t\tforce halt (don't go through init)" 1102 " -f force halt (don't go through init)"
1103 1103
1104#define hdparm_trivial_usage \ 1104#define hdparm_trivial_usage \
1105 "[options] [device] .." 1105 "[options] [device] .."
1106#define hdparm_full_usage \ 1106#define hdparm_full_usage \
1107 USE_FEATURE_HDPARM_GET_IDENTITY("\tIf no device name is specified try to read from stdin.\n") \ 1107 USE_FEATURE_HDPARM_GET_IDENTITY(" If no device name is specified try to read from stdin.\n") \
1108 "\nOptions:\n" \ 1108 "\nOptions:\n" \
1109 "\t-a get/set fs readahead\n" \ 1109 " -a get/set fs readahead\n" \
1110 "\t-A set drive read-lookahead flag (0/1)\n" \ 1110 " -A set drive read-lookahead flag (0/1)\n" \
1111 "\t-b get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \ 1111 " -b get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \
1112 "\t-B set Advanced Power Management setting (1-255)\n" \ 1112 " -B set Advanced Power Management setting (1-255)\n" \
1113 "\t-c get/set IDE 32-bit IO setting\n" \ 1113 " -c get/set IDE 32-bit IO setting\n" \
1114 "\t-C check IDE power mode status\n" \ 1114 " -C check IDE power mode status\n" \
1115 USE_FEATURE_HDPARM_HDIO_GETSET_DMA("\t-d get/set using_dma flag\n") \ 1115 USE_FEATURE_HDPARM_HDIO_GETSET_DMA(" -d get/set using_dma flag\n") \
1116 "\t-D enable/disable drive defect-mgmt\n" \ 1116 " -D enable/disable drive defect-mgmt\n" \
1117 "\t-f flush buffer cache for device on exit\n" \ 1117 " -f flush buffer cache for device on exit\n" \
1118 "\t-g display drive geometry\n" \ 1118 " -g display drive geometry\n" \
1119 "\t-h display terse usage information\n" \ 1119 " -h display terse usage information\n" \
1120 USE_FEATURE_HDPARM_GET_IDENTITY("\t-i display drive identification\n") \ 1120 USE_FEATURE_HDPARM_GET_IDENTITY(" -i display drive identification\n") \
1121 USE_FEATURE_HDPARM_GET_IDENTITY("\t-I detailed/current information directly from drive\n") \ 1121 USE_FEATURE_HDPARM_GET_IDENTITY(" -I detailed/current information directly from drive\n") \
1122 "\t-k get/set keep_settings_over_reset flag (0/1)\n" \ 1122 " -k get/set keep_settings_over_reset flag (0/1)\n" \
1123 "\t-K set drive keep_features_over_reset flag (0/1)\n" \ 1123 " -K set drive keep_features_over_reset flag (0/1)\n" \
1124 "\t-L set drive doorlock (0/1) (removable harddisks only)\n" \ 1124 " -L set drive doorlock (0/1) (removable harddisks only)\n" \
1125 "\t-m get/set multiple sector count\n" \ 1125 " -m get/set multiple sector count\n" \
1126 "\t-n get/set ignore-write-errors flag (0/1)\n" \ 1126 " -n get/set ignore-write-errors flag (0/1)\n" \
1127 "\t-p set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \ 1127 " -p set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \
1128 "\t-P set drive prefetch count\n" \ 1128 " -P set drive prefetch count\n" \
1129 "\t-q change next setting quietly\n" \ 1129 " -q change next setting quietly\n" \
1130 "\t-Q get/set DMA tagged-queuing depth (if supported)\n" \ 1130 " -Q get/set DMA tagged-queuing depth (if supported)\n" \
1131 "\t-r get/set readonly flag (DANGEROUS to set)\n" \ 1131 " -r get/set readonly flag (DANGEROUS to set)\n" \
1132 USE_FEATURE_HDPARM_HDIO_SCAN_HWIF("\t-R register an IDE interface (DANGEROUS)\n") \ 1132 USE_FEATURE_HDPARM_HDIO_SCAN_HWIF(" -R register an IDE interface (DANGEROUS)\n") \
1133 "\t-S set standby (spindown) timeout\n" \ 1133 " -S set standby (spindown) timeout\n" \
1134 "\t-t perform device read timings\n" \ 1134 " -t perform device read timings\n" \
1135 "\t-T perform cache read timings\n" \ 1135 " -T perform cache read timings\n" \
1136 "\t-u get/set unmaskirq flag (0/1)\n" \ 1136 " -u get/set unmaskirq flag (0/1)\n" \
1137 USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF("\t-U un-register an IDE interface (DANGEROUS)\n") \ 1137 USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF(" -U un-register an IDE interface (DANGEROUS)\n") \
1138 "\t-v defaults; same as -mcudkrag for IDE drives\n" \ 1138 " -v defaults; same as -mcudkrag for IDE drives\n" \
1139 "\t-V display program version and exit immediately\n" \ 1139 " -V display program version and exit immediately\n" \
1140 USE_FEATURE_HDPARM_HDIO_DRIVE_RESET("\t-w perform device reset (DANGEROUS)\n") \ 1140 USE_FEATURE_HDPARM_HDIO_DRIVE_RESET(" -w perform device reset (DANGEROUS)\n") \
1141 "\t-W set drive write-caching flag (0/1) (DANGEROUS)\n" \ 1141 " -W set drive write-caching flag (0/1) (DANGEROUS)\n" \
1142 USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF("\t-x tristate device for hotswap (0/1) (DANGEROUS)\n") \ 1142 USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(" -x tristate device for hotswap (0/1) (DANGEROUS)\n") \
1143 "\t-X set IDE xfer mode (DANGEROUS)\n" \ 1143 " -X set IDE xfer mode (DANGEROUS)\n" \
1144 "\t-y put IDE drive in standby mode\n" \ 1144 " -y put IDE drive in standby mode\n" \
1145 "\t-Y put IDE drive to sleep\n" \ 1145 " -Y put IDE drive to sleep\n" \
1146 "\t-Z disable Seagate auto-powersaving mode\n" \ 1146 " -Z disable Seagate auto-powersaving mode\n" \
1147 "\t-z re-read partition table" 1147 " -z re-read partition table"
1148 1148
1149#define head_trivial_usage \ 1149#define head_trivial_usage \
1150 "[OPTION]... [FILE]..." 1150 "[OPTION]... [FILE]..."
1151#define head_full_usage \ 1151#define head_full_usage \
1152 "Print first 10 lines of each FILE to standard output.\n" \ 1152 "Print first 10 lines of each FILE to standard output.\n" \
1153 "With more than one FILE, precede each with a header giving the\n" \ 1153 "With more than one FILE, precede each with a header giving the\n" \
1154 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ 1154 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \
1155 "Options:\n" \ 1155 "Options:\n" \
1156 "\t-n NUM\t\tPrint first NUM lines instead of first 10" \ 1156 " -n NUM Print first NUM lines instead of first 10" \
1157 USE_FEATURE_FANCY_HEAD( \ 1157 USE_FEATURE_FANCY_HEAD( \
1158 "\n\t-c NUM\t\toutput the first NUM bytes\n" \ 1158 "\n -c NUM output the first NUM bytes\n" \
1159 "\t-q\t\tnever output headers giving file names\n" \ 1159 " -q never output headers giving file names\n" \
1160 "\t-v\t\talways output headers giving file names" ) 1160 " -v always output headers giving file names" )
1161#define head_example_usage \ 1161#define head_example_usage \
1162 "$ head -n 2 /etc/passwd\n" \ 1162 "$ head -n 2 /etc/passwd\n" \
1163 "root:x:0:0:root:/root:/bin/bash\n" \ 1163 "root:x:0:0:root:/root:/bin/bash\n" \
1164 "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" 1164 "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n"
1165 1165
1166#define hexdump_trivial_usage \ 1166#define hexdump_trivial_usage \
1167 "[-[bcCdefnosvx]] [OPTION] FILE" 1167 "[-[bcCdefnosvx]] [OPTION] FILE"
1168#define hexdump_full_usage \ 1168#define hexdump_full_usage \
1169 "The hexdump utility is a filter which displays the specified files,\n" \ 1169 "The hexdump utility is a filter which displays the specified files,\n" \
1170 "or the standard input, if no files are specified, in a user specified\n" \ 1170 "or the standard input, if no files are specified, in a user specified\n" \
1171 "format\n" \ 1171 "format\n" \
1172 "\t-b\t\tOne-byte octal display\n" \ 1172 " -b One-byte octal display\n" \
1173 "\t-c\t\tOne-byte character display\n" \ 1173 " -c One-byte character display\n" \
1174 "\t-C\t\tCanonical hex+ASCII, 16 bytes per line\n" \ 1174 " -C Canonical hex+ASCII, 16 bytes per line\n" \
1175 "\t-d\t\tTwo-byte decimal display\n" \ 1175 " -d Two-byte decimal display\n" \
1176 "\t-e FORMAT STRING\n" \ 1176 " -e FORMAT STRING\n" \
1177 "\t-f FORMAT FILE\n" \ 1177 " -f FORMAT FILE\n" \
1178 "\t-n LENGTH\tInterpret only length bytes of input\n" \ 1178 " -n LENGTH Interpret only length bytes of input\n" \
1179 "\t-o\t\tTwo-byte octal display\n" \ 1179 " -o Two-byte octal display\n" \
1180 "\t-s OFFSET\tSkip offset byte\n" \ 1180 " -s OFFSET Skip offset byte\n" \
1181 "\t-v\t\tdisplay all input data\n" \ 1181 " -v display all input data\n" \
1182 "\t-x\t\tTwo-byte hexadecimal display" 1182 " -x Two-byte hexadecimal display"
1183 1183
1184#define hostid_trivial_usage \ 1184#define hostid_trivial_usage \
1185 "" 1185 ""
1186#define hostid_full_usage \ 1186#define hostid_full_usage \
1187 "Print out a unique 32-bit identifier for the machine." 1187 "Print out a unique 32-bit identifier for the machine."
1188 1188
1189#define hostname_trivial_usage \ 1189#define hostname_trivial_usage \
1190 "[OPTION] {hostname | -F FILE}" 1190 "[OPTION] {hostname | -F FILE}"
1191#define hostname_full_usage \ 1191#define hostname_full_usage \
1192 "Get or set the hostname or DNS domain name. If a hostname is given\n" \ 1192 "Get or set the hostname or DNS domain name. If a hostname is given\n" \
1193 "(or FILE with the -F parameter), the host name will be set.\n\n" \ 1193 "(or FILE with the -F parameter), the host name will be set.\n\n" \
1194 "Options:\n" \ 1194 "Options:\n" \
1195 "\t-s\tShort\n" \ 1195 " -s Short\n" \
1196 "\t-i\tAddresses for the hostname\n" \ 1196 " -i Addresses for the hostname\n" \
1197 "\t-d\tDNS domain name\n" \ 1197 " -d DNS domain name\n" \
1198 "\t-f\tFully qualified domain name\n" \ 1198 " -f Fully qualified domain name\n" \
1199 "\t-F FILE\tUse the contents of FILE to specify the hostname" 1199 " -F FILE Use the contents of FILE to specify the hostname"
1200#define hostname_example_usage \ 1200#define hostname_example_usage \
1201 "$ hostname\n" \ 1201 "$ hostname\n" \
1202 "sage\n" 1202 "sage\n"
1203 1203
1204#define httpd_trivial_usage \ 1204#define httpd_trivial_usage \
1205 "[-c <conf file>]" \ 1205 "[-c <conf file>]" \
1206 " [-p <port>]" \ 1206 " [-p <port>]" \
1207 " [-i] [-f]" \ 1207 " [-i] [-f]" \
1208 USE_FEATURE_HTTPD_SETUID(" [-u user[:grp]]") \ 1208 USE_FEATURE_HTTPD_SETUID(" [-u user[:grp]]") \
1209 USE_FEATURE_HTTPD_BASIC_AUTH(" [-r <realm>]") \ 1209 USE_FEATURE_HTTPD_BASIC_AUTH(" [-r <realm>]") \
1210 USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \ 1210 USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
1211 " [-h home]" \ 1211 " [-h home]" \
1212 " [-d/-e <string>]" 1212 " [-d/-e <string>]"
1213#define httpd_full_usage \ 1213#define httpd_full_usage \
1214 "Listens for incoming http server requests.\n\n" \ 1214 "Listens for incoming http server requests.\n\n" \
1215 "Options:\n" \ 1215 "Options:\n" \
1216 "\t-c FILE\t\tSpecifies configuration file. (default httpd.conf)\n" \ 1216 " -c FILE Specifies configuration file. (default httpd.conf)\n" \
1217 "\t-p PORT\t\tServer port (default 80)\n" \ 1217 " -p PORT Server port (default 80)\n" \
1218 "\t-i\t\tAssume that we are started from inetd\n" \ 1218 " -i Assume that we are started from inetd\n" \
1219 "\t-f\t\tDo not daemonize\n" \ 1219 " -f Do not daemonize\n" \
1220 USE_FEATURE_HTTPD_SETUID("\t-u USER[:GRP]\tSet uid/gid after binding to port\n") \ 1220 USE_FEATURE_HTTPD_SETUID(" -u USER[:GRP] Set uid/gid after binding to port\n") \
1221 USE_FEATURE_HTTPD_BASIC_AUTH("\t-r REALM\tAuthentication Realm for Basic Authentication\n") \ 1221 USE_FEATURE_HTTPD_BASIC_AUTH(" -r REALM Authentication Realm for Basic Authentication\n") \
1222 USE_FEATURE_HTTPD_AUTH_MD5("\t-m PASS\t\tCrypt PASS with md5 algorithm\n") \ 1222 USE_FEATURE_HTTPD_AUTH_MD5(" -m PASS Crypt PASS with md5 algorithm\n") \
1223 "\t-h HOME\t\tSpecifies http HOME directory (default ./)\n" \ 1223 " -h HOME Specifies http HOME directory (default ./)\n" \
1224 "\t-e STRING\tHTML encode STRING\n" \ 1224 " -e STRING HTML encode STRING\n" \
1225 "\t-d STRING\tURL decode STRING" 1225 " -d STRING URL decode STRING"
1226 1226
1227#define hwclock_trivial_usage \ 1227#define hwclock_trivial_usage \
1228 "[-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc]" 1228 "[-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc]"
1229#define hwclock_full_usage \ 1229#define hwclock_full_usage \
1230 "Query and set the hardware clock (RTC)\n\n" \ 1230 "Query and set the hardware clock (RTC)\n\n" \
1231 "Options:\n" \ 1231 "Options:\n" \
1232 "\t-r\tread hardware clock and print result\n" \ 1232 " -r read hardware clock and print result\n" \
1233 "\t-s\tset the system time from the hardware clock\n" \ 1233 " -s set the system time from the hardware clock\n" \
1234 "\t-w\tset the hardware clock to the current system time\n" \ 1234 " -w set the hardware clock to the current system time\n" \
1235 "\t-u\tthe hardware clock is kept in coordinated universal time\n" \ 1235 " -u the hardware clock is kept in coordinated universal time\n" \
1236 "\t-l\tthe hardware clock is kept in local time" 1236 " -l the hardware clock is kept in local time"
1237 1237
1238#define id_trivial_usage \ 1238#define id_trivial_usage \
1239 "[OPTIONS]... [USERNAME]" 1239 "[OPTIONS]... [USERNAME]"
1240#define id_full_usage \ 1240#define id_full_usage \
1241 "Print information for USERNAME or the current user\n\n" \ 1241 "Print information for USERNAME or the current user\n\n" \
1242 "Options:\n" \ 1242 "Options:\n" \
1243 USE_SELINUX("\t-c\tprints only the security context\n") \ 1243 USE_SELINUX(" -c prints only the security context\n") \
1244 "\t-g\tprints only the group ID\n" \ 1244 " -g prints only the group ID\n" \
1245 "\t-u\tprints only the user ID\n" \ 1245 " -u prints only the user ID\n" \
1246 "\t-n\tprint a name instead of a number\n" \ 1246 " -n print a name instead of a number\n" \
1247 "\t-r\tprints the real user ID instead of the effective ID" 1247 " -r prints the real user ID instead of the effective ID"
1248#define id_example_usage \ 1248#define id_example_usage \
1249 "$ id\n" \ 1249 "$ id\n" \
1250 "uid=1000(andersen) gid=1000(andersen)\n" 1250 "uid=1000(andersen) gid=1000(andersen)\n"
1251 1251
1252#define ifconfig_trivial_usage \ 1252#define ifconfig_trivial_usage \
1253 USE_FEATURE_IFCONFIG_STATUS("[-a]") " <interface> [<address>]" 1253 USE_FEATURE_IFCONFIG_STATUS("[-a]") " <interface> [<address>]"
1254#define ifconfig_full_usage \ 1254#define ifconfig_full_usage \
1255 "configure a network interface\n\n" \ 1255 "configure a network interface\n\n" \
1256 "Options:\n" \ 1256 "Options:\n" \
1257 USE_FEATURE_IPV6("\t[add <address>[/<prefixlen>]]\n") \ 1257 USE_FEATURE_IPV6(" [add <address>[/<prefixlen>]]\n") \
1258 USE_FEATURE_IPV6("\t[del <address>[/<prefixlen>]]\n") \ 1258 USE_FEATURE_IPV6(" [del <address>[/<prefixlen>]]\n") \
1259 "\t[[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \ 1259 " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \
1260 "\t[netmask <address>] [dstaddr <address>]\n" \ 1260 " [netmask <address>] [dstaddr <address>]\n" \
1261 USE_FEATURE_IFCONFIG_SLIP("\t[outfill <NN>] [keepalive <NN>]\n") \ 1261 USE_FEATURE_IFCONFIG_SLIP(" [outfill <NN>] [keepalive <NN>]\n") \
1262 "\t" USE_FEATURE_IFCONFIG_HW("[hw ether <address>] ") \ 1262 " " USE_FEATURE_IFCONFIG_HW("[hw ether <address>] ") \
1263 "[metric <NN>] [mtu <NN>]\n" \ 1263 "[metric <NN>] [mtu <NN>]\n" \
1264 "\t[[-]trailers] [[-]arp] [[-]allmulti]\n" \ 1264 " [[-]trailers] [[-]arp] [[-]allmulti]\n" \
1265 "\t[multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \ 1265 " [multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \
1266 USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ("\t[mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \ 1266 USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ(" [mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \
1267 "\t[up|down] ..." 1267 " [up|down] ..."
1268 1268
1269#define ifup_trivial_usage \ 1269#define ifup_trivial_usage \
1270 "<-ahinv> <ifaces...>" 1270 "<-ahinv> <ifaces...>"
1271#define ifup_full_usage \ 1271#define ifup_full_usage \
1272 "ifup <options> <ifaces...>\n\n" \ 1272 "ifup <options> <ifaces...>\n\n" \
1273 "Options:\n" \ 1273 "Options:\n" \
1274 "\t-h\tthis help\n" \ 1274 " -h this help\n" \
1275 "\t-a\tde/configure all interfaces automatically\n" \ 1275 " -a de/configure all interfaces automatically\n" \
1276 "\t-i FILE\tuse FILE for interface definitions\n" \ 1276 " -i FILE use FILE for interface definitions\n" \
1277 "\t-n\tprint out what would happen, but don't do it\n" \ 1277 " -n print out what would happen, but don't do it\n" \
1278 "\t\t\t(note that this option doesn't disable mappings)\n" \ 1278 " (note that this option doesn't disable mappings)\n" \
1279 "\t-v\tprint out what would happen before doing it\n" \ 1279 " -v print out what would happen before doing it\n" \
1280 "\t-m\tdon't run any mappings\n" \ 1280 " -m don't run any mappings\n" \
1281 "\t-f\tforce de/configuration" 1281 " -f force de/configuration"
1282 1282
1283#define ifdown_trivial_usage \ 1283#define ifdown_trivial_usage \
1284 "<-ahinv> <ifaces...>" 1284 "<-ahinv> <ifaces...>"
1285#define ifdown_full_usage \ 1285#define ifdown_full_usage \
1286 "ifdown <options> <ifaces...>\n\n" \ 1286 "ifdown <options> <ifaces...>\n\n" \
1287 "Options:\n" \ 1287 "Options:\n" \
1288 "\t-h\tthis help\n" \ 1288 " -h this help\n" \
1289 "\t-a\tde/configure all interfaces automatically\n" \ 1289 " -a de/configure all interfaces automatically\n" \
1290 "\t-i FILE\tuse FILE for interface definitions\n" \ 1290 " -i FILE use FILE for interface definitions\n" \
1291 "\t-n\tprint out what would happen, but don't do it\n" \ 1291 " -n print out what would happen, but don't do it\n" \
1292 "\t\t(note that this option doesn't disable mappings)\n" \ 1292 " (note that this option doesn't disable mappings)\n" \
1293 "\t-v\tprint out what would happen before doing it\n" \ 1293 " -v print out what would happen before doing it\n" \
1294 "\t-m\tdon't run any mappings\n" \ 1294 " -m don't run any mappings\n" \
1295 "\t-f\tforce de/configuration" 1295 " -f force de/configuration"
1296 1296
1297#define inetd_trivial_usage \ 1297#define inetd_trivial_usage \
1298 "[-f] [-q len] [conf]" 1298 "[-f] [-q len] [conf]"
1299#define inetd_full_usage \ 1299#define inetd_full_usage \
1300 "Listens for network connections and launches programs\n\n" \ 1300 "Listens for network connections and launches programs\n\n" \
1301 "Option:\n" \ 1301 "Option:\n" \
1302 "\t-f\tRun as a foreground progress\n" \ 1302 " -f Run as a foreground progress\n" \
1303 "\t-q\tSets the size of the socket listen queue to\n" \ 1303 " -q Sets the size of the socket listen queue to\n" \
1304 "\t\tthe specified value. Default is 128" 1304 " the specified value. Default is 128"
1305 1305
1306#define init_trivial_usage \ 1306#define init_trivial_usage \
1307 "" 1307 ""
1308#define init_full_usage \ 1308#define init_full_usage \
1309 "Init is the parent of all processes." 1309 "Init is the parent of all processes."
1310#define init_notes_usage \ 1310#define init_notes_usage \
1311"This version of init is designed to be run only by the kernel.\n" \ 1311"This version of init is designed to be run only by the kernel.\n" \
1312"\n" \ 1312"\n" \
@@ -1435,285 +1435,285 @@ USE_FEATURE_DATE_ISOFMT( \
1435" ::shutdown:/sbin/swapoff -a\n" 1435" ::shutdown:/sbin/swapoff -a\n"
1436 1436
1437#define insmod_trivial_usage \ 1437#define insmod_trivial_usage \
1438 "[OPTION]... MODULE [symbol=value]..." 1438 "[OPTION]... MODULE [symbol=value]..."
1439#define insmod_full_usage \ 1439#define insmod_full_usage \
1440 "Loads the specified kernel modules into the kernel.\n\n" \ 1440 "Loads the specified kernel modules into the kernel.\n\n" \
1441 "Options:\n" \ 1441 "Options:\n" \
1442 "\t-f\tForce module to load into the wrong kernel version\n" \ 1442 " -f Force module to load into the wrong kernel version\n" \
1443 "\t-k\tMake module autoclean-able\n" \ 1443 " -k Make module autoclean-able\n" \
1444 "\t-v\tverbose output\n" \ 1444 " -v verbose output\n" \
1445 "\t-q\tquiet output\n" \ 1445 " -q quiet output\n" \
1446 "\t-L\tLock to prevent simultaneous loads of a module\n" \ 1446 " -L Lock to prevent simultaneous loads of a module\n" \
1447 USE_FEATURE_INSMOD_LOAD_MAP("\t-m\tOutput load map to stdout\n") \ 1447 USE_FEATURE_INSMOD_LOAD_MAP(" -m Output load map to stdout\n") \
1448 "\t-o NAME\tSet internal module name to NAME\n" \ 1448 " -o NAME Set internal module name to NAME\n" \
1449 "\t-x\tdo not export externs" 1449 " -x do not export externs"
1450 1450
1451#define install_trivial_usage \ 1451#define install_trivial_usage \
1452 "[-cgmops] [sources] <dest|directory>" 1452 "[-cgmops] [sources] <dest|directory>"
1453#define install_full_usage \ 1453#define install_full_usage \
1454 "Copies files and set attributes\n\n" \ 1454 "Copies files and set attributes\n\n" \
1455 "Options:\n" \ 1455 "Options:\n" \
1456 "\t-c\tcopy the file, default\n" \ 1456 " -c copy the file, default\n" \
1457 "\t-d\tcreate directories\n" \ 1457 " -d create directories\n" \
1458 "\t-g\tset group ownership\n" \ 1458 " -g set group ownership\n" \
1459 "\t-m\tset permission modes\n" \ 1459 " -m set permission modes\n" \
1460 "\t-o\tset ownership\n" \ 1460 " -o set ownership\n" \
1461 "\t-p\tpreserve date\n" \ 1461 " -p preserve date\n" \
1462 "\t-s\tstrip symbol tables" 1462 " -s strip symbol tables"
1463 1463
1464#define ip_trivial_usage \ 1464#define ip_trivial_usage \
1465 "[OPTIONS] {address | link | route | tunnel | rule} {COMMAND}" 1465 "[OPTIONS] {address | link | route | tunnel | rule} {COMMAND}"
1466#define ip_full_usage \ 1466#define ip_full_usage \
1467 "ip [OPTIONS] OBJECT {COMMAND}\n" \ 1467 "ip [OPTIONS] OBJECT {COMMAND}\n" \
1468 "where OBJECT := {link | addr | route | tunnel |rule}\n" \ 1468 "where OBJECT := {link | addr | route | tunnel |rule}\n" \
1469 "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" 1469 "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }"
1470 1470
1471#define ipaddr_trivial_usage \ 1471#define ipaddr_trivial_usage \
1472 "{ {add|del} IFADDR dev STRING | {show|flush}\n" \ 1472 "{ {add|del} IFADDR dev STRING | {show|flush}\n" \
1473 "\t\t[ dev STRING ] [ to PREFIX ] }" 1473 " [ dev STRING ] [ to PREFIX ] }"
1474#define ipaddr_full_usage \ 1474#define ipaddr_full_usage \
1475 "ipaddr {add|delete} IFADDR dev STRING\n" \ 1475 "ipaddr {add|delete} IFADDR dev STRING\n" \
1476 "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \ 1476 "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \
1477 "\t\t\t[ to PREFIX ] [ label PATTERN ]\n" \ 1477 " [ to PREFIX ] [ label PATTERN ]\n" \
1478 "\t\t\tIFADDR := PREFIX | ADDR peer PREFIX\n" \ 1478 " IFADDR := PREFIX | ADDR peer PREFIX\n" \
1479 "\t\t\t[ broadcast ADDR ] [ anycast ADDR ]\n" \ 1479 " [ broadcast ADDR ] [ anycast ADDR ]\n" \
1480 "\t\t\t[ label STRING ] [ scope SCOPE-ID ]\n" \ 1480 " [ label STRING ] [ scope SCOPE-ID ]\n" \
1481 "\t\t\tSCOPE-ID := [ host | link | global | NUMBER ]" 1481 " SCOPE-ID := [ host | link | global | NUMBER ]"
1482 1482
1483#define ipcalc_trivial_usage \ 1483#define ipcalc_trivial_usage \
1484 "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]" 1484 "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]"
1485#define ipcalc_full_usage \ 1485#define ipcalc_full_usage \
1486 "Calculate IP network settings from a IP address\n\n" \ 1486 "Calculate IP network settings from a IP address\n\n" \
1487 "Options:\n" \ 1487 "Options:\n" \
1488 "\t-b\t--broadcast\tDisplay calculated broadcast address\n" \ 1488 " -b --broadcast Display calculated broadcast address\n" \
1489 "\t-n\t--network\tDisplay calculated network address\n" \ 1489 " -n --network Display calculated network address\n" \
1490 "\t-m\t--netmask\tDisplay default netmask for IP" \ 1490 " -m --netmask Display default netmask for IP" \
1491 USE_FEATURE_IPCALC_FANCY( \ 1491 USE_FEATURE_IPCALC_FANCY( \
1492 "\n\t-p\t--prefix\tDisplay the prefix for IP/NETMASK\n" \ 1492 "\n -p --prefix Display the prefix for IP/NETMASK\n" \
1493 "\t-h\t--hostname\tDisplay first resolved host name\n" \ 1493 " -h --hostname Display first resolved host name\n" \
1494 "\t-s\t--silent\tDon't ever display error messages") 1494 " -s --silent Don't ever display error messages")
1495 1495
1496#define ipcrm_trivial_usage \ 1496#define ipcrm_trivial_usage \
1497 "[-[MQS] key] [-[mqs] id]" 1497 "[-[MQS] key] [-[mqs] id]"
1498#define ipcrm_full_usage \ 1498#define ipcrm_full_usage \
1499 "The upper-case options MQS are used to remove a shared memory segment by a\n" \ 1499 "The upper-case options MQS are used to remove a shared memory segment by a\n" \
1500 "segment by a shmkey value. The lower-case options mqs are used\n" \ 1500 "segment by a shmkey value. The lower-case options mqs are used\n" \
1501 "to remove a segment by shmid value.\n" \ 1501 "to remove a segment by shmid value.\n" \
1502 "\t-[mM]\tRemove the memory segment after the last detach\n" \ 1502 " -[mM] Remove the memory segment after the last detach\n" \
1503 "\t-[qQ]\tRemove the message queue\n" \ 1503 " -[qQ] Remove the message queue\n" \
1504 "\t-[sS]\tRemove the semaphore" 1504 " -[sS] Remove the semaphore"
1505 1505
1506#define ipcs_trivial_usage \ 1506#define ipcs_trivial_usage \
1507 "[[-smq] -i shmid] | [[-asmq] [-tcplu]]" 1507 "[[-smq] -i shmid] | [[-asmq] [-tcplu]]"
1508#define ipcs_full_usage \ 1508#define ipcs_full_usage \
1509 "\t-i\tspecify a specific resource id\n" \ 1509 " -i specify a specific resource id\n" \
1510 "Resource specification:\n" \ 1510 "Resource specification:\n" \
1511 "\t-m\tshared memory segments\n" \ 1511 " -m shared memory segments\n" \
1512 "\t-q\tmessage queues\n" \ 1512 " -q message queues\n" \
1513 "\t-s\tsemaphore arrays\n" \ 1513 " -s semaphore arrays\n" \
1514 "\t-a\tall (default)\n" \ 1514 " -a all (default)\n" \
1515 "Output format:\n" \ 1515 "Output format:\n" \
1516 "\t-t\ttime\n" \ 1516 " -t time\n" \
1517 "\t-c\tcreator\n" \ 1517 " -c creator\n" \
1518 "\t-p\tpid\n" \ 1518 " -p pid\n" \
1519 "\t-l\tlimits\n" \ 1519 " -l limits\n" \
1520 "\t-u\tsummary" 1520 " -u summary"
1521 1521
1522#define iplink_trivial_usage \ 1522#define iplink_trivial_usage \
1523 "{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }" 1523 "{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }"
1524#define iplink_full_usage \ 1524#define iplink_full_usage \
1525 "iplink set DEVICE { up | down | arp { on | off } |\n" \ 1525 "iplink set DEVICE { up | down | arp { on | off } |\n" \
1526 "\t\t\tdynamic { on | off } |\n" \ 1526 " dynamic { on | off } |\n" \
1527 "\t\t\tmtu MTU }\n" \ 1527 " mtu MTU }\n" \
1528 "\tiplink show [ DEVICE ]" 1528 " iplink show [ DEVICE ]"
1529 1529
1530#define iproute_trivial_usage \ 1530#define iproute_trivial_usage \
1531 "{ list | flush | { add | del | change | append |\n" \ 1531 "{ list | flush | { add | del | change | append |\n" \
1532 "\t\treplace | monitor } ROUTE }" 1532 " replace | monitor } ROUTE }"
1533#define iproute_full_usage \ 1533#define iproute_full_usage \
1534 "iproute { list | flush } SELECTOR\n" \ 1534 "iproute { list | flush } SELECTOR\n" \
1535 "iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \ 1535 "iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \
1536 "\t\t\t[ oif STRING ] [ tos TOS ]\n" \ 1536 " [ oif STRING ] [ tos TOS ]\n" \
1537 "\tiproute { add | del | change | append | replace | monitor } ROUTE\n" \ 1537 " iproute { add | del | change | append | replace | monitor } ROUTE\n" \
1538 "\t\t\tSELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \ 1538 " SELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \
1539 "\t\t\tROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]" 1539 " ROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]"
1540 1540
1541#define iprule_trivial_usage \ 1541#define iprule_trivial_usage \
1542 "{[ list | add | del ] RULE}" 1542 "{[ list | add | del ] RULE}"
1543#define iprule_full_usage \ 1543#define iprule_full_usage \
1544 "iprule [ list | add | del ] SELECTOR ACTION\n" \ 1544 "iprule [ list | add | del ] SELECTOR ACTION\n" \
1545 "\tSELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK ]\n" \ 1545 " SELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK ]\n" \
1546 "\t\t\t[ dev STRING ] [ pref NUMBER ]\n" \ 1546 " [ dev STRING ] [ pref NUMBER ]\n" \
1547 "\tACTION := [ table TABLE_ID ] [ nat ADDRESS ]\n" \ 1547 " ACTION := [ table TABLE_ID ] [ nat ADDRESS ]\n" \
1548 "\t\t\t[ prohibit | reject | unreachable ]\n" \ 1548 " [ prohibit | reject | unreachable ]\n" \
1549 "\t\t\t[ realms [SRCREALM/]DSTREALM ]\n" \ 1549 " [ realms [SRCREALM/]DSTREALM ]\n" \
1550 "\tTABLE_ID := [ local | main | default | NUMBER ]" 1550 " TABLE_ID := [ local | main | default | NUMBER ]"
1551 1551
1552#define iptunnel_trivial_usage \ 1552#define iptunnel_trivial_usage \
1553 "{ add | change | del | show } [ NAME ]\n" \ 1553 "{ add | change | del | show } [ NAME ]\n" \
1554 "\t\t[ mode { ipip | gre | sit } ]\n" \ 1554 " [ mode { ipip | gre | sit } ]\n" \
1555 "\t\t[ remote ADDR ] [ local ADDR ] [ ttl TTL ]" 1555 " [ remote ADDR ] [ local ADDR ] [ ttl TTL ]"
1556#define iptunnel_full_usage \ 1556#define iptunnel_full_usage \
1557 "iptunnel { add | change | del | show } [ NAME ]\n" \ 1557 "iptunnel { add | change | del | show } [ NAME ]\n" \
1558 "\t\t\t[ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \ 1558 " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
1559 "\t\t\t[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \ 1559 " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
1560 "\t\t\t[ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]" 1560 " [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]"
1561 1561
1562#define kill_trivial_usage \ 1562#define kill_trivial_usage \
1563 "[-l] [-signal] process-id [process-id ...]" 1563 "[-l] [-signal] process-id [process-id ...]"
1564#define kill_full_usage \ 1564#define kill_full_usage \
1565 "Send a signal (default is TERM) to the specified process(es).\n\n" \ 1565 "Send a signal (default is TERM) to the specified process(es).\n\n" \
1566 "Options:\n" \ 1566 "Options:\n" \
1567 "\t-l\tList all signal names and numbers" 1567 " -l List all signal names and numbers"
1568#define kill_example_usage \ 1568#define kill_example_usage \
1569 "$ ps | grep apache\n" \ 1569 "$ ps | grep apache\n" \
1570 "252 root root S [apache]\n" \ 1570 "252 root root S [apache]\n" \
1571 "263 www-data www-data S [apache]\n" \ 1571 "263 www-data www-data S [apache]\n" \
1572 "264 www-data www-data S [apache]\n" \ 1572 "264 www-data www-data S [apache]\n" \
1573 "265 www-data www-data S [apache]\n" \ 1573 "265 www-data www-data S [apache]\n" \
1574 "266 www-data www-data S [apache]\n" \ 1574 "266 www-data www-data S [apache]\n" \
1575 "267 www-data www-data S [apache]\n" \ 1575 "267 www-data www-data S [apache]\n" \
1576 "$ kill 252\n" 1576 "$ kill 252\n"
1577 1577
1578#define killall_trivial_usage \ 1578#define killall_trivial_usage \
1579 "[-l] [-q] [-signal] process-name [process-name ...]" 1579 "[-l] [-q] [-signal] process-name [process-name ...]"
1580#define killall_full_usage \ 1580#define killall_full_usage \
1581 "Send a signal (default is TERM) to the specified process(es).\n\n" \ 1581 "Send a signal (default is TERM) to the specified process(es).\n\n" \
1582 "Options:\n" \ 1582 "Options:\n" \
1583 "\t-l\tList all signal names and numbers\n" \ 1583 " -l List all signal names and numbers\n" \
1584 "\t-q\tDo not complain if no processes were killed" 1584 " -q Do not complain if no processes were killed"
1585#define killall_example_usage \ 1585#define killall_example_usage \
1586 "$ killall apache\n" 1586 "$ killall apache\n"
1587 1587
1588#define killall5_trivial_usage \ 1588#define killall5_trivial_usage \
1589 "[-l] [-signal]" 1589 "[-l] [-signal]"
1590#define killall5_full_usage \ 1590#define killall5_full_usage \
1591 "Send a signal (default is TERM) to all processes outside current session.\n\n" \ 1591 "Send a signal (default is TERM) to all processes outside current session.\n\n" \
1592 "Options:\n" \ 1592 "Options:\n" \
1593 "\t-l\tList all signal names and numbers\n" \ 1593 " -l List all signal names and numbers\n" \
1594 1594
1595#define klogd_trivial_usage \ 1595#define klogd_trivial_usage \
1596 "[-c n] [-n]" 1596 "[-c n] [-n]"
1597#define klogd_full_usage \ 1597#define klogd_full_usage \
1598 "Kernel logger.\n" \ 1598 "Kernel logger.\n" \
1599 "Options:\n" \ 1599 "Options:\n" \
1600 "\t-c n\tSets the default log level of console messages to n\n" \ 1600 " -c n Sets the default log level of console messages to n\n" \
1601 "\t-n\tRun as a foreground process" 1601 " -n Run as a foreground process"
1602 1602
1603#define length_trivial_usage \ 1603#define length_trivial_usage \
1604 "STRING" 1604 "STRING"
1605#define length_full_usage \ 1605#define length_full_usage \
1606 "Prints out the length of the specified STRING." 1606 "Prints out the length of the specified STRING."
1607#define length_example_usage \ 1607#define length_example_usage \
1608 "$ length Hello\n" \ 1608 "$ length Hello\n" \
1609 "5\n" 1609 "5\n"
1610 1610
1611#define less_trivial_usage \ 1611#define less_trivial_usage \
1612 "[-EMNmh~?] FILE1 FILE2..." 1612 "[-EMNmh~?] FILE1 FILE2..."
1613#define less_full_usage \ 1613#define less_full_usage \
1614 "View a file or list of files. The position within files can be\n" \ 1614 "View a file or list of files. The position within files can be\n" \
1615 "changed, and files can be manipulated in various ways with the\n" \ 1615 "changed, and files can be manipulated in various ways with the\n" \
1616 "following options:\n\n" \ 1616 "following options:\n\n" \
1617 "\t-E\tQuit once the end of a file is reached\n" \ 1617 " -E Quit once the end of a file is reached\n" \
1618 "\t-M\tDisplay a status line containing the current line numbers\n" \ 1618 " -M Display a status line containing the current line numbers\n" \
1619 "\t\tand the percentage through the file\n" \ 1619 " and the percentage through the file\n" \
1620 "\t-N\tPrefix line numbers to each line\n" \ 1620 " -N Prefix line numbers to each line\n" \
1621 "\t-m\tDisplay a status line containing the percentage through the\n" \ 1621 " -m Display a status line containing the percentage through the\n" \
1622 "\t\tfile\n" \ 1622 " file\n" \
1623 "\t-~\tSuppress ~s displayed when input past the end of the file is\n" \ 1623 " -~ Suppress ~s displayed when input past the end of the file is\n" \
1624 "\t\treached.\n" \ 1624 " reached.\n" \
1625 "\t-h, -?\tDisplay this help message" 1625 " -h, -? Display this help message"
1626 1626
1627#define setarch_trivial_usage \ 1627#define setarch_trivial_usage \
1628 "<personality> <program> [args ...]" 1628 "<personality> <program> [args ...]"
1629#define setarch_full_usage \ 1629#define setarch_full_usage \
1630 "Personality may be:\n" \ 1630 "Personality may be:\n" \
1631 "\tlinux32\tSet 32bit uname emulation\n" \ 1631 " linux32 Set 32bit uname emulation\n" \
1632 "\tlinux64\tSet 64bit uname emulation" 1632 " linux64 Set 64bit uname emulation"
1633 1633
1634#define ln_trivial_usage \ 1634#define ln_trivial_usage \
1635 "[OPTION] TARGET... LINK_NAME|DIRECTORY" 1635 "[OPTION] TARGET... LINK_NAME|DIRECTORY"
1636#define ln_full_usage \ 1636#define ln_full_usage \
1637 "Create a link named LINK_NAME or DIRECTORY to the specified TARGET\n" \ 1637 "Create a link named LINK_NAME or DIRECTORY to the specified TARGET\n" \
1638 "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" \ 1638 "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" \
1639 "Options:\n" \ 1639 "Options:\n" \
1640 "\t-s\tmake symbolic links instead of hard links\n" \ 1640 " -s make symbolic links instead of hard links\n" \
1641 "\t-f\tremove existing destination files\n" \ 1641 " -f remove existing destination files\n" \
1642 "\t-n\tno dereference symlinks - treat like normal file\n" \ 1642 " -n no dereference symlinks - treat like normal file\n" \
1643 "\t-b\tmake a backup of the target (if exists) before link operation\n" \ 1643 " -b make a backup of the target (if exists) before link operation\n" \
1644 "\t-S suffix\tuse suffix instead of ~ when making backup files" 1644 " -S suffix use suffix instead of ~ when making backup files"
1645#define ln_example_usage \ 1645#define ln_example_usage \
1646 "$ ln -s BusyBox /tmp/ls\n" \ 1646 "$ ln -s BusyBox /tmp/ls\n" \
1647 "$ ls -l /tmp/ls\n" \ 1647 "$ ls -l /tmp/ls\n" \
1648 "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n" 1648 "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n"
1649 1649
1650#define loadfont_trivial_usage \ 1650#define loadfont_trivial_usage \
1651 "< font" 1651 "< font"
1652#define loadfont_full_usage \ 1652#define loadfont_full_usage \
1653 "Loads a console font from standard input." 1653 "Loads a console font from standard input."
1654#define loadfont_example_usage \ 1654#define loadfont_example_usage \
1655 "$ loadfont < /etc/i18n/fontname\n" 1655 "$ loadfont < /etc/i18n/fontname\n"
1656 1656
1657#define loadkmap_trivial_usage \ 1657#define loadkmap_trivial_usage \
1658 "< keymap" 1658 "< keymap"
1659#define loadkmap_full_usage \ 1659#define loadkmap_full_usage \
1660 "Loads a binary keyboard translation table from standard input." 1660 "Loads a binary keyboard translation table from standard input."
1661#define loadkmap_example_usage \ 1661#define loadkmap_example_usage \
1662 "$ loadkmap < /etc/i18n/lang-keymap\n" 1662 "$ loadkmap < /etc/i18n/lang-keymap\n"
1663 1663
1664#define logger_trivial_usage \ 1664#define logger_trivial_usage \
1665 "[OPTION]... [MESSAGE]" 1665 "[OPTION]... [MESSAGE]"
1666#define logger_full_usage \ 1666#define logger_full_usage \
1667 "Write MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" \ 1667 "Write MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" \
1668 "Options:\n" \ 1668 "Options:\n" \
1669 "\t-s\tLog to stderr as well as the system log\n" \ 1669 " -s Log to stderr as well as the system log\n" \
1670 "\t-t TAG\tLog using the specified tag (defaults to user name)\n" \ 1670 " -t TAG Log using the specified tag (defaults to user name)\n" \
1671 "\t-p PRIORITY\tEnter the message with the specified priority\n" \ 1671 " -p PRIORITY Enter the message with the specified priority\n" \
1672 "\t\tThis may be numerical or a 'facility.level' pair" 1672 " This may be numerical or a 'facility.level' pair"
1673#define logger_example_usage \ 1673#define logger_example_usage \
1674 "$ logger \"hello\"\n" 1674 "$ logger \"hello\"\n"
1675 1675
1676#define login_trivial_usage \ 1676#define login_trivial_usage \
1677 "[OPTION]... [username] [ENV=VAR ...]" 1677 "[OPTION]... [username] [ENV=VAR ...]"
1678#define login_full_usage \ 1678#define login_full_usage \
1679 "Begin a new session on the system\n\n" \ 1679 "Begin a new session on the system\n\n" \
1680 "Options:\n" \ 1680 "Options:\n" \
1681 "\t-f\tDo not authenticate (user already authenticated)\n" \ 1681 " -f Do not authenticate (user already authenticated)\n" \
1682 "\t-h\tName of the remote host for this login\n" \ 1682 " -h Name of the remote host for this login\n" \
1683 "\t-p\tPreserve environment" 1683 " -p Preserve environment"
1684 1684
1685#define logname_trivial_usage \ 1685#define logname_trivial_usage \
1686 "" 1686 ""
1687#define logname_full_usage \ 1687#define logname_full_usage \
1688 "Print the name of the current user." 1688 "Print the name of the current user."
1689#define logname_example_usage \ 1689#define logname_example_usage \
1690 "$ logname\n" \ 1690 "$ logname\n" \
1691 "root\n" 1691 "root\n"
1692 1692
1693#define logread_trivial_usage \ 1693#define logread_trivial_usage \
1694 "[OPTION]..." 1694 "[OPTION]..."
1695#define logread_full_usage \ 1695#define logread_full_usage \
1696 "Shows the messages from syslogd (using circular buffer).\n\n" \ 1696 "Shows the messages from syslogd (using circular buffer).\n\n" \
1697 "Options:\n" \ 1697 "Options:\n" \
1698 "\t-f\t\toutput data as the log grows" 1698 " -f output data as the log grows"
1699 1699
1700#define losetup_trivial_usage \ 1700#define losetup_trivial_usage \
1701 "[-o OFFSET] [-d] LOOPDEVICE [FILE]]" 1701 "[-o OFFSET] [-d] LOOPDEVICE [FILE]]"
1702#define losetup_full_usage \ 1702#define losetup_full_usage \
1703 "(Dis)associate LOOPDEVICE with FILE, or display current associations.\n\n" \ 1703 "(Dis)associate LOOPDEVICE with FILE, or display current associations.\n\n" \
1704 "Options:\n" \ 1704 "Options:\n" \
1705 "\t-d\t\tDisassociate LOOPDEVICE\n" \ 1705 " -d Disassociate LOOPDEVICE\n" \
1706 "\t-o OFFSET\tStart OFFSET bytes into FILE" 1706 " -o OFFSET Start OFFSET bytes into FILE"
1707#define losetup_notes_usage \ 1707#define losetup_notes_usage \
1708 "No arguments will display all current associations.\n" \ 1708 "No arguments will display all current associations.\n" \
1709 "One argument (losetup /dev/loop1) will display the current association\n" \ 1709 "One argument (losetup /dev/loop1) will display the current association\n" \
1710 "(if any), or disassociate it (with -d). The display shows the offset\n" \ 1710 "(if any), or disassociate it (with -d). The display shows the offset\n" \
1711 "and filename of the file the loop device is currently bound to.\n\n" \ 1711 "and filename of the file the loop device is currently bound to.\n\n" \
1712 "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ 1712 "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \
1713 "with an optional offset (-o 12345). Encryption is not yet supported.\n\n" 1713 "with an optional offset (-o 12345). Encryption is not yet supported.\n\n"
1714 1714
1715#define ls_trivial_usage \ 1715#define ls_trivial_usage \
1716 "[-1Aa" USE_FEATURE_LS_TIMESTAMPS("c") "Cd" \ 1716 "[-1Aa" USE_FEATURE_LS_TIMESTAMPS("c") "Cd" \
1717 USE_FEATURE_LS_TIMESTAMPS("e") USE_FEATURE_LS_FILETYPES("F") "iln" \ 1717 USE_FEATURE_LS_TIMESTAMPS("e") USE_FEATURE_LS_FILETYPES("F") "iln" \
1718 USE_FEATURE_LS_FILETYPES("p") USE_FEATURE_LS_FOLLOWLINKS("L") \ 1718 USE_FEATURE_LS_FILETYPES("p") USE_FEATURE_LS_FOLLOWLINKS("L") \
1719 USE_FEATURE_LS_RECURSIVE("R") USE_FEATURE_LS_SORTFILES("rS") "s" \ 1719 USE_FEATURE_LS_RECURSIVE("R") USE_FEATURE_LS_SORTFILES("rS") "s" \
@@ -1722,143 +1722,143 @@ USE_FEATURE_DATE_ISOFMT( \
1722 USE_FEATURE_LS_SORTFILES("X") USE_FEATURE_HUMAN_READABLE("h") "k" \ 1722 USE_FEATURE_LS_SORTFILES("X") USE_FEATURE_HUMAN_READABLE("h") "k" \
1723 USE_SELINUX("K") "] [filenames...]" 1723 USE_SELINUX("K") "] [filenames...]"
1724#define ls_full_usage \ 1724#define ls_full_usage \
1725 "List directory contents\n\n" \ 1725 "List directory contents\n\n" \
1726 "Options:\n" \ 1726 "Options:\n" \
1727 "\t-1\tlist files in a single column\n" \ 1727 " -1 list files in a single column\n" \
1728 "\t-A\tdo not list implied . and ..\n" \ 1728 " -A do not list implied . and ..\n" \
1729 "\t-a\tdo not hide entries starting with .\n" \ 1729 " -a do not hide entries starting with .\n" \
1730 "\t-C\tlist entries by columns\n" \ 1730 " -C list entries by columns\n" \
1731 USE_FEATURE_LS_TIMESTAMPS("\t-c\twith -l: show ctime\n") \ 1731 USE_FEATURE_LS_TIMESTAMPS(" -c with -l: show ctime\n") \
1732 USE_FEATURE_LS_COLOR("\t--color[={always,never,auto}]\tto control coloring\n") \ 1732 USE_FEATURE_LS_COLOR(" --color[={always,never,auto}] to control coloring\n") \
1733 "\t-d\tlist directory entries instead of contents\n" \ 1733 " -d list directory entries instead of contents\n" \
1734 USE_FEATURE_LS_TIMESTAMPS("\t-e\tlist both full date and full time\n") \ 1734 USE_FEATURE_LS_TIMESTAMPS(" -e list both full date and full time\n") \
1735 USE_FEATURE_LS_FILETYPES("\t-F\tappend indicator (one of */=@|) to entries\n") \ 1735 USE_FEATURE_LS_FILETYPES(" -F append indicator (one of */=@|) to entries\n") \
1736 "\t-i\tlist the i-node for each file\n" \ 1736 " -i list the i-node for each file\n" \
1737 "\t-l\tuse a long listing format\n" \ 1737 " -l use a long listing format\n" \
1738 "\t-n\tlist numeric UIDs and GIDs instead of names\n" \ 1738 " -n list numeric UIDs and GIDs instead of names\n" \
1739 USE_FEATURE_LS_FILETYPES("\t-p\tappend indicator (one of /=@|) to entries\n") \ 1739 USE_FEATURE_LS_FILETYPES(" -p append indicator (one of /=@|) to entries\n") \
1740 USE_FEATURE_LS_FOLLOWLINKS("\t-L\tlist entries pointed to by symbolic links\n") \ 1740 USE_FEATURE_LS_FOLLOWLINKS(" -L list entries pointed to by symbolic links\n") \
1741 USE_FEATURE_LS_RECURSIVE("\t-R\tlist subdirectories recursively\n") \ 1741 USE_FEATURE_LS_RECURSIVE(" -R list subdirectories recursively\n") \
1742 USE_FEATURE_LS_SORTFILES("\t-r\tsort the listing in reverse order\n") \ 1742 USE_FEATURE_LS_SORTFILES(" -r sort the listing in reverse order\n") \
1743 USE_FEATURE_LS_SORTFILES("\t-S\tsort the listing by file size\n") \ 1743 USE_FEATURE_LS_SORTFILES(" -S sort the listing by file size\n") \
1744 "\t-s\tlist the size of each file, in blocks\n" \ 1744 " -s list the size of each file, in blocks\n" \
1745 USE_FEATURE_AUTOWIDTH("\t-T NUM\tassume Tabstop every NUM columns\n") \ 1745 USE_FEATURE_AUTOWIDTH(" -T NUM assume Tabstop every NUM columns\n") \
1746 USE_FEATURE_LS_TIMESTAMPS("\t-t\twith -l: show modification time\n") \ 1746 USE_FEATURE_LS_TIMESTAMPS(" -t with -l: show modification time\n") \
1747 USE_FEATURE_LS_TIMESTAMPS("\t-u\twith -l: show access time\n") \ 1747 USE_FEATURE_LS_TIMESTAMPS(" -u with -l: show access time\n") \
1748 USE_FEATURE_LS_SORTFILES("\t-v\tsort the listing by version\n") \ 1748 USE_FEATURE_LS_SORTFILES(" -v sort the listing by version\n") \
1749 USE_FEATURE_AUTOWIDTH("\t-w NUM\tassume the terminal is NUM columns wide\n") \ 1749 USE_FEATURE_AUTOWIDTH(" -w NUM assume the terminal is NUM columns wide\n") \
1750 "\t-x\tlist entries by lines instead of by columns\n" \ 1750 " -x list entries by lines instead of by columns\n" \
1751 USE_FEATURE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \ 1751 USE_FEATURE_LS_SORTFILES(" -X sort the listing by extension\n") \
1752 USE_FEATURE_HUMAN_READABLE( \ 1752 USE_FEATURE_HUMAN_READABLE( \
1753 "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n") \ 1753 " -h print sizes in human readable format (e.g., 1K 243M 2G )\n") \
1754 USE_SELINUX("\t-k\tprint security context\n") \ 1754 USE_SELINUX(" -k print security context\n") \
1755 USE_SELINUX("\t-K\tprint security context in long format\n") 1755 USE_SELINUX(" -K print security context in long format\n")
1756 1756
1757#define lsattr_trivial_usage \ 1757#define lsattr_trivial_usage \
1758 "[-Radlv] [files...]" 1758 "[-Radlv] [files...]"
1759#define lsattr_full_usage \ 1759#define lsattr_full_usage \
1760 "list file attributes on an ext2 fs\n\n" \ 1760 "list file attributes on an ext2 fs\n\n" \
1761 "Options:\n" \ 1761 "Options:\n" \
1762 "\t-R\trecursively list subdirectories\n" \ 1762 " -R recursively list subdirectories\n" \
1763 "\t-a\tdo not hide entries starting with .\n" \ 1763 " -a do not hide entries starting with .\n" \
1764 "\t-d\tlist directory entries instead of contents\n" \ 1764 " -d list directory entries instead of contents\n" \
1765 "\t-l\tprint long flag names\n" \ 1765 " -l print long flag names\n" \
1766 "\t-v\tlist the file's version/generation number" 1766 " -v list the file's version/generation number"
1767 1767
1768#define lsmod_trivial_usage \ 1768#define lsmod_trivial_usage \
1769 "" 1769 ""
1770#define lsmod_full_usage \ 1770#define lsmod_full_usage \
1771 "List the currently loaded kernel modules." 1771 "List the currently loaded kernel modules."
1772 1772
1773#ifdef CONFIG_FEATURE_MAKEDEVS_LEAF 1773#ifdef CONFIG_FEATURE_MAKEDEVS_LEAF
1774#define makedevs_trivial_usage \ 1774#define makedevs_trivial_usage \
1775 "NAME TYPE MAJOR MINOR FIRST LAST [s]" 1775 "NAME TYPE MAJOR MINOR FIRST LAST [s]"
1776#define makedevs_full_usage \ 1776#define makedevs_full_usage \
1777 "Creates a range of block or character special files\n\n" \ 1777 "Creates a range of block or character special files\n\n" \
1778 "TYPEs include:\n" \ 1778 "TYPEs include:\n" \
1779 "\tb:\tMake a block (buffered) device.\n" \ 1779 " b: Make a block (buffered) device.\n" \
1780 "\tc or u:\tMake a character (un-buffered) device.\n" \ 1780 " c or u: Make a character (un-buffered) device.\n" \
1781 "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes.\n\n" \ 1781 " p: Make a named pipe. MAJOR and MINOR are ignored for named pipes.\n\n" \
1782 "FIRST specifies the number appended to NAME to create the first device.\n" \ 1782 "FIRST specifies the number appended to NAME to create the first device.\n" \
1783 "LAST specifies the number of the last item that should be created\n" \ 1783 "LAST specifies the number of the last item that should be created\n" \
1784 "If 's' is the last argument, the base device is created as well.\n\n" \ 1784 "If 's' is the last argument, the base device is created as well.\n\n" \
1785 "For example:\n" \ 1785 "For example:\n" \
1786 "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" \ 1786 " makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" \
1787 "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" 1787 " makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8"
1788#define makedevs_example_usage \ 1788#define makedevs_example_usage \
1789 "# makedevs /dev/ttyS c 4 66 2 63\n" \ 1789 "# makedevs /dev/ttyS c 4 66 2 63\n" \
1790 "[creates ttyS2-ttyS63]\n" \ 1790 "[creates ttyS2-ttyS63]\n" \
1791 "# makedevs /dev/hda b 3 0 0 8 s\n" \ 1791 "# makedevs /dev/hda b 3 0 0 8 s\n" \
1792 "[creates hda,hda1-hda8]\n" 1792 "[creates hda,hda1-hda8]\n"
1793#endif 1793#endif
1794 1794
1795#ifdef CONFIG_FEATURE_MAKEDEVS_TABLE 1795#ifdef CONFIG_FEATURE_MAKEDEVS_TABLE
1796#define makedevs_trivial_usage \ 1796#define makedevs_trivial_usage \
1797 "[-d device_table] rootdir" 1797 "[-d device_table] rootdir"
1798#define makedevs_full_usage \ 1798#define makedevs_full_usage \
1799 "Creates a range of special files as specified in a device table.\n" \ 1799 "Creates a range of special files as specified in a device table.\n" \
1800 "Device table entries take the form of:\n" \ 1800 "Device table entries take the form of:\n" \
1801 "<type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>\n" \ 1801 "<type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>\n" \
1802 "Where name is the file name, type can be one of:\n" \ 1802 "Where name is the file name, type can be one of:\n" \
1803 " f A regular file\n" \ 1803 " f A regular file\n" \
1804 " d Directory\n" \ 1804 " d Directory\n" \
1805 " c Character special device file\n" \ 1805 " c Character special device file\n" \
1806 " b Block special device file\n" \ 1806 " b Block special device file\n" \
1807 " p Fifo (named pipe)\n" \ 1807 " p Fifo (named pipe)\n" \
1808 "uid is the user id for the target file, gid is the group id for the\n" \ 1808 "uid is the user id for the target file, gid is the group id for the\n" \
1809 "target file. The rest of the entries (major, minor, etc) apply to\n" \ 1809 "target file. The rest of the entries (major, minor, etc) apply to\n" \
1810 "to device special files. A '-' may be used for blank entries." 1810 "to device special files. A '-' may be used for blank entries."
1811#define makedevs_example_usage \ 1811#define makedevs_example_usage \
1812 "For example:\n" \ 1812 "For example:\n" \
1813 "<name> <type> <mode><uid><gid><major><minor><start><inc><count>\n" \ 1813 "<name> <type> <mode><uid><gid><major><minor><start><inc><count>\n" \
1814 "/dev d 755 0 0 - - - - -\n" \ 1814 "/dev d 755 0 0 - - - - -\n" \
1815 "/dev/console c 666 0 0 5 1 - - -\n" \ 1815 "/dev/console c 666 0 0 5 1 - - -\n" \
1816 "/dev/null c 666 0 0 1 3 0 0 -\n" \ 1816 "/dev/null c 666 0 0 1 3 0 0 -\n" \
1817 "/dev/zero c 666 0 0 1 5 0 0 -\n" \ 1817 "/dev/zero c 666 0 0 1 5 0 0 -\n" \
1818 "/dev/hda b 640 0 0 3 0 0 0 -\n" \ 1818 "/dev/hda b 640 0 0 3 0 0 0 -\n" \
1819 "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \ 1819 "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \
1820 "Will Produce:\n" \ 1820 "Will Produce:\n" \
1821 "/dev\n" \ 1821 "/dev\n" \
1822 "/dev/console\n" \ 1822 "/dev/console\n" \
1823 "/dev/null\n" \ 1823 "/dev/null\n" \
1824 "/dev/zero\n" \ 1824 "/dev/zero\n" \
1825 "/dev/hda\n" \ 1825 "/dev/hda\n" \
1826 "/dev/hda[0-15]\n" 1826 "/dev/hda[0-15]\n"
1827#endif 1827#endif
1828 1828
1829#define md5sum_trivial_usage \ 1829#define md5sum_trivial_usage \
1830 "[OPTION] [FILEs...]" \ 1830 "[OPTION] [FILEs...]" \
1831 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]") 1831 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]")
1832#define md5sum_full_usage \ 1832#define md5sum_full_usage \
1833 "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums.\n\n" \ 1833 "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums.\n\n" \
1834 "Options:\n" \ 1834 "Options:\n" \
1835 "With no FILE, or when FILE is -, read standard input." \ 1835 "With no FILE, or when FILE is -, read standard input." \
1836 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \ 1836 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \
1837 "\t-c\tcheck MD5 sums against given list\n" \ 1837 " -c check MD5 sums against given list\n" \
1838 "\nThe following two options are useful only when verifying checksums:\n" \ 1838 "\nThe following two options are useful only when verifying checksums:\n" \
1839 "\t-s\tdon't output anything, status code shows success\n" \ 1839 " -s don't output anything, status code shows success\n" \
1840 "\t-w\twarn about improperly formatted MD5 checksum lines") 1840 " -w warn about improperly formatted MD5 checksum lines")
1841#define md5sum_example_usage \ 1841#define md5sum_example_usage \
1842 "$ md5sum < busybox\n" \ 1842 "$ md5sum < busybox\n" \
1843 "6fd11e98b98a58f64ff3398d7b324003\n" \ 1843 "6fd11e98b98a58f64ff3398d7b324003\n" \
1844 "$ md5sum busybox\n" \ 1844 "$ md5sum busybox\n" \
1845 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 1845 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \
1846 "$ md5sum -c -\n" \ 1846 "$ md5sum -c -\n" \
1847 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 1847 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \
1848 "busybox: OK\n" \ 1848 "busybox: OK\n" \
1849 "^D\n" 1849 "^D\n"
1850 1850
1851#define mdev_trivial_usage \ 1851#define mdev_trivial_usage \
1852 "[-s]" 1852 "[-s]"
1853#define mdev_full_usage \ 1853#define mdev_full_usage \
1854 "\t-s\tScan /sys and populate /dev during system boot\n\n" \ 1854 " -s Scan /sys and populate /dev during system boot\n\n" \
1855 "Called with no options (via hotplug) it uses environment variables\n" \ 1855 "Called with no options (via hotplug) it uses environment variables\n" \
1856 "to determine which device to add/remove." 1856 "to determine which device to add/remove."
1857#define mdev_notes_usage "" \ 1857#define mdev_notes_usage "" \
1858USE_FEATURE_MDEV_CONFIG( \ 1858USE_FEATURE_MDEV_CONFIG( \
1859 "The mdev config file contains lines that look like:\n" \ 1859 "The mdev config file contains lines that look like:\n" \
1860 " hd[a-z][0-9]* 0:3 660\n\n" \ 1860 " hd[a-z][0-9]* 0:3 660\n\n" \
1861 "That's device name (with regex match), uid:gid, and permissions.\n\n" \ 1861 "That's device name (with regex match), uid:gid, and permissions.\n\n" \
1862 USE_FEATURE_MDEV_EXEC( \ 1862 USE_FEATURE_MDEV_EXEC( \
1863 "Optionally, that can be followed (on the same line) by a special character\n" \ 1863 "Optionally, that can be followed (on the same line) by a special character\n" \
1864 "and a command line to run after creating/before deleting the corresponding\n" \ 1864 "and a command line to run after creating/before deleting the corresponding\n" \
@@ -1869,130 +1869,130 @@ USE_FEATURE_MDEV_CONFIG( \
1869 "and * (run both after creating and before deleting). The commands run in\n" \ 1869 "and * (run both after creating and before deleting). The commands run in\n" \
1870 "the /dev directory, and use system() which calls /bin/sh.\n\n" \ 1870 "the /dev directory, and use system() which calls /bin/sh.\n\n" \
1871 ) \ 1871 ) \
1872 "Config file parsing stops on the first matching line. If no config\n"\ 1872 "Config file parsing stops on the first matching line. If no config\n"\
1873 "entry is matched, devices are created with default 0:0 660. (Make\n"\ 1873 "entry is matched, devices are created with default 0:0 660. (Make\n"\
1874 "the last line match .* to override this.)\n\n" \ 1874 "the last line match .* to override this.)\n\n" \
1875) 1875)
1876 1876
1877#define mesg_trivial_usage \ 1877#define mesg_trivial_usage \
1878 "[y|n]" 1878 "[y|n]"
1879#define mesg_full_usage \ 1879#define mesg_full_usage \
1880 "mesg controls write access to your terminal\n" \ 1880 "mesg controls write access to your terminal\n" \
1881 "\ty\tAllow write access to your terminal\n" \ 1881 " y Allow write access to your terminal\n" \
1882 "\tn\tDisallow write access to your terminal" 1882 " n Disallow write access to your terminal"
1883 1883
1884#define mkdir_trivial_usage \ 1884#define mkdir_trivial_usage \
1885 "[OPTION] DIRECTORY..." 1885 "[OPTION] DIRECTORY..."
1886#define mkdir_full_usage \ 1886#define mkdir_full_usage \
1887 "Create the DIRECTORY(ies) if they do not already exist\n\n" \ 1887 "Create the DIRECTORY(ies) if they do not already exist\n\n" \
1888 "Options:\n" \ 1888 "Options:\n" \
1889 "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n" \ 1889 " -m set permission mode (as in chmod), not rwxrwxrwx - umask\n" \
1890 "\t-p\tno error if existing, make parent directories as needed" 1890 " -p no error if existing, make parent directories as needed"
1891#define mkdir_example_usage \ 1891#define mkdir_example_usage \
1892 "$ mkdir /tmp/foo\n" \ 1892 "$ mkdir /tmp/foo\n" \
1893 "$ mkdir /tmp/foo\n" \ 1893 "$ mkdir /tmp/foo\n" \
1894 "/tmp/foo: File exists\n" \ 1894 "/tmp/foo: File exists\n" \
1895 "$ mkdir /tmp/foo/bar/baz\n" \ 1895 "$ mkdir /tmp/foo/bar/baz\n" \
1896 "/tmp/foo/bar/baz: No such file or directory\n" \ 1896 "/tmp/foo/bar/baz: No such file or directory\n" \
1897 "$ mkdir -p /tmp/foo/bar/baz\n" 1897 "$ mkdir -p /tmp/foo/bar/baz\n"
1898 1898
1899#define mke2fs_trivial_usage \ 1899#define mke2fs_trivial_usage \
1900 "[-c|-l filename] [-b block-size] [-f fragment-size] [-g blocks-per-group] " \ 1900 "[-c|-l filename] [-b block-size] [-f fragment-size] [-g blocks-per-group] " \
1901 "[-i bytes-per-inode] [-j] [-J journal-options] [-N number-of-inodes] [-n] " \ 1901 "[-i bytes-per-inode] [-j] [-J journal-options] [-N number-of-inodes] [-n] " \
1902 "[-m reserved-blocks-percentage] [-o creator-os] [-O feature[,...]] [-q] " \ 1902 "[-m reserved-blocks-percentage] [-o creator-os] [-O feature[,...]] [-q] " \
1903 "[r fs-revision-level] [-E extended-options] [-v] [-F] [-L volume-label] " \ 1903 "[r fs-revision-level] [-E extended-options] [-v] [-F] [-L volume-label] " \
1904 "[-M last-mounted-directory] [-S] [-T filesystem-type] " \ 1904 "[-M last-mounted-directory] [-S] [-T filesystem-type] " \
1905 "device [blocks-count]" 1905 "device [blocks-count]"
1906#define mke2fs_full_usage \ 1906#define mke2fs_full_usage \
1907 "\t-b size\tblock size in bytes\n" \ 1907 " -b size block size in bytes\n" \
1908 "\t-c\tcheck for bad blocks before creating\n" \ 1908 " -c check for bad blocks before creating\n" \
1909 "\t-E opts\tset extended options\n" \ 1909 " -E opts set extended options\n" \
1910 "\t-f size\tfragment size in bytes\n" \ 1910 " -f size fragment size in bytes\n" \
1911 "\t-F\tforce (ignore sanity checks)\n" \ 1911 " -F force (ignore sanity checks)\n" \
1912 "\t-g num\tnumber of blocks in a block group\n" \ 1912 " -g num number of blocks in a block group\n" \
1913 "\t-i ratio\tthe bytes/inode ratio\n" \ 1913 " -i ratio the bytes/inode ratio\n" \
1914 "\t-j\tcreate a journal (ext3)\n" \ 1914 " -j create a journal (ext3)\n" \
1915 "\t-J opts\tset journal options (size/device)\n" \ 1915 " -J opts set journal options (size/device)\n" \
1916 "\t-l file\tread bad blocks list from file\n" \ 1916 " -l file read bad blocks list from file\n" \
1917 "\t-L lbl\tset the volume label\n" \ 1917 " -L lbl set the volume label\n" \
1918 "\t-m percent\tpercent of fs blocks to reserve for admin\n" \ 1918 " -m percent percent of fs blocks to reserve for admin\n" \
1919 "\t-M dir\tset last mounted directory\n" \ 1919 " -M dir set last mounted directory\n" \
1920 "\t-n\tdo not actually create anything\n" \ 1920 " -n do not actually create anything\n" \
1921 "\t-N num\tnumber of inodes to create\n" \ 1921 " -N num number of inodes to create\n" \
1922 "\t-o os\tset the 'creator os' field\n" \ 1922 " -o os set the 'creator os' field\n" \
1923 "\t-O features\tdir_index/filetype/has_journal/journal_dev/sparse_super\n" \ 1923 " -O features dir_index/filetype/has_journal/journal_dev/sparse_super\n" \
1924 "\t-q\tquiet execution\n" \ 1924 " -q quiet execution\n" \
1925 "\t-r rev\tset filesystem revision\n" \ 1925 " -r rev set filesystem revision\n" \
1926 "\t-S\twrite superblock and group descriptors only\n" \ 1926 " -S write superblock and group descriptors only\n" \
1927 "\t-T fs-type\tset usage type (news/largefile/largefile4)\n" \ 1927 " -T fs-type set usage type (news/largefile/largefile4)\n" \
1928 "\t-v\tverbose execution" 1928 " -v verbose execution"
1929 1929
1930#define mkfifo_trivial_usage \ 1930#define mkfifo_trivial_usage \
1931 "[OPTIONS] name" 1931 "[OPTIONS] name"
1932#define mkfifo_full_usage \ 1932#define mkfifo_full_usage \
1933 "Creates a named pipe (identical to 'mknod name p')\n\n" \ 1933 "Creates a named pipe (identical to 'mknod name p')\n\n" \
1934 "Options:\n" \ 1934 "Options:\n" \
1935 "\t-m\tcreate the pipe using the specified mode (default a=rw)" 1935 " -m create the pipe using the specified mode (default a=rw)"
1936 1936
1937#define mkfs_minix_trivial_usage \ 1937#define mkfs_minix_trivial_usage \
1938 "[-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]" 1938 "[-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
1939#define mkfs_minix_full_usage \ 1939#define mkfs_minix_full_usage \
1940 "Make a MINIX filesystem.\n\n" \ 1940 "Make a MINIX filesystem.\n\n" \
1941 "Options:\n" \ 1941 "Options:\n" \
1942 "\t-c\t\tCheck the device for bad blocks\n" \ 1942 " -c Check the device for bad blocks\n" \
1943 "\t-n [14|30]\tSpecify the maximum length of filenames\n" \ 1943 " -n [14|30] Specify the maximum length of filenames\n" \
1944 "\t-i INODES\tSpecify the number of inodes for the filesystem\n" \ 1944 " -i INODES Specify the number of inodes for the filesystem\n" \
1945 "\t-l FILENAME\tRead the bad blocks list from FILENAME\n" \ 1945 " -l FILENAME Read the bad blocks list from FILENAME\n" \
1946 "\t-v\t\tMake a Minix version 2 filesystem" 1946 " -v Make a Minix version 2 filesystem"
1947 1947
1948#define mknod_trivial_usage \ 1948#define mknod_trivial_usage \
1949 "[OPTIONS] NAME TYPE MAJOR MINOR" 1949 "[OPTIONS] NAME TYPE MAJOR MINOR"
1950#define mknod_full_usage \ 1950#define mknod_full_usage \
1951 "Create a special file (block, character, or pipe).\n\n" \ 1951 "Create a special file (block, character, or pipe).\n\n" \
1952 "Options:\n" \ 1952 "Options:\n" \
1953 "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n" \ 1953 " -m create the special file using the specified mode (default a=rw)\n\n" \
1954 "TYPEs include:\n" \ 1954 "TYPEs include:\n" \
1955 "\tb:\tMake a block (buffered) device\n" \ 1955 " b: Make a block (buffered) device\n" \
1956 "\tc or u:\tMake a character (un-buffered) device\n" \ 1956 " c or u: Make a character (un-buffered) device\n" \
1957 "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes" 1957 " p: Make a named pipe. MAJOR and MINOR are ignored for named pipes"
1958#define mknod_example_usage \ 1958#define mknod_example_usage \
1959 "$ mknod /dev/fd0 b 2 0\n" \ 1959 "$ mknod /dev/fd0 b 2 0\n" \
1960 "$ mknod -m 644 /tmp/pipe p\n" 1960 "$ mknod -m 644 /tmp/pipe p\n"
1961 1961
1962#define mkswap_trivial_usage \ 1962#define mkswap_trivial_usage \
1963 "[-c] [-v0|-v1] device [block-count]" 1963 "[-c] [-v0|-v1] device [block-count]"
1964#define mkswap_full_usage \ 1964#define mkswap_full_usage \
1965 "Prepare a disk partition to be used as a swap partition.\n\n" \ 1965 "Prepare a disk partition to be used as a swap partition.\n\n" \
1966 "Options:\n" \ 1966 "Options:\n" \
1967 "\t-c\t\tCheck for read-ability\n" \ 1967 " -c Check for read-ability\n" \
1968 "\t-v0\t\tMake version 0 swap [max 128 Megs]\n" \ 1968 " -v0 Make version 0 swap [max 128 Megs]\n" \
1969 "\t-v1\t\tMake version 1 swap [big!] (default for kernels >\n\t\t\t2.1.117)\n" \ 1969 " -v1 Make version 1 swap [big!] (default for kernels >\n 2.1.117)\n" \
1970 "\tblock-count\tNumber of block to use (default is entire partition)" 1970 " block-count Number of block to use (default is entire partition)"
1971 1971
1972#define mktemp_trivial_usage \ 1972#define mktemp_trivial_usage \
1973 "[-dq] TEMPLATE" 1973 "[-dq] TEMPLATE"
1974#define mktemp_full_usage \ 1974#define mktemp_full_usage \
1975 "Creates a temporary file with its name based on TEMPLATE.\n" \ 1975 "Creates a temporary file with its name based on TEMPLATE.\n" \
1976 "TEMPLATE is any name with six 'Xs' (i.e., /tmp/temp.XXXXXX).\n\n" \ 1976 "TEMPLATE is any name with six 'Xs' (i.e., /tmp/temp.XXXXXX).\n\n" \
1977 "Options:\n" \ 1977 "Options:\n" \
1978 "\t-d\t\tMake a directory instead of a file\n" \ 1978 " -d Make a directory instead of a file\n" \
1979 "\t-q\t\tFail silently if an error occurs" 1979 " -q Fail silently if an error occurs"
1980#define mktemp_example_usage \ 1980#define mktemp_example_usage \
1981 "$ mktemp /tmp/temp.XXXXXX\n" \ 1981 "$ mktemp /tmp/temp.XXXXXX\n" \
1982 "/tmp/temp.mWiLjM\n" \ 1982 "/tmp/temp.mWiLjM\n" \
1983 "$ ls -la /tmp/temp.mWiLjM\n" \ 1983 "$ ls -la /tmp/temp.mWiLjM\n" \
1984 "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n" 1984 "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n"
1985 1985
1986#define modprobe_trivial_usage \ 1986#define modprobe_trivial_usage \
1987 "[-knqrsv] MODULE [symbol=value ...]" 1987 "[-knqrsv] MODULE [symbol=value ...]"
1988#define modprobe_full_usage \ 1988#define modprobe_full_usage \
1989 "Options:\n" \ 1989 "Options:\n" \
1990 "\t-k\tMake module autoclean-able\n" \ 1990 " -k Make module autoclean-able\n" \
1991 "\t-n\tJust show what would be done\n" \ 1991 " -n Just show what would be done\n" \
1992 "\t-q\tQuiet output\n" \ 1992 " -q Quiet output\n" \
1993 "\t-r\tRemove module (stacks) or do autoclean\n" \ 1993 " -r Remove module (stacks) or do autoclean\n" \
1994 "\t-s\tReport via syslog instead of stderr\n" \ 1994 " -s Report via syslog instead of stderr\n" \
1995 "\t-v\tVerbose output" 1995 " -v Verbose output"
1996#define modprobe_notes_usage \ 1996#define modprobe_notes_usage \
1997"modprobe can (un)load a stack of modules, passing each module options (when\n" \ 1997"modprobe can (un)load a stack of modules, passing each module options (when\n" \
1998"loading). modprobe uses a configuration file to determine what option(s) to\n" \ 1998"loading). modprobe uses a configuration file to determine what option(s) to\n" \
@@ -2036,125 +2036,125 @@ USE_FEATURE_MDEV_CONFIG( \
2036"the options from the config file. That way, you can have defaults in the config\n" \ 2036"the options from the config file. That way, you can have defaults in the config\n" \
2037"file, and override them for a specific usage from the command line.\n" 2037"file, and override them for a specific usage from the command line.\n"
2038#define modprobe_example_usage \ 2038#define modprobe_example_usage \
2039 "(with the above /etc/modules.conf):\n\n" \ 2039 "(with the above /etc/modules.conf):\n\n" \
2040 "$ modprobe tulip\n" \ 2040 "$ modprobe tulip\n" \
2041 " will load the module 'tulip' with default option 'irq=3'\n\n" \ 2041 " will load the module 'tulip' with default option 'irq=3'\n\n" \
2042 "$ modprobe tulip irq=5\n" \ 2042 "$ modprobe tulip irq=5\n" \
2043 " will load the module 'tulip' with option 'irq=5', thus overriding the default\n\n" \ 2043 " will load the module 'tulip' with option 'irq=5', thus overriding the default\n\n" \
2044 "$ modprobe tulip2\n" \ 2044 "$ modprobe tulip2\n" \
2045 " will load the module 'tulip' with default options 'irq=4 io=0x308',\n" \ 2045 " will load the module 'tulip' with default options 'irq=4 io=0x308',\n" \
2046 " which are the default for alias 'tulip2'\n\n" \ 2046 " which are the default for alias 'tulip2'\n\n" \
2047 "$ modprobe tulip2 irq=8\n" \ 2047 "$ modprobe tulip2 irq=8\n" \
2048 " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=8',\n" \ 2048 " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=8',\n" \
2049 " which are the default for alias 'tulip2' overridden by the option 'irq=8'\n\n" \ 2049 " which are the default for alias 'tulip2' overridden by the option 'irq=8'\n\n" \
2050 " from the command line\n\n" \ 2050 " from the command line\n\n" \
2051 "$ modprobe tulip2 irq=2 io=0x210\n" \ 2051 "$ modprobe tulip2 irq=2 io=0x210\n" \
2052 " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=4 io=0x210',\n" \ 2052 " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=4 io=0x210',\n" \
2053 " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \ 2053 " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \
2054 " from the command line\n" 2054 " from the command line\n"
2055 2055
2056#define more_trivial_usage \ 2056#define more_trivial_usage \
2057 "[FILE ...]" 2057 "[FILE ...]"
2058#define more_full_usage \ 2058#define more_full_usage \
2059 "More is a filter for viewing FILE one screenful at a time." 2059 "More is a filter for viewing FILE one screenful at a time."
2060#define more_example_usage \ 2060#define more_example_usage \
2061 "$ dmesg | more\n" 2061 "$ dmesg | more\n"
2062 2062
2063#define mount_trivial_usage \ 2063#define mount_trivial_usage \
2064 "[flags] DEVICE NODE [-o options,more-options]" 2064 "[flags] DEVICE NODE [-o options,more-options]"
2065#define mount_full_usage \ 2065#define mount_full_usage \
2066 "Mount a filesystem. Filesystem autodetection requires /proc be mounted.\n\n" \ 2066 "Mount a filesystem. Filesystem autodetection requires /proc be mounted.\n\n" \
2067 "Flags:\n" \ 2067 "Flags:\n" \
2068 "\t-a:\t\tMount all filesystems in fstab\n" \ 2068 " -a: Mount all filesystems in fstab\n" \
2069 USE_FEATURE_MTAB_SUPPORT( \ 2069 USE_FEATURE_MTAB_SUPPORT( \
2070 "\t-f:\t\t\"Fake\" Add entry to mount table but don't mount it\n" \ 2070 " -f: \"Fake\" Add entry to mount table but don't mount it\n" \
2071 "\t-n:\t\tDon't write a mount table entry\n" \ 2071 " -n: Don't write a mount table entry\n" \
2072 ) \ 2072 ) \
2073 "\t-o option:\tOne of many filesystem options, listed below\n" \ 2073 " -o option: One of many filesystem options, listed below\n" \
2074 "\t-r:\t\tMount the filesystem read-only\n" \ 2074 " -r: Mount the filesystem read-only\n" \
2075 "\t-t fs-type:\tSpecify the filesystem type\n" \ 2075 " -t fs-type: Specify the filesystem type\n" \
2076 "\t-w:\t\tMount for reading and writing (default)\n" \ 2076 " -w: Mount for reading and writing (default)\n" \
2077 "\n" \ 2077 "\n" \
2078 "Options for use with the \"-o\" flag:\n" \ 2078 "Options for use with the \"-o\" flag:\n" \
2079 USE_FEATURE_MOUNT_LOOP( \ 2079 USE_FEATURE_MOUNT_LOOP( \
2080 "\tloop:\t\tIgnored (loop devices are autodetected)\n" \ 2080 " loop: Ignored (loop devices are autodetected)\n" \
2081 ) \ 2081 ) \
2082 USE_FEATURE_MOUNT_FLAGS( \ 2082 USE_FEATURE_MOUNT_FLAGS( \
2083 "\t[a]sync:\tWrites are asynchronous / synchronous\n" \ 2083 " [a]sync: Writes are asynchronous / synchronous\n" \
2084 "\t[no]atime:\tDisable / enable updates to inode access times\n" \ 2084 " [no]atime: Disable / enable updates to inode access times\n" \
2085 "\t[no]diratime:\tDisable / enable atime updates to directories\n" \ 2085 " [no]diratime: Disable / enable atime updates to directories\n" \
2086 "\t[no]dev:\tAllow use of special device files / disallow them\n" \ 2086 " [no]dev: Allow use of special device files / disallow them\n" \
2087 "\t[no]exec:\tAllow use of executable files / disallow them\n" \ 2087 " [no]exec: Allow use of executable files / disallow them\n" \
2088 "\t[no]suid:\tAllow set-user-id-root programs / disallow them\n" \ 2088 " [no]suid: Allow set-user-id-root programs / disallow them\n" \
2089 "\t[r]shared:\tConvert [recursively] to a shared subtree.\n" \ 2089 " [r]shared: Convert [recursively] to a shared subtree.\n" \
2090 "\t[r]slave:\tConvert [recursively] to a slave subtree.\n" \ 2090 " [r]slave: Convert [recursively] to a slave subtree.\n" \
2091 "\t[r]private:\tConvert [recursively] to a private subtree\n" \ 2091 " [r]private: Convert [recursively] to a private subtree\n" \
2092 "\t[un]bindable:\tMake mount point [un]able to be bind mounted.\n" \ 2092 " [un]bindable: Make mount point [un]able to be bind mounted.\n" \
2093 "\tbind:\t\tBind a directory to an additional location\n" \ 2093 " bind: Bind a directory to an additional location\n" \
2094 "\tmove:\t\tRelocate an existing mount point.\n" \ 2094 " move: Relocate an existing mount point.\n" \
2095 ) \ 2095 ) \
2096 "\tremount:\tRe-mount a mounted filesystem, changing its flags\n" \ 2096 " remount: Re-mount a mounted filesystem, changing its flags\n" \
2097 "\tro/rw:\t\tMount for read-only / read-write\n" \ 2097 " ro/rw: Mount for read-only / read-write\n" \
2098 "\nThere are EVEN MORE flags that are specific to each filesystem\n" \ 2098 "\nThere are EVEN MORE flags that are specific to each filesystem\n" \
2099 "You'll have to see the written documentation for those filesystems" 2099 "You'll have to see the written documentation for those filesystems"
2100#define mount_example_usage \ 2100#define mount_example_usage \
2101 "$ mount\n" \ 2101 "$ mount\n" \
2102 "/dev/hda3 on / type minix (rw)\n" \ 2102 "/dev/hda3 on / type minix (rw)\n" \
2103 "proc on /proc type proc (rw)\n" \ 2103 "proc on /proc type proc (rw)\n" \
2104 "devpts on /dev/pts type devpts (rw)\n" \ 2104 "devpts on /dev/pts type devpts (rw)\n" \
2105 "$ mount /dev/fd0 /mnt -t msdos -o ro\n" \ 2105 "$ mount /dev/fd0 /mnt -t msdos -o ro\n" \
2106 "$ mount /tmp/diskimage /opt -t ext2 -o loop\n" \ 2106 "$ mount /tmp/diskimage /opt -t ext2 -o loop\n" \
2107 "$ mount cd_image.iso mydir\n" 2107 "$ mount cd_image.iso mydir\n"
2108#define mount_notes_usage \ 2108#define mount_notes_usage \
2109 "Returns 0 for success, number of failed mounts for -a, or errno for one mount." 2109 "Returns 0 for success, number of failed mounts for -a, or errno for one mount."
2110 2110
2111#define mountpoint_trivial_usage \ 2111#define mountpoint_trivial_usage \
2112 "[-q] <[-d] DIR | -x DEVICE>" 2112 "[-q] <[-d] DIR | -x DEVICE>"
2113#define mountpoint_full_usage \ 2113#define mountpoint_full_usage \
2114 "mountpoint checks if the directory is a mountpoint\n\n" \ 2114 "mountpoint checks if the directory is a mountpoint\n\n" \
2115 "Options:\n" \ 2115 "Options:\n" \
2116 "\t-q:\t\tBe more quiet\n" \ 2116 " -q: Be more quiet\n" \
2117 "\t-d:\t\tPrint major/minor device number of the filesystem\n" \ 2117 " -d: Print major/minor device number of the filesystem\n" \
2118 "\t-x:\t\tPrint major/minor device number of the blockdevice" 2118 " -x: Print major/minor device number of the blockdevice"
2119#define mountpoint_example_usage \ 2119#define mountpoint_example_usage \
2120 "$ mountpoint /proc\n" \ 2120 "$ mountpoint /proc\n" \
2121 "/proc is not a mountpoint\n" \ 2121 "/proc is not a mountpoint\n" \
2122 "$ mountpoint /sys\n" \ 2122 "$ mountpoint /sys\n" \
2123 "/sys is a mountpoint\n" 2123 "/sys is a mountpoint\n"
2124 2124
2125#define mt_trivial_usage \ 2125#define mt_trivial_usage \
2126 "[-f device] opcode value" 2126 "[-f device] opcode value"
2127#define mt_full_usage \ 2127#define mt_full_usage \
2128 "Control magnetic tape drive operation\n" \ 2128 "Control magnetic tape drive operation\n" \
2129 "\nAvailable Opcodes:\n\n" \ 2129 "\nAvailable Opcodes:\n\n" \
2130 "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \ 2130 "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \
2131 "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \ 2131 "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \
2132 "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \ 2132 "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \
2133 "setpart tell unload unlock weof wset" 2133 "setpart tell unload unlock weof wset"
2134 2134
2135#define mv_trivial_usage \ 2135#define mv_trivial_usage \
2136 "[OPTION]... SOURCE DEST\n" \ 2136 "[OPTION]... SOURCE DEST\n" \
2137 "or: mv [OPTION]... SOURCE... DIRECTORY" 2137 "or: mv [OPTION]... SOURCE... DIRECTORY"
2138#define mv_full_usage \ 2138#define mv_full_usage \
2139 "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n\n" \ 2139 "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n\n" \
2140 "Options:\n" \ 2140 "Options:\n" \
2141 "\t-f\tdon't prompt before overwriting\n" \ 2141 " -f don't prompt before overwriting\n" \
2142 "\t-i\tinteractive, prompt before overwrite" 2142 " -i interactive, prompt before overwrite"
2143#define mv_example_usage \ 2143#define mv_example_usage \
2144 "$ mv /tmp/foo /bin/bar\n" 2144 "$ mv /tmp/foo /bin/bar\n"
2145 2145
2146#define nameif_trivial_usage \ 2146#define nameif_trivial_usage \
2147 "[-s] [-c FILE] [{IFNAME MACADDR}]" 2147 "[-s] [-c FILE] [{IFNAME MACADDR}]"
2148#define nameif_full_usage \ 2148#define nameif_full_usage \
2149 "Nameif renames network interface while it in the down state.\n\n" \ 2149 "Nameif renames network interface while it in the down state.\n\n" \
2150 "Options:\n" \ 2150 "Options:\n" \
2151 "\t-c FILE\t\tUse configuration file (default is /etc/mactab)\n" \ 2151 " -c FILE Use configuration file (default is /etc/mactab)\n" \
2152 "\t-s\t\tUse syslog (LOCAL0 facility)\n" \ 2152 " -s Use syslog (LOCAL0 facility)\n" \
2153 "\tIFNAME MACADDR\tnew_interface_name interface_mac_address" 2153 " IFNAME MACADDR new_interface_name interface_mac_address"
2154#define nameif_example_usage \ 2154#define nameif_example_usage \
2155 "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \ 2155 "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \
2156 " or\n" \ 2156 " or\n" \
2157 "$ nameif -c /etc/my_mactab_file\n" \ 2157 "$ nameif -c /etc/my_mactab_file\n" \
2158 2158
2159#if ENABLE_NC_SERVER || ENABLE_NC_EXTRA 2159#if ENABLE_NC_SERVER || ENABLE_NC_EXTRA
2160#define NC_OPTIONS_STR "\n\nOptions:" 2160#define NC_OPTIONS_STR "\n\nOptions:"
@@ -2164,20 +2164,20 @@ USE_FEATURE_MDEV_CONFIG( \
2164 2164
2165#define nc_trivial_usage \ 2165#define nc_trivial_usage \
2166 USE_NC_EXTRA("[-iN] [-wN] ")USE_NC_SERVER("[-l] [-p PORT] ") \ 2166 USE_NC_EXTRA("[-iN] [-wN] ")USE_NC_SERVER("[-l] [-p PORT] ") \
2167 "["USE_NC_EXTRA("-f FILENAME|")"IPADDR PORTNUM]"USE_NC_EXTRA(" [-e COMMAND]") 2167 "["USE_NC_EXTRA("-f FILENAME|")"IPADDR PORTNUM]"USE_NC_EXTRA(" [-e COMMAND]")
2168#define nc_full_usage \ 2168#define nc_full_usage \
2169 "Netcat opens a pipe to IP:port" USE_NC_EXTRA(" or file") \ 2169 "Netcat opens a pipe to IP:port" USE_NC_EXTRA(" or file") \
2170 NC_OPTIONS_STR \ 2170 NC_OPTIONS_STR \
2171 USE_NC_EXTRA( \ 2171 USE_NC_EXTRA( \
2172 "\n\t-e\texec rest of command line after connect\n" \ 2172 "\n -e exec rest of command line after connect\n" \
2173 "\t-i SECS\tdelay interval for lines sent\n" \ 2173 " -i SECS delay interval for lines sent\n" \
2174 "\t-w SECS\ttimeout for connect\n" \ 2174 " -w SECS timeout for connect\n" \
2175 "\t-f file\tuse file (ala /dev/ttyS0) instead of network" \ 2175 " -f file use file (ala /dev/ttyS0) instead of network" \
2176 ) \ 2176 ) \
2177 USE_NC_SERVER( \ 2177 USE_NC_SERVER( \
2178 "\n\t-l\tlisten mode, for inbound connects\n" \ 2178 "\n -l listen mode, for inbound connects\n" \
2179 USE_NC_EXTRA("\t\t(use -l twice with -e for persistent server)\n") \ 2179 USE_NC_EXTRA(" (use -l twice with -e for persistent server)\n") \
2180 "\t-p PORT\tlocal port number" \ 2180 " -p PORT local port number" \
2181 ) 2181 )
2182 2182
2183#define nc_notes_usage "" \ 2183#define nc_notes_usage "" \
@@ -2188,134 +2188,134 @@ USE_FEATURE_MDEV_CONFIG( \
2188 ) "" 2188 ) ""
2189 2189
2190#define nc_example_usage \ 2190#define nc_example_usage \
2191 "$ nc foobar.somedomain.com 25\n" \ 2191 "$ nc foobar.somedomain.com 25\n" \
2192 "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \ 2192 "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \
2193 "help\n" \ 2193 "help\n" \
2194 "214-Commands supported:\n" \ 2194 "214-Commands supported:\n" \
2195 "214- HELO EHLO MAIL RCPT DATA AUTH\n" \ 2195 "214- HELO EHLO MAIL RCPT DATA AUTH\n" \
2196 "214 NOOP QUIT RSET HELP\n" \ 2196 "214 NOOP QUIT RSET HELP\n" \
2197 "quit\n" \ 2197 "quit\n" \
2198 "221 foobar closing connection\n" 2198 "221 foobar closing connection\n"
2199 2199
2200#define netstat_trivial_usage \ 2200#define netstat_trivial_usage \
2201 "[-laenrtuwx]" 2201 "[-laenrtuwx]"
2202#define netstat_full_usage \ 2202#define netstat_full_usage \
2203 "Netstat displays Linux networking information.\n\n" \ 2203 "Netstat displays Linux networking information.\n\n" \
2204 "Options:\n" \ 2204 "Options:\n" \
2205 "\t-l display listening server sockets\n" \ 2205 " -l display listening server sockets\n" \
2206 "\t-a display all sockets (default: connected)\n" \ 2206 " -a display all sockets (default: connected)\n" \
2207 "\t-e display other/more information\n" \ 2207 " -e display other/more information\n" \
2208 "\t-n don't resolve names\n" \ 2208 " -n don't resolve names\n" \
2209 "\t-r display routing table\n" \ 2209 " -r display routing table\n" \
2210 "\t-t tcp sockets\n" \ 2210 " -t tcp sockets\n" \
2211 "\t-u udp sockets\n" \ 2211 " -u udp sockets\n" \
2212 "\t-w raw sockets\n" \ 2212 " -w raw sockets\n" \
2213 "\t-x unix sockets" 2213 " -x unix sockets"
2214 2214
2215#define nice_trivial_usage \ 2215#define nice_trivial_usage \
2216 "[-n ADJUST] [COMMAND [ARG] ...]" 2216 "[-n ADJUST] [COMMAND [ARG] ...]"
2217#define nice_full_usage \ 2217#define nice_full_usage \
2218 "Nice runs a program with modified scheduling priority.\n\n" \ 2218 "Nice runs a program with modified scheduling priority.\n\n" \
2219 "Options:\n" \ 2219 "Options:\n" \
2220 "\t-n ADJUST\tAdjust the scheduling priority by ADJUST" 2220 " -n ADJUST Adjust the scheduling priority by ADJUST"
2221 2221
2222#define nmeter_trivial_usage \ 2222#define nmeter_trivial_usage \
2223 "format_string" 2223 "format_string"
2224#define nmeter_full_usage \ 2224#define nmeter_full_usage \
2225 "Nmeter monitors your system in real time.\n\n" \ 2225 "Nmeter monitors your system in real time.\n\n" \
2226 "Format specifiers:\n" \ 2226 "Format specifiers:\n" \
2227 "%Nc or %[cN] monitor CPU. N - bar size, default 10\n" \ 2227 "%Nc or %[cN] monitor CPU. N - bar size, default 10\n" \
2228 " (displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \ 2228 " (displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \
2229 "%[niface] monitor network interface 'iface'\n" \ 2229 "%[niface] monitor network interface 'iface'\n" \
2230 "%m monitor allocated memory\n" \ 2230 "%m monitor allocated memory\n" \
2231 "%[mf] monitor free memory\n" \ 2231 "%[mf] monitor free memory\n" \
2232 "%[mt] monitor total memory\n" \ 2232 "%[mt] monitor total memory\n" \
2233 "%s monitor allocated swap\n" \ 2233 "%s monitor allocated swap\n" \
2234 "%f monitor number of used file descriptors\n" \ 2234 "%f monitor number of used file descriptors\n" \
2235 "%Ni monitor total/specific IRQ rate\n" \ 2235 "%Ni monitor total/specific IRQ rate\n" \
2236 "%x monitor context switch rate\n" \ 2236 "%x monitor context switch rate\n" \
2237 "%p monitor forks\n" \ 2237 "%p monitor forks\n" \
2238 "%[pn] monitor # of processes\n" \ 2238 "%[pn] monitor # of processes\n" \
2239 "%b monitor block io\n" \ 2239 "%b monitor block io\n" \
2240 "%Nt show time (with N decimal points)\n" \ 2240 "%Nt show time (with N decimal points)\n" \
2241 "%Nd milliseconds between updates (default=1000)\n" \ 2241 "%Nd milliseconds between updates (default=1000)\n" \
2242 "%r print <cr> instead of <lf> at EOL" 2242 "%r print <cr> instead of <lf> at EOL"
2243#define nmeter_example_usage \ 2243#define nmeter_example_usage \
2244 "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'" 2244 "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'"
2245 2245
2246#define nohup_trivial_usage \ 2246#define nohup_trivial_usage \
2247 "COMMAND [ARGS]" 2247 "COMMAND [ARGS]"
2248#define nohup_full_usage \ 2248#define nohup_full_usage \
2249 "run a command immune to hangups, with output to a non-tty" 2249 "run a command immune to hangups, with output to a non-tty"
2250#define nohup_example_usage \ 2250#define nohup_example_usage \
2251 "$ nohup make &" 2251 "$ nohup make &"
2252 2252
2253#define nslookup_trivial_usage \ 2253#define nslookup_trivial_usage \
2254 "[HOST] [SERVER]" 2254 "[HOST] [SERVER]"
2255#define nslookup_full_usage \ 2255#define nslookup_full_usage \
2256 "Queries the nameserver for the IP address of the given HOST\n" \ 2256 "Queries the nameserver for the IP address of the given HOST\n" \
2257 "optionally using a specified DNS server" 2257 "optionally using a specified DNS server"
2258#define nslookup_example_usage \ 2258#define nslookup_example_usage \
2259 "$ nslookup localhost\n" \ 2259 "$ nslookup localhost\n" \
2260 "Server: default\n" \ 2260 "Server: default\n" \
2261 "Address: default\n" \ 2261 "Address: default\n" \
2262 "\n" \ 2262 "\n" \
2263 "Name: debian\n" \ 2263 "Name: debian\n" \
2264 "Address: 127.0.0.1\n" 2264 "Address: 127.0.0.1\n"
2265 2265
2266#define od_trivial_usage \ 2266#define od_trivial_usage \
2267 "[-aBbcDdeFfHhIiLlOovXx] [FILE]" 2267 "[-aBbcDdeFfHhIiLlOovXx] [FILE]"
2268#define od_full_usage \ 2268#define od_full_usage \
2269 "Write an unambiguous representation, octal bytes by default, of FILE\n" \ 2269 "Write an unambiguous representation, octal bytes by default, of FILE\n" \
2270 "to standard output. With no FILE, or when FILE is -, read standard input." 2270 "to standard output. With no FILE, or when FILE is -, read standard input."
2271 2271
2272#define openvt_trivial_usage \ 2272#define openvt_trivial_usage \
2273 "<vtnum> <COMMAND> [ARGS...]" 2273 "<vtnum> <COMMAND> [ARGS...]"
2274#define openvt_full_usage \ 2274#define openvt_full_usage \
2275 "Start a command on a new virtual terminal" 2275 "Start a command on a new virtual terminal"
2276#define openvt_example_usage \ 2276#define openvt_example_usage \
2277 "openvt 2 /bin/ash\n" 2277 "openvt 2 /bin/ash\n"
2278 2278
2279#define passwd_trivial_usage \ 2279#define passwd_trivial_usage \
2280 "[OPTION] [name]" 2280 "[OPTION] [name]"
2281#define passwd_full_usage \ 2281#define passwd_full_usage \
2282 "Change a user password. If no name is specified,\n" \ 2282 "Change a user password. If no name is specified,\n" \
2283 "changes the password for the current user.\n" \ 2283 "changes the password for the current user.\n" \
2284 "Options:\n" \ 2284 "Options:\n" \
2285 "\t-a\tDefine which algorithm shall be used for the password\n" \ 2285 " -a Define which algorithm shall be used for the password\n" \
2286 "\t\t\t(Choices: des, md5, sha1)\n" \ 2286 " (Choices: des, md5, sha1)\n" \
2287 "\t-d\tDelete the password for the specified user account\n" \ 2287 " -d Delete the password for the specified user account\n" \
2288 "\t-l\tLocks (disables) the specified user account\n" \ 2288 " -l Locks (disables) the specified user account\n" \
2289 "\t-u\tUnlocks (re-enables) the specified user account" 2289 " -u Unlocks (re-enables) the specified user account"
2290 2290
2291#define patch_trivial_usage \ 2291#define patch_trivial_usage \
2292 "[-p<num>] [-i <diff>]" 2292 "[-p<num>] [-i <diff>]"
2293#define patch_full_usage \ 2293#define patch_full_usage \
2294 "\t-p <num>\tStrip <num> leading components from file names\n" \ 2294 " -p <num> Strip <num> leading components from file names\n" \
2295 "\t-i <diff>\tRead <diff> instead of stdin" 2295 " -i <diff> Read <diff> instead of stdin"
2296#define patch_example_usage \ 2296#define patch_example_usage \
2297 "$ patch -p1 < example.diff\n" \ 2297 "$ patch -p1 < example.diff\n" \
2298 "$ patch -p0 -i example.diff" 2298 "$ patch -p0 -i example.diff"
2299 2299
2300#if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT) 2300#if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT)
2301#define USAGE_PIDOF "Options:" 2301#define USAGE_PIDOF "Options:"
2302#else 2302#else
2303#define USAGE_PIDOF "\n\tThis version of pidof accepts no options." 2303#define USAGE_PIDOF "\n This version of pidof accepts no options."
2304#endif 2304#endif
2305 2305
2306#define pidof_trivial_usage \ 2306#define pidof_trivial_usage \
2307 "process-name [OPTION] [process-name ...]" 2307 "process-name [OPTION] [process-name ...]"
2308 2308
2309#define pidof_full_usage \ 2309#define pidof_full_usage \
2310 "Lists the PIDs of all processes with names that match the\n" \ 2310 "Lists the PIDs of all processes with names that match the\n" \
2311 "names on the command line.\n" \ 2311 "names on the command line.\n" \
2312 USAGE_PIDOF \ 2312 USAGE_PIDOF \
2313 USE_FEATURE_PIDOF_SINGLE("\n\t-s\t\tdisplay only a single PID") \ 2313 USE_FEATURE_PIDOF_SINGLE("\n -s display only a single PID") \
2314 USE_FEATURE_PIDOF_OMIT("\n\t-o\t\tomit given pid.") \ 2314 USE_FEATURE_PIDOF_OMIT("\n -o omit given pid.") \
2315 USE_FEATURE_PIDOF_OMIT("\n\t\t\tUse %PPID to omit the parent pid of pidof itself") 2315 USE_FEATURE_PIDOF_OMIT("\n Use %PPID to omit the parent pid of pidof itself")
2316#define pidof_example_usage \ 2316#define pidof_example_usage \
2317 "$ pidof init\n" \ 2317 "$ pidof init\n" \
2318 "1\n" \ 2318 "1\n" \
2319 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh\n20351 5973 5950\n") \ 2319 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh\n20351 5973 5950\n") \
2320 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh -o %PPID\n20351 5950") 2320 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh -o %PPID\n20351 5950")
2321 2321
@@ -2324,698 +2324,698 @@ USE_FEATURE_MDEV_CONFIG( \
2324#define ping_full_usage "Send ICMP ECHO_REQUEST packets to network hosts" 2324#define ping_full_usage "Send ICMP ECHO_REQUEST packets to network hosts"
2325#else 2325#else
2326#define ping_trivial_usage \ 2326#define ping_trivial_usage \
2327 "[OPTION]... host" 2327 "[OPTION]... host"
2328#define ping_full_usage \ 2328#define ping_full_usage \
2329 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \ 2329 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
2330 "Options:\n" \ 2330 "Options:\n" \
2331 "\t-c COUNT\tSend only COUNT pings\n" \ 2331 " -c COUNT Send only COUNT pings\n" \
2332 "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56)\n" \ 2332 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \
2333 "\t-I IPADDR\tUse IPADDR as source address\n" \ 2333 " -I IPADDR Use IPADDR as source address\n" \
2334 "\t-q\t\tQuiet mode, only displays output at start\n" \ 2334 " -q Quiet mode, only displays output at start\n" \
2335 "\t\t\tand when finished" 2335 " and when finished"
2336#endif 2336#endif
2337#define ping_example_usage \ 2337#define ping_example_usage \
2338 "$ ping localhost\n" \ 2338 "$ ping localhost\n" \
2339 "PING slag (127.0.0.1): 56 data bytes\n" \ 2339 "PING slag (127.0.0.1): 56 data bytes\n" \
2340 "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \ 2340 "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \
2341 "\n" \ 2341 "\n" \
2342 "--- debian ping statistics ---\n" \ 2342 "--- debian ping statistics ---\n" \
2343 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 2343 "1 packets transmitted, 1 packets received, 0% packet loss\n" \
2344 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 2344 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n"
2345 2345
2346#ifndef CONFIG_FEATURE_FANCY_PING6 2346#ifndef CONFIG_FEATURE_FANCY_PING6
2347#define ping6_trivial_usage "host" 2347#define ping6_trivial_usage "host"
2348#define ping6_full_usage "Send ICMP ECHO_REQUEST packets to network hosts" 2348#define ping6_full_usage "Send ICMP ECHO_REQUEST packets to network hosts"
2349#else 2349#else
2350#define ping6_trivial_usage \ 2350#define ping6_trivial_usage \
2351 "[OPTION]... host" 2351 "[OPTION]... host"
2352#define ping6_full_usage \ 2352#define ping6_full_usage \
2353 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \ 2353 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
2354 "Options:\n" \ 2354 "Options:\n" \
2355 "\t-c COUNT\tSend only COUNT pings\n" \ 2355 " -c COUNT Send only COUNT pings\n" \
2356 "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56)\n" \ 2356 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \
2357 "\t-q\t\tQuiet mode, only displays output at start\n" \ 2357 " -q Quiet mode, only displays output at start\n" \
2358 "\t\t\tand when finished" 2358 " and when finished"
2359#endif 2359#endif
2360#define ping6_example_usage \ 2360#define ping6_example_usage \
2361 "$ ping6 ip6-localhost\n" \ 2361 "$ ping6 ip6-localhost\n" \
2362 "PING ip6-localhost (::1): 56 data bytes\n" \ 2362 "PING ip6-localhost (::1): 56 data bytes\n" \
2363 "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \ 2363 "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \
2364 "\n" \ 2364 "\n" \
2365 "--- ip6-localhost ping statistics ---\n" \ 2365 "--- ip6-localhost ping statistics ---\n" \
2366 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 2366 "1 packets transmitted, 1 packets received, 0% packet loss\n" \
2367 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 2367 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n"
2368 2368
2369#define pivot_root_trivial_usage \ 2369#define pivot_root_trivial_usage \
2370 "NEW_ROOT PUT_OLD" 2370 "NEW_ROOT PUT_OLD"
2371#define pivot_root_full_usage \ 2371#define pivot_root_full_usage \
2372 "Move the current root file system to PUT_OLD and make NEW_ROOT\n" \ 2372 "Move the current root file system to PUT_OLD and make NEW_ROOT\n" \
2373 "the new root file system." 2373 "the new root file system."
2374 2374
2375#define poweroff_trivial_usage \ 2375#define poweroff_trivial_usage \
2376 "[-d<delay>] [-n<nosync>] [-f<force>]" 2376 "[-d<delay>] [-n<nosync>] [-f<force>]"
2377#define poweroff_full_usage \ 2377#define poweroff_full_usage \
2378 "Halt and shut off power.\n" \ 2378 "Halt and shut off power.\n" \
2379 "Options:\n" \ 2379 "Options:\n" \
2380 "\t-d\t\tdelay interval for halting\n" \ 2380 " -d delay interval for halting\n" \
2381 "\t-n\t\tno call to sync()\n" \ 2381 " -n no call to sync()\n" \
2382 "\t-f\t\tforce power off (don't go through init)" 2382 " -f force power off (don't go through init)"
2383 2383
2384#define printenv_trivial_usage \ 2384#define printenv_trivial_usage \
2385 "[VARIABLES...]" 2385 "[VARIABLES...]"
2386#define printenv_full_usage \ 2386#define printenv_full_usage \
2387 "print all or part of environment\n\n" \ 2387 "print all or part of environment\n\n" \
2388 "If no environment VARIABLE specified, print them all." 2388 "If no environment VARIABLE specified, print them all."
2389 2389
2390#define printf_trivial_usage \ 2390#define printf_trivial_usage \
2391 "FORMAT [ARGUMENT...]" 2391 "FORMAT [ARGUMENT...]"
2392#define printf_full_usage \ 2392#define printf_full_usage \
2393 "Formats and prints ARGUMENT(s) according to FORMAT,\n" \ 2393 "Formats and prints ARGUMENT(s) according to FORMAT,\n" \
2394 "Where FORMAT controls the output exactly as in C printf." 2394 "Where FORMAT controls the output exactly as in C printf."
2395#define printf_example_usage \ 2395#define printf_example_usage \
2396 "$ printf \"Val=%d\\n\" 5\n" \ 2396 "$ printf \"Val=%d\\n\" 5\n" \
2397 "Val=5\n" 2397 "Val=5\n"
2398 2398
2399 2399
2400#if ENABLE_DESKTOP 2400#if ENABLE_DESKTOP
2401 2401
2402#define ps_trivial_usage \ 2402#define ps_trivial_usage \
2403 "" 2403 ""
2404#define ps_full_usage \ 2404#define ps_full_usage \
2405 "Report process status\n" \ 2405 "Report process status\n" \
2406 "\nOptions:" \ 2406 "\nOptions:" \
2407 "\n\t-o col1,col2=header\tSelect columns for display" \ 2407 "\n -o col1,col2=header Select columns for display" \
2408 2408
2409#else /* !ENABLE_DESKTOP */ 2409#else /* !ENABLE_DESKTOP */
2410 2410
2411#if !defined CONFIG_SELINUX && !ENABLE_FEATURE_PS_WIDE 2411#if !defined CONFIG_SELINUX && !ENABLE_FEATURE_PS_WIDE
2412#define USAGE_PS "\n\tThis version of ps accepts no options." 2412#define USAGE_PS "\n This version of ps accepts no options."
2413#else 2413#else
2414#define USAGE_PS "\nOptions:" 2414#define USAGE_PS "\nOptions:"
2415#endif 2415#endif
2416 2416
2417#define ps_trivial_usage \ 2417#define ps_trivial_usage \
2418 "" 2418 ""
2419#define ps_full_usage \ 2419#define ps_full_usage \
2420 "Report process status\n" \ 2420 "Report process status\n" \
2421 USAGE_PS \ 2421 USAGE_PS \
2422 USE_SELINUX("\n\t-c\tshow SE Linux context") \ 2422 USE_SELINUX("\n -c show SE Linux context") \
2423 USE_FEATURE_PS_WIDE("\n\tw\twide output") 2423 USE_FEATURE_PS_WIDE("\n w wide output")
2424 2424
2425#endif /* ENABLE_DESKTOP */ 2425#endif /* ENABLE_DESKTOP */
2426 2426
2427#define ps_example_usage \ 2427#define ps_example_usage \
2428 "$ ps\n" \ 2428 "$ ps\n" \
2429 " PID Uid Gid State Command\n" \ 2429 " PID Uid Gid State Command\n" \
2430 " 1 root root S init\n" \ 2430 " 1 root root S init\n" \
2431 " 2 root root S [kflushd]\n" \ 2431 " 2 root root S [kflushd]\n" \
2432 " 3 root root S [kupdate]\n" \ 2432 " 3 root root S [kupdate]\n" \
2433 " 4 root root S [kpiod]\n" \ 2433 " 4 root root S [kpiod]\n" \
2434 " 5 root root S [kswapd]\n" \ 2434 " 5 root root S [kswapd]\n" \
2435 " 742 andersen andersen S [bash]\n" \ 2435 " 742 andersen andersen S [bash]\n" \
2436 " 743 andersen andersen S -bash\n" \ 2436 " 743 andersen andersen S -bash\n" \
2437 " 745 root root S [getty]\n" \ 2437 " 745 root root S [getty]\n" \
2438 " 2990 andersen andersen R ps\n" 2438 " 2990 andersen andersen R ps\n"
2439 2439
2440 2440
2441#define pwd_trivial_usage \ 2441#define pwd_trivial_usage \
2442 "" 2442 ""
2443#define pwd_full_usage \ 2443#define pwd_full_usage \
2444 "Print the full filename of the current working directory." 2444 "Print the full filename of the current working directory."
2445#define pwd_example_usage \ 2445#define pwd_example_usage \
2446 "$ pwd\n" \ 2446 "$ pwd\n" \
2447 "/root\n" 2447 "/root\n"
2448 2448
2449#define raidautorun_trivial_usage \ 2449#define raidautorun_trivial_usage \
2450 "DEVICE" 2450 "DEVICE"
2451#define raidautorun_full_usage \ 2451#define raidautorun_full_usage \
2452 "Tells the kernel to automatically search and start RAID arrays" 2452 "Tells the kernel to automatically search and start RAID arrays"
2453#define raidautorun_example_usage \ 2453#define raidautorun_example_usage \
2454 "$ raidautorun /dev/md0" 2454 "$ raidautorun /dev/md0"
2455 2455
2456#define rdate_trivial_usage \ 2456#define rdate_trivial_usage \
2457 "[-sp] HOST" 2457 "[-sp] HOST"
2458#define rdate_full_usage \ 2458#define rdate_full_usage \
2459 "Get and possibly set the system date and time from a remote HOST.\n\n" \ 2459 "Get and possibly set the system date and time from a remote HOST.\n\n" \
2460 "Options:\n" \ 2460 "Options:\n" \
2461 "\t-s\tSet the system date and time (default)\n" \ 2461 " -s Set the system date and time (default)\n" \
2462 "\t-p\tPrint the date and time" 2462 " -p Print the date and time"
2463 2463
2464#define readahead_trivial_usage \ 2464#define readahead_trivial_usage \
2465 "[FILE]..." 2465 "[FILE]..."
2466#define readahead_full_usage \ 2466#define readahead_full_usage \
2467 "Preloads FILE(s) in RAM cache so that subsequent reads for those" \ 2467 "Preloads FILE(s) in RAM cache so that subsequent reads for those" \
2468 "files do not block on disk I/O." 2468 "files do not block on disk I/O."
2469 2469
2470#define readlink_trivial_usage \ 2470#define readlink_trivial_usage \
2471 USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE" 2471 USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE"
2472#define readlink_full_usage \ 2472#define readlink_full_usage \
2473 "Displays the value of a symbolic link." \ 2473 "Displays the value of a symbolic link." \
2474 USE_FEATURE_READLINK_FOLLOW("\n\nOptions:\n" \ 2474 USE_FEATURE_READLINK_FOLLOW("\n\nOptions:\n" \
2475 "\t-f\tcanonicalize by following all symlinks") 2475 " -f canonicalize by following all symlinks")
2476 2476
2477#define readprofile_trivial_usage \ 2477#define readprofile_trivial_usage \
2478 "[OPTIONS]..." 2478 "[OPTIONS]..."
2479#define readprofile_full_usage \ 2479#define readprofile_full_usage \
2480 "Options:\n" \ 2480 "Options:\n" \
2481 "\t -m <mapfile> (default: /boot/System.map)\n" \ 2481 " -m <mapfile> (default: /boot/System.map)\n" \
2482 "\t -p <profile> (default: /proc/profile)\n" \ 2482 " -p <profile> (default: /proc/profile)\n" \
2483 "\t -M <mult> set the profiling multiplier to <mult>\n" \ 2483 " -M <mult> set the profiling multiplier to <mult>\n" \
2484 "\t -i print only info about the sampling step\n" \ 2484 " -i print only info about the sampling step\n" \
2485 "\t -v print verbose data\n" \ 2485 " -v print verbose data\n" \
2486 "\t -a print all symbols, even if count is 0\n" \ 2486 " -a print all symbols, even if count is 0\n" \
2487 "\t -b print individual histogram-bin counts\n" \ 2487 " -b print individual histogram-bin counts\n" \
2488 "\t -s print individual counters within functions\n" \ 2488 " -s print individual counters within functions\n" \
2489 "\t -r reset all the counters (root only)\n" \ 2489 " -r reset all the counters (root only)\n" \
2490 "\t -n disable byte order auto-detection" 2490 " -n disable byte order auto-detection"
2491 2491
2492#define realpath_trivial_usage \ 2492#define realpath_trivial_usage \
2493 "pathname ..." 2493 "pathname ..."
2494#define realpath_full_usage \ 2494#define realpath_full_usage \
2495 "Returns the absolute pathnames of given argument." 2495 "Returns the absolute pathnames of given argument."
2496 2496
2497#define reboot_trivial_usage \ 2497#define reboot_trivial_usage \
2498 "[-d<delay>] [-n<nosync>] [-f<force>]" 2498 "[-d<delay>] [-n<nosync>] [-f<force>]"
2499#define reboot_full_usage \ 2499#define reboot_full_usage \
2500 "Reboot the system.\n" \ 2500 "Reboot the system.\n" \
2501 "Options:\n" \ 2501 "Options:\n" \
2502 "\t-d\t\tdelay interval for rebooting\n" \ 2502 " -d delay interval for rebooting\n" \
2503 "\t-n\t\tno call to sync()\n" \ 2503 " -n no call to sync()\n" \
2504 "\t-f\t\tforce reboot (don't go through init)" 2504 " -f force reboot (don't go through init)"
2505 2505
2506#define renice_trivial_usage \ 2506#define renice_trivial_usage \
2507 "{{-n INCREMENT} | PRIORITY} [[ -p | -g | -u ] ID ...]" 2507 "{{-n INCREMENT} | PRIORITY} [[ -p | -g | -u ] ID ...]"
2508#define renice_full_usage \ 2508#define renice_full_usage \
2509 "Changes priority of running processes.\n\n" \ 2509 "Changes priority of running processes.\n\n" \
2510 "Options:\n" \ 2510 "Options:\n" \
2511 "\t-n\tadjusts current nice value (smaller is faster)\n" \ 2511 " -n adjusts current nice value (smaller is faster)\n" \
2512 "\t-p\tprocess id(s) (default)\n" \ 2512 " -p process id(s) (default)\n" \
2513 "\t-g\tprocess group id(s)\n" \ 2513 " -g process group id(s)\n" \
2514 "\t-u\tprocess user name(s) and/or id(s)" 2514 " -u process user name(s) and/or id(s)"
2515 2515
2516#define reset_trivial_usage \ 2516#define reset_trivial_usage \
2517 "" 2517 ""
2518#define reset_full_usage \ 2518#define reset_full_usage \
2519 "Resets the screen." 2519 "Resets the screen."
2520 2520
2521#define resize_trivial_usage \ 2521#define resize_trivial_usage \
2522 "" 2522 ""
2523#define resize_full_usage \ 2523#define resize_full_usage \
2524 "Resizes the screen." 2524 "Resizes the screen."
2525 2525
2526#define rm_trivial_usage \ 2526#define rm_trivial_usage \
2527 "[OPTION]... FILE..." 2527 "[OPTION]... FILE..."
2528#define rm_full_usage \ 2528#define rm_full_usage \
2529 "Remove (unlink) the FILE(s). You may use '--' to\n" \ 2529 "Remove (unlink) the FILE(s). You may use '--' to\n" \
2530 "indicate that all following arguments are non-options.\n\n" \ 2530 "indicate that all following arguments are non-options.\n\n" \
2531 "Options:\n" \ 2531 "Options:\n" \
2532 "\t-i\t\talways prompt before removing each destination\n" \ 2532 " -i always prompt before removing each destination\n" \
2533 "\t-f\t\tremove existing destinations, never prompt\n" \ 2533 " -f remove existing destinations, never prompt\n" \
2534 "\t-r or -R\tremove the contents of directories recursively" 2534 " -r or -R remove the contents of directories recursively"
2535#define rm_example_usage \ 2535#define rm_example_usage \
2536 "$ rm -rf /tmp/foo\n" 2536 "$ rm -rf /tmp/foo\n"
2537 2537
2538#define rmdir_trivial_usage \ 2538#define rmdir_trivial_usage \
2539 "[OPTION]... DIRECTORY..." 2539 "[OPTION]... DIRECTORY..."
2540#define rmdir_full_usage \ 2540#define rmdir_full_usage \
2541 "Remove the DIRECTORY(ies), if they are empty." 2541 "Remove the DIRECTORY(ies), if they are empty."
2542#define rmdir_example_usage \ 2542#define rmdir_example_usage \
2543 "# rmdir /tmp/foo\n" 2543 "# rmdir /tmp/foo\n"
2544 2544
2545#define rmmod_trivial_usage \ 2545#define rmmod_trivial_usage \
2546 "[OPTION]... [MODULE]..." 2546 "[OPTION]... [MODULE]..."
2547#define rmmod_full_usage \ 2547#define rmmod_full_usage \
2548 "Unloads the specified kernel modules from the kernel.\n\n" \ 2548 "Unloads the specified kernel modules from the kernel.\n\n" \
2549 "Options:\n" \ 2549 "Options:\n" \
2550 "\t-a\tRemove all unused modules (recursively)" 2550 " -a Remove all unused modules (recursively)"
2551#define rmmod_example_usage \ 2551#define rmmod_example_usage \
2552 "$ rmmod tulip\n" 2552 "$ rmmod tulip\n"
2553 2553
2554#define route_trivial_usage \ 2554#define route_trivial_usage \
2555 "[{add|del|delete}]" 2555 "[{add|del|delete}]"
2556#define route_full_usage \ 2556#define route_full_usage \
2557 "Edit the kernel's routing tables.\n\n" \ 2557 "Edit the kernel's routing tables.\n\n" \
2558 "Options:\n" \ 2558 "Options:\n" \
2559 "\t-n\tDont resolve names\n" \ 2559 " -n Dont resolve names\n" \
2560 "\t-e\tDisplay other/more information\n" \ 2560 " -e Display other/more information\n" \
2561 "\t-A inet" USE_FEATURE_IPV6("{6}") "\tSelect address family" 2561 " -A inet" USE_FEATURE_IPV6("{6}") " Select address family"
2562 2562
2563#define rpm_trivial_usage \ 2563#define rpm_trivial_usage \
2564 "-i -q[ildc]p package.rpm" 2564 "-i -q[ildc]p package.rpm"
2565#define rpm_full_usage \ 2565#define rpm_full_usage \
2566 "Manipulates RPM packages" \ 2566 "Manipulates RPM packages" \
2567 "\n\nOptions:" \ 2567 "\n\nOptions:" \
2568 "\n\t-i Install package" \ 2568 "\n -i Install package" \
2569 "\n\t-q Query package" \ 2569 "\n -q Query package" \
2570 "\n\t-p Query uninstalled package" \ 2570 "\n -p Query uninstalled package" \
2571 "\n\t-i Show information" \ 2571 "\n -i Show information" \
2572 "\n\t-l List contents" \ 2572 "\n -l List contents" \
2573 "\n\t-d List documents" \ 2573 "\n -d List documents" \
2574 "\n\t-c List config files" 2574 "\n -c List config files"
2575 2575
2576#define rpm2cpio_trivial_usage \ 2576#define rpm2cpio_trivial_usage \
2577 "package.rpm" 2577 "package.rpm"
2578#define rpm2cpio_full_usage \ 2578#define rpm2cpio_full_usage \
2579 "Outputs a cpio archive of the rpm file." 2579 "Outputs a cpio archive of the rpm file."
2580 2580
2581#define run_parts_trivial_usage \ 2581#define run_parts_trivial_usage \
2582 "[-t] [-a ARG] [-u MASK] DIRECTORY" 2582 "[-t] [-a ARG] [-u MASK] DIRECTORY"
2583#define run_parts_full_usage \ 2583#define run_parts_full_usage \
2584 "Run a bunch of scripts in a directory.\n\n" \ 2584 "Run a bunch of scripts in a directory.\n\n" \
2585 "Options:\n" \ 2585 "Options:\n" \
2586 "\t-t\tPrints what would be run, but does not actually run anything\n" \ 2586 " -t Prints what would be run, but does not actually run anything\n" \
2587 "\t-a ARG\tPass ARG as an argument for every program invoked\n" \ 2587 " -a ARG Pass ARG as an argument for every program invoked\n" \
2588 "\t-u MASK\tSet the umask to MASK before executing every program" 2588 " -u MASK Set the umask to MASK before executing every program"
2589 2589
2590#define runlevel_trivial_usage \ 2590#define runlevel_trivial_usage \
2591 "[utmp]" 2591 "[utmp]"
2592#define runlevel_full_usage \ 2592#define runlevel_full_usage \
2593 "Find the current and previous system runlevel.\n\n" \ 2593 "Find the current and previous system runlevel.\n\n" \
2594 "If no utmp file exists or if no runlevel record can be found,\n" \ 2594 "If no utmp file exists or if no runlevel record can be found,\n" \
2595 "runlevel prints \"unknown\"" 2595 "runlevel prints \"unknown\""
2596#define runlevel_example_usage \ 2596#define runlevel_example_usage \
2597 "$ runlevel /var/run/utmp\n" \ 2597 "$ runlevel /var/run/utmp\n" \
2598 "N 2" 2598 "N 2"
2599 2599
2600#define runsv_trivial_usage \ 2600#define runsv_trivial_usage \
2601 "dir" 2601 "dir"
2602#define runsv_full_usage \ 2602#define runsv_full_usage \
2603 "Start and monitor a service and optionally an appendant log service." 2603 "Start and monitor a service and optionally an appendant log service."
2604 2604
2605#define runsvdir_trivial_usage \ 2605#define runsvdir_trivial_usage \
2606 "[-P] dir" 2606 "[-P] dir"
2607#define runsvdir_full_usage \ 2607#define runsvdir_full_usage \
2608 "Start a runsv process for each subdirectory." 2608 "Start a runsv process for each subdirectory."
2609 2609
2610#define rx_trivial_usage \ 2610#define rx_trivial_usage \
2611 "FILE" 2611 "FILE"
2612#define rx_full_usage \ 2612#define rx_full_usage \
2613 "Receive a file using the xmodem protocol." 2613 "Receive a file using the xmodem protocol."
2614#define rx_example_usage \ 2614#define rx_example_usage \
2615 "$ rx /tmp/foo\n" 2615 "$ rx /tmp/foo\n"
2616 2616
2617#define sed_trivial_usage \ 2617#define sed_trivial_usage \
2618 "[-efinr] pattern [files...]" 2618 "[-efinr] pattern [files...]"
2619#define sed_full_usage \ 2619#define sed_full_usage \
2620 "Options:\n" \ 2620 "Options:\n" \
2621 "\t-e script\tadd the script to the commands to be executed\n" \ 2621 " -e script add the script to the commands to be executed\n" \
2622 "\t-f scriptfile\tadd script-file contents to the\n" \ 2622 " -f scriptfile add script-file contents to the\n" \
2623 "\t\t\tcommands to be executed\n" \ 2623 " commands to be executed\n" \
2624 "\t-i\t\tedit files in-place\n" \ 2624 " -i edit files in-place\n" \
2625 "\t-n\t\tsuppress automatic printing of pattern space\n" \ 2625 " -n suppress automatic printing of pattern space\n" \
2626 "\t-r\t\tuse extended regular expression syntax\n" \ 2626 " -r use extended regular expression syntax\n" \
2627 "\n" \ 2627 "\n" \
2628 "If no -e or -f is given, the first non-option argument is taken as the sed\n" \ 2628 "If no -e or -f is given, the first non-option argument is taken as the sed\n" \
2629 "script to interpret. All remaining arguments are names of input files; if no\n" \ 2629 "script to interpret. All remaining arguments are names of input files; if no\n" \
2630 "input files are specified, then the standard input is read. Source files\n" \ 2630 "input files are specified, then the standard input is read. Source files\n" \
2631 "will not be modified unless -i option is given." 2631 "will not be modified unless -i option is given."
2632 2632
2633#define sed_example_usage \ 2633#define sed_example_usage \
2634 "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ 2634 "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \
2635 "bar\n" 2635 "bar\n"
2636 2636
2637#define seq_trivial_usage \ 2637#define seq_trivial_usage \
2638 "[first [increment]] last" 2638 "[first [increment]] last"
2639#define seq_full_usage \ 2639#define seq_full_usage \
2640 "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" \ 2640 "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" \
2641 "FIRST, INCREMENT default to 1\n" \ 2641 "FIRST, INCREMENT default to 1\n" \
2642 "Arguments:\n" \ 2642 "Arguments:\n" \
2643 "\tLAST\n" \ 2643 " LAST\n" \
2644 "\tFIRST\tLAST\n" \ 2644 " FIRST LAST\n" \
2645 "\tFIRST\tINCREMENT\tLAST" 2645 " FIRST INCREMENT LAST"
2646 2646
2647#define setconsole_trivial_usage \ 2647#define setconsole_trivial_usage \
2648 "[-r|--reset] [DEVICE]" 2648 "[-r|--reset] [DEVICE]"
2649#define setconsole_full_usage \ 2649#define setconsole_full_usage \
2650 "Redirects system console output to DEVICE (default: /dev/tty).\n\n" \ 2650 "Redirects system console output to DEVICE (default: /dev/tty).\n\n" \
2651 "Options:\n" \ 2651 "Options:\n" \
2652 "\t-r\tReset output to /dev/console." 2652 " -r Reset output to /dev/console."
2653 2653
2654#define setkeycodes_trivial_usage \ 2654#define setkeycodes_trivial_usage \
2655 "SCANCODE KEYCODE ..." 2655 "SCANCODE KEYCODE ..."
2656#define setkeycodes_full_usage \ 2656#define setkeycodes_full_usage \
2657 "Set entries into the kernel's scancode-to-keycode map,\n" \ 2657 "Set entries into the kernel's scancode-to-keycode map,\n" \
2658 "allowing unusual keyboards to generate usable keycodes.\n\n" \ 2658 "allowing unusual keyboards to generate usable keycodes.\n\n" \
2659 "SCANCODE may be either xx or e0xx (hexadecimal),\n" \ 2659 "SCANCODE may be either xx or e0xx (hexadecimal),\n" \
2660 "and KEYCODE is given in decimal" 2660 "and KEYCODE is given in decimal"
2661#define setkeycodes_example_usage \ 2661#define setkeycodes_example_usage \
2662 "$ setkeycodes e030 127\n" 2662 "$ setkeycodes e030 127\n"
2663 2663
2664#define setlogcons_trivial_usage \ 2664#define setlogcons_trivial_usage \
2665 "N" 2665 "N"
2666#define setlogcons_full_usage \ 2666#define setlogcons_full_usage \
2667 "Redirects the kernel output to console N (0 for current)." 2667 "Redirects the kernel output to console N (0 for current)."
2668 2668
2669#define setsid_trivial_usage \ 2669#define setsid_trivial_usage \
2670 "program [arg ...]" 2670 "program [arg ...]"
2671#define setsid_full_usage \ 2671#define setsid_full_usage \
2672 "Runs any program in a new session by calling setsid() before\n" \ 2672 "Runs any program in a new session by calling setsid() before\n" \
2673 "exec'ing the rest of its arguments. See setsid(2) for details." 2673 "exec'ing the rest of its arguments. See setsid(2) for details."
2674 2674
2675#define lash_trivial_usage \ 2675#define lash_trivial_usage \
2676 "[FILE]...\n" \ 2676 "[FILE]...\n" \
2677 "or: sh -c command [args]..." 2677 "or: sh -c command [args]..."
2678#define lash_full_usage \ 2678#define lash_full_usage \
2679 "The BusyBox LAme SHell (command interpreter)" 2679 "The BusyBox LAme SHell (command interpreter)"
2680#define lash_notes_usage \ 2680#define lash_notes_usage \
2681 "This command does not yet have proper documentation.\n\n" \ 2681 "This command does not yet have proper documentation.\n\n" \
2682 "Use lash just as you would use any other shell. It properly handles pipes,\n" \ 2682 "Use lash just as you would use any other shell. It properly handles pipes,\n" \
2683 "redirects, job control, can be used as the shell for scripts, and has a\n" \ 2683 "redirects, job control, can be used as the shell for scripts, and has a\n" \
2684 "sufficient set of builtins to do what is needed. It does not (yet) support\n" \ 2684 "sufficient set of builtins to do what is needed. It does not (yet) support\n" \
2685 "Bourne Shell syntax. If you need things like \"if-then-else\", \"while\", and such\n" \ 2685 "Bourne Shell syntax. If you need things like \"if-then-else\", \"while\", and such\n" \
2686 "use ash or bash. If you just need a very simple and extremely small shell,\n" \ 2686 "use ash or bash. If you just need a very simple and extremely small shell,\n" \
2687 "this will do the job." 2687 "this will do the job."
2688 2688
2689#define last_trivial_usage \ 2689#define last_trivial_usage \
2690 "" 2690 ""
2691#define last_full_usage \ 2691#define last_full_usage \
2692 "Shows listing of the last users that logged into the system" 2692 "Shows listing of the last users that logged into the system"
2693 2693
2694#define sha1sum_trivial_usage \ 2694#define sha1sum_trivial_usage \
2695 "[OPTION] [FILEs...]" \ 2695 "[OPTION] [FILEs...]" \
2696 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]") 2696 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]")
2697#define sha1sum_full_usage \ 2697#define sha1sum_full_usage \
2698 "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums.\n\n" \ 2698 "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums.\n\n" \
2699 "Options:\n" \ 2699 "Options:\n" \
2700 "With no FILE, or when FILE is -, read standard input." \ 2700 "With no FILE, or when FILE is -, read standard input." \
2701 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \ 2701 USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \
2702 "\t-c\tcheck SHA1 sums against given list\n" \ 2702 " -c check SHA1 sums against given list\n" \
2703 "\nThe following two options are useful only when verifying checksums:\n" \ 2703 "\nThe following two options are useful only when verifying checksums:\n" \
2704 "\t-s\tdon't output anything, status code shows success\n" \ 2704 " -s don't output anything, status code shows success\n" \
2705 "\t-w\twarn about improperly formatted SHA1 checksum lines") 2705 " -w warn about improperly formatted SHA1 checksum lines")
2706 2706
2707#define sleep_trivial_usage \ 2707#define sleep_trivial_usage \
2708 USE_FEATURE_FANCY_SLEEP("[") "N" USE_FEATURE_FANCY_SLEEP("]...") 2708 USE_FEATURE_FANCY_SLEEP("[") "N" USE_FEATURE_FANCY_SLEEP("]...")
2709#define sleep_full_usage \ 2709#define sleep_full_usage \
2710 SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds.") \ 2710 SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds.") \
2711 USE_FEATURE_FANCY_SLEEP( \ 2711 USE_FEATURE_FANCY_SLEEP( \
2712 "Pause for a time equal to the total of the args given, where each arg can\n" \ 2712 "Pause for a time equal to the total of the args given, where each arg can\n" \
2713 "\t\thave an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.") 2713 " have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.")
2714#define sleep_example_usage \ 2714#define sleep_example_usage \
2715 "$ sleep 2\n" \ 2715 "$ sleep 2\n" \
2716 "[2 second delay results]\n" \ 2716 "[2 second delay results]\n" \
2717 USE_FEATURE_FANCY_SLEEP("$ sleep 1d 3h 22m 8s\n" \ 2717 USE_FEATURE_FANCY_SLEEP("$ sleep 1d 3h 22m 8s\n" \
2718 "[98528 second delay results]\n") 2718 "[98528 second delay results]\n")
2719 2719
2720#define sort_trivial_usage \ 2720#define sort_trivial_usage \
2721 "[-nru" USE_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o outfile] [-k start[.offset][opts][,end[.offset][opts]] [-t char") "] [FILE]..." 2721 "[-nru" USE_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o outfile] [-k start[.offset][opts][,end[.offset][opts]] [-t char") "] [FILE]..."
2722#define sort_full_usage \ 2722#define sort_full_usage \
2723 "Sorts lines of text in the specified files\n\n" \ 2723 "Sorts lines of text in the specified files\n\n" \
2724 "Options:\n" \ 2724 "Options:\n" \
2725 USE_FEATURE_SORT_BIG( \ 2725 USE_FEATURE_SORT_BIG( \
2726 "\t-b\tignore leading blanks\n" \ 2726 " -b ignore leading blanks\n" \
2727 "\t-c\tcheck whether input is sorted\n" \ 2727 " -c check whether input is sorted\n" \
2728 "\t-d\tdictionary order (blank or alphanumeric only)\n" \ 2728 " -d dictionary order (blank or alphanumeric only)\n" \
2729 "\t-f\tignore case\n" \ 2729 " -f ignore case\n" \
2730 "\t-g\tgeneral numerical sort\n" \ 2730 " -g general numerical sort\n" \
2731 "\t-i\tignore unprintable characters\n" \ 2731 " -i ignore unprintable characters\n" \
2732 "\t-k\tspecify sort key\n" \ 2732 " -k specify sort key\n" \
2733 "\t-M\tsort month\n" \ 2733 " -M sort month\n" \
2734 ) \ 2734 ) \
2735 "\t-n\tsort numbers\n" \ 2735 " -n sort numbers\n" \
2736 USE_FEATURE_SORT_BIG( \ 2736 USE_FEATURE_SORT_BIG( \
2737 "\t-o\toutput to file\n" \ 2737 " -o output to file\n" \
2738 "\t-k\tsort by key\n" \ 2738 " -k sort by key\n" \
2739 "\t-t\tuse key separator other than whitespace\n" \ 2739 " -t use key separator other than whitespace\n" \
2740 ) \ 2740 ) \
2741 "\t-r\treverse sort order\n" \ 2741 " -r reverse sort order\n" \
2742 USE_FEATURE_SORT_BIG("\t-s\tstable (don't sort ties alphabetically)\n") \ 2742 USE_FEATURE_SORT_BIG(" -s stable (don't sort ties alphabetically)\n") \
2743 "\t-u\tsuppress duplicate lines" \ 2743 " -u suppress duplicate lines" \
2744 USE_FEATURE_SORT_BIG("\n\t-z\tinput terminated by nulls, not newlines\n") \ 2744 USE_FEATURE_SORT_BIG("\n -z input terminated by nulls, not newlines\n") \
2745 USE_FEATURE_SORT_BIG("\t-mST\tignored for GNU compatibility") \ 2745 USE_FEATURE_SORT_BIG(" -mST ignored for GNU compatibility") \
2746 "" 2746 ""
2747#define sort_example_usage \ 2747#define sort_example_usage \
2748 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ 2748 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \
2749 "a\n" \ 2749 "a\n" \
2750 "b\n" \ 2750 "b\n" \
2751 "c\n" \ 2751 "c\n" \
2752 "d\n" \ 2752 "d\n" \
2753 "e\n" \ 2753 "e\n" \
2754 "f\n" \ 2754 "f\n" \
2755 USE_FEATURE_SORT_BIG( \ 2755 USE_FEATURE_SORT_BIG( \
2756 "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ 2756 "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \
2757 "d 2\n" \ 2757 "d 2\n" \
2758 "b 2\n" \ 2758 "b 2\n" \
2759 "c 3\n" \ 2759 "c 3\n" \
2760 ) \ 2760 ) \
2761 "" 2761 ""
2762 2762
2763#define start_stop_daemon_trivial_usage \ 2763#define start_stop_daemon_trivial_usage \
2764 "[OPTIONS] [--start|--stop] ... [-- arguments...]" 2764 "[OPTIONS] [--start|--stop] ... [-- arguments...]"
2765#define start_stop_daemon_full_usage \ 2765#define start_stop_daemon_full_usage \
2766 "Program to start and stop services." \ 2766 "Program to start and stop services." \
2767 "\n\nOptions:" \ 2767 "\n\nOptions:" \
2768 "\n\t-S|--start\t\t\tstart" \ 2768 "\n -S|--start start" \
2769 "\n\t-K|--stop\t\t\tstop" \ 2769 "\n -K|--stop stop" \
2770 "\n\t-a|--startas <pathname>\t\tstarts process specified by pathname" \ 2770 "\n -a|--startas <pathname> starts process specified by pathname" \
2771 "\n\t-b|--background\t\t\tforce process into background" \ 2771 "\n -b|--background force process into background" \
2772 "\n\t-u|--user <username>|<uid>\tstop this user's processes" \ 2772 "\n -u|--user <username>|<uid> stop this user's processes" \
2773 "\n\t-x|--exec <executable>\t\tprogram to either start or check" \ 2773 "\n -x|--exec <executable> program to either start or check" \
2774 "\n\t-m|--make-pidfile\tcreate the -p file and enter pid in it" \ 2774 "\n -m|--make-pidfile create the -p file and enter pid in it" \
2775 "\n\t-n|--name <process-name>\tstop processes with this name" \ 2775 "\n -n|--name <process-name> stop processes with this name" \
2776 "\n\t-p|--pidfile <pid-file>\t\tsave or load pid using a pid-file" \ 2776 "\n -p|--pidfile <pid-file> save or load pid using a pid-file" \
2777 "\n\t-q|--quiet\t\t\tbe quiet" \ 2777 "\n -q|--quiet be quiet" \
2778USE_FEATURE_START_STOP_DAEMON_FANCY( \ 2778USE_FEATURE_START_STOP_DAEMON_FANCY( \
2779 "\n\t-o|--oknodo\t\t\texit status 0 if nothing done" \ 2779 "\n -o|--oknodo exit status 0 if nothing done" \
2780 "\n\t-v|--verbose\t\t\tbe verbose" \ 2780 "\n -v|--verbose be verbose" \
2781 "\n\t-N|--nicelevel <N>\t\tadd N to process's nice level" \ 2781 "\n -N|--nicelevel <N> add N to process's nice level" \
2782) \ 2782) \
2783 "\n\t-s|--signal <signal>\t\tsignal to send (default TERM)" \ 2783 "\n -s|--signal <signal> signal to send (default TERM)" \
2784 "\n\t-U|--chuid <username>|<uid>\tstart process with this name" 2784 "\n -U|--chuid <username>|<uid> start process with this name"
2785 2785
2786#define stat_trivial_usage \ 2786#define stat_trivial_usage \
2787 "[OPTION] FILE..." 2787 "[OPTION] FILE..."
2788#define stat_full_usage \ 2788#define stat_full_usage \
2789 "display file (default) or filesystem status.\n\n" \ 2789 "display file (default) or filesystem status.\n\n" \
2790 "Options:\n" \ 2790 "Options:\n" \
2791 USE_FEATURE_STAT_FORMAT("\t-c fmt\tuse the specified format\n") \ 2791 USE_FEATURE_STAT_FORMAT(" -c fmt use the specified format\n") \
2792 "\t-f\tdisplay filesystem status\n" \ 2792 " -f display filesystem status\n" \
2793 "\t-L,-l\tdereference links\n" \ 2793 " -L,-l dereference links\n" \
2794 "\t-t\tdisplay info in terse form\n" \ 2794 " -t display info in terse form\n" \
2795 USE_FEATURE_STAT_FORMAT( \ 2795 USE_FEATURE_STAT_FORMAT( \
2796 "\nValid format sequences for files:\n" \ 2796 "\nValid format sequences for files:\n" \
2797 " %a Access rights in octal\n" \ 2797 " %a Access rights in octal\n" \
2798 " %A Access rights in human readable form\n" \ 2798 " %A Access rights in human readable form\n" \
2799 " %b Number of blocks allocated (see %B)\n" \ 2799 " %b Number of blocks allocated (see %B)\n" \
2800 " %B The size in bytes of each block reported by %b\n" \ 2800 " %B The size in bytes of each block reported by %b\n" \
2801 " %d Device number in decimal\n" \ 2801 " %d Device number in decimal\n" \
2802 " %D Device number in hex\n" \ 2802 " %D Device number in hex\n" \
2803 " %f Raw mode in hex\n" \ 2803 " %f Raw mode in hex\n" \
2804 " %F File type\n" \ 2804 " %F File type\n" \
2805 " %g Group ID of owner\n" \ 2805 " %g Group ID of owner\n" \
2806 " %G Group name of owner\n" \ 2806 " %G Group name of owner\n" \
2807 " %h Number of hard links\n" \ 2807 " %h Number of hard links\n" \
2808 " %i Inode number\n" \ 2808 " %i Inode number\n" \
2809 " %n File name\n" \ 2809 " %n File name\n" \
2810 " %N Quoted file name with dereference if symbolic link\n" \ 2810 " %N Quoted file name with dereference if symbolic link\n" \
2811 " %o I/O block size\n" \ 2811 " %o I/O block size\n" \
2812 " %s Total size, in bytes\n" \ 2812 " %s Total size, in bytes\n" \
2813 " %t Major device type in hex\n" \ 2813 " %t Major device type in hex\n" \
2814 " %T Minor device type in hex\n" \ 2814 " %T Minor device type in hex\n" \
2815 " %u User ID of owner\n" \ 2815 " %u User ID of owner\n" \
2816 " %U User name of owner\n" \ 2816 " %U User name of owner\n" \
2817 " %x Time of last access\n" \ 2817 " %x Time of last access\n" \
2818 " %X Time of last access as seconds since Epoch\n" \ 2818 " %X Time of last access as seconds since Epoch\n" \
2819 " %y Time of last modification\n" \ 2819 " %y Time of last modification\n" \
2820 " %Y Time of last modification as seconds since Epoch\n" \ 2820 " %Y Time of last modification as seconds since Epoch\n" \
2821 " %z Time of last change\n" \ 2821 " %z Time of last change\n" \
2822 " %Z Time of last change as seconds since Epoch\n" \ 2822 " %Z Time of last change as seconds since Epoch\n" \
2823 "\nValid format sequences for file systems:\n" \ 2823 "\nValid format sequences for file systems:\n" \
2824 " %a Free blocks available to non-superuser\n" \ 2824 " %a Free blocks available to non-superuser\n" \
2825 " %b Total data blocks in file system\n" \ 2825 " %b Total data blocks in file system\n" \
2826 " %c Total file nodes in file system\n" \ 2826 " %c Total file nodes in file system\n" \
2827 " %d Free file nodes in file system\n" \ 2827 " %d Free file nodes in file system\n" \
2828 " %f Free blocks in file system\n" \ 2828 " %f Free blocks in file system\n" \
2829 " %i File System ID in hex\n" \ 2829 " %i File System ID in hex\n" \
2830 " %l Maximum length of filenames\n" \ 2830 " %l Maximum length of filenames\n" \
2831 " %n File name\n" \ 2831 " %n File name\n" \
2832 " %s Block size (for faster transfers)\n" \ 2832 " %s Block size (for faster transfers)\n" \
2833 " %S Fundamental block size (for block counts)\n" \ 2833 " %S Fundamental block size (for block counts)\n" \
2834 " %t Type in hex\n" \ 2834 " %t Type in hex\n" \
2835 " %T Type in human readable form\n" \ 2835 " %T Type in human readable form\n" \
2836 ) 2836 )
2837 2837
2838#define strings_trivial_usage \ 2838#define strings_trivial_usage \
2839 "[-afo] [-n length] [file ... ]" 2839 "[-afo] [-n length] [file ... ]"
2840#define strings_full_usage \ 2840#define strings_full_usage \
2841 "Display printable strings in a binary file." \ 2841 "Display printable strings in a binary file." \
2842 "\n\nOptions:" \ 2842 "\n\nOptions:" \
2843 "\n\t-a\tScan the whole files (this is the default)." \ 2843 "\n -a Scan the whole files (this is the default)." \
2844 "\n\t-f\tPrecede each string with the name of the file where it was found." \ 2844 "\n -f Precede each string with the name of the file where it was found." \
2845 "\n\t-n N\tSpecifies that at least N characters forms a sequence (default 4)" \ 2845 "\n -n N Specifies that at least N characters forms a sequence (default 4)" \
2846 "\n\t-o\tEach string is preceded by its decimal offset in the file" 2846 "\n -o Each string is preceded by its decimal offset in the file"
2847 2847
2848#define stty_trivial_usage \ 2848#define stty_trivial_usage \
2849 "[-a|g] [-F DEVICE] [SETTING]..." 2849 "[-a|g] [-F DEVICE] [SETTING]..."
2850#define stty_full_usage \ 2850#define stty_full_usage \
2851 "Without arguments, prints baud rate, line discipline," \ 2851 "Without arguments, prints baud rate, line discipline," \
2852 "\nand deviations from stty sane." \ 2852 "\nand deviations from stty sane." \
2853 "\n\nOptions:" \ 2853 "\n\nOptions:" \
2854 "\n\t-F DEVICE\topen device instead of stdin" \ 2854 "\n -F DEVICE open device instead of stdin" \
2855 "\n\t-a\t\tprint all current settings in human-readable form" \ 2855 "\n -a print all current settings in human-readable form" \
2856 "\n\t-g\t\tprint in stty-readable form" \ 2856 "\n -g print in stty-readable form" \
2857 "\n\t[SETTING]\tsee manpage" 2857 "\n [SETTING] see manpage"
2858 2858
2859#define su_trivial_usage \ 2859#define su_trivial_usage \
2860 "[OPTION]... [-] [username]" 2860 "[OPTION]... [-] [username]"
2861#define su_full_usage \ 2861#define su_full_usage \
2862 "Change user id or become root.\n" \ 2862 "Change user id or become root.\n" \
2863 "Options:\n" \ 2863 "Options:\n" \
2864 "\t-p, -m\tPreserve environment" \ 2864 " -p, -m Preserve environment" \
2865 "\n\t-c\tCommand to pass to 'sh -c'" \ 2865 "\n -c Command to pass to 'sh -c'" \
2866 "\n\t-s\tShell to use instead of default shell" 2866 "\n -s Shell to use instead of default shell"
2867 2867
2868#define sulogin_trivial_usage \ 2868#define sulogin_trivial_usage \
2869 "[OPTION]... [tty-device]" 2869 "[OPTION]... [tty-device]"
2870#define sulogin_full_usage \ 2870#define sulogin_full_usage \
2871 "Single user login\n" \ 2871 "Single user login\n" \
2872 "Options:\n" \ 2872 "Options:\n" \
2873 "\t-t\tTimeout" 2873 " -t Timeout"
2874 2874
2875#define sum_trivial_usage \ 2875#define sum_trivial_usage \
2876 "[rs] [files...]" 2876 "[rs] [files...]"
2877#define sum_full_usage \ 2877#define sum_full_usage \
2878 "checksum and count the blocks in a file\n\n" \ 2878 "checksum and count the blocks in a file\n\n" \
2879 "Options:\n" \ 2879 "Options:\n" \
2880 "\t-r\tuse BSD sum algorithm (1K blocks)\n" \ 2880 " -r use BSD sum algorithm (1K blocks)\n" \
2881 "\t-s\tuse System V sum algorithm (512byte blocks)" 2881 " -s use System V sum algorithm (512byte blocks)"
2882 2882
2883#define sv_trivial_usage \ 2883#define sv_trivial_usage \
2884 "[-v] [-w sec] command service..." 2884 "[-v] [-w sec] command service..."
2885#define sv_full_usage \ 2885#define sv_full_usage \
2886 "Report the current status and control the state of services " \ 2886 "Report the current status and control the state of services " \
2887 "monitored by the runsv supervisor." 2887 "monitored by the runsv supervisor."
2888 2888
2889#define svlogd_trivial_usage \ 2889#define svlogd_trivial_usage \
2890 "[-ttv] [-r c] [-R abc] [-l len] [-b buflen] dir..." 2890 "[-ttv] [-r c] [-R abc] [-l len] [-b buflen] dir..."
2891#define svlogd_full_usage \ 2891#define svlogd_full_usage \
2892 "Continuously read log data from standard input, optionally " \ 2892 "Continuously read log data from standard input, optionally " \
2893 "filter log messages, and write the data to one or more automatically " \ 2893 "filter log messages, and write the data to one or more automatically " \
2894 "rotated logs." 2894 "rotated logs."
2895 2895
2896#define swapoff_trivial_usage \ 2896#define swapoff_trivial_usage \
2897 "[-a] [DEVICE]" 2897 "[-a] [DEVICE]"
2898#define swapoff_full_usage \ 2898#define swapoff_full_usage \
2899 "Stop swapping virtual memory pages on DEVICE.\n\n" \ 2899 "Stop swapping virtual memory pages on DEVICE.\n\n" \
2900 "Options:\n" \ 2900 "Options:\n" \
2901 "\t-a\tStop swapping on all swap devices" 2901 " -a Stop swapping on all swap devices"
2902 2902
2903#define swapon_trivial_usage \ 2903#define swapon_trivial_usage \
2904 "[-a] [DEVICE]" 2904 "[-a] [DEVICE]"
2905#define swapon_full_usage \ 2905#define swapon_full_usage \
2906 "Start swapping virtual memory pages on DEVICE.\n\n" \ 2906 "Start swapping virtual memory pages on DEVICE.\n\n" \
2907 "Options:\n" \ 2907 "Options:\n" \
2908 "\t-a\tStart swapping on all swap devices" 2908 " -a Start swapping on all swap devices"
2909 2909
2910#define switch_root_trivial_usage \ 2910#define switch_root_trivial_usage \
2911 "[-c /dev/console] NEW_ROOT NEW_INIT [ARGUMENTS_TO_INIT]" 2911 "[-c /dev/console] NEW_ROOT NEW_INIT [ARGUMENTS_TO_INIT]"
2912#define switch_root_full_usage \ 2912#define switch_root_full_usage \
2913 "Use from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT,\n" \ 2913 "Use from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT,\n" \
2914 "and exec NEW_INIT.\n\n" \ 2914 "and exec NEW_INIT.\n\n" \
2915 "Options:\n" \ 2915 "Options:\n" \
2916 "\t-c\tRedirect console to device on new root" 2916 " -c Redirect console to device on new root"
2917 2917
2918#define sync_trivial_usage \ 2918#define sync_trivial_usage \
2919 "" 2919 ""
2920#define sync_full_usage \ 2920#define sync_full_usage \
2921 "Write all buffered filesystem blocks to disk." 2921 "Write all buffered filesystem blocks to disk."
2922 2922
2923#define sysctl_trivial_usage \ 2923#define sysctl_trivial_usage \
2924 "[OPTIONS]... [VALUE]..." 2924 "[OPTIONS]... [VALUE]..."
2925#define sysctl_full_usage \ 2925#define sysctl_full_usage \
2926 "configure kernel parameters at runtime\n\n" \ 2926 "configure kernel parameters at runtime\n\n" \
2927 "Options:\n" \ 2927 "Options:\n" \
2928 "\t-n\tUse this option to disable printing of the key name when printing values\n" \ 2928 " -n Use this option to disable printing of the key name when printing values\n" \
2929 "\t-w\tUse this option when you want to change a sysctl setting\n" \ 2929 " -w Use this option when you want to change a sysctl setting\n" \
2930 "\t-p\tLoad in sysctl settings from the file specified or /etc/sysctl.conf if none given\n" \ 2930 " -p Load in sysctl settings from the file specified or /etc/sysctl.conf if none given\n" \
2931 "\t-a\tDisplay all values currently available\n" \ 2931 " -a Display all values currently available\n" \
2932 "\t-A\tDisplay all values currently available in table form" 2932 " -A Display all values currently available in table form"
2933#define sysctl_example_usage \ 2933#define sysctl_example_usage \
2934 "sysctl [-n] variable ...\n" \ 2934 "sysctl [-n] variable ...\n" \
2935 "sysctl [-n] -w variable=value ...\n" \ 2935 "sysctl [-n] -w variable=value ...\n" \
2936 "sysctl [-n] -a\n" \ 2936 "sysctl [-n] -a\n" \
2937 "sysctl [-n] -p <file>\t(default /etc/sysctl.conf)\n" \ 2937 "sysctl [-n] -p <file> (default /etc/sysctl.conf)\n" \
2938 "sysctl [-n] -A\n" 2938 "sysctl [-n] -A\n"
2939 2939
2940#define syslogd_trivial_usage \ 2940#define syslogd_trivial_usage \
2941 "[OPTION]..." 2941 "[OPTION]..."
2942#define syslogd_full_usage \ 2942#define syslogd_full_usage \
2943 "Linux system and kernel logging utility.\n" \ 2943 "Linux system and kernel logging utility.\n" \
2944 "Note that this version of syslogd ignores /etc/syslog.conf.\n\n" \ 2944 "Note that this version of syslogd ignores /etc/syslog.conf.\n\n" \
2945 "Options:\n" \ 2945 "Options:\n" \
2946 "\t-m MIN\t\tMinutes between MARK lines (default=20, 0=off)\n" \ 2946 " -m MIN Minutes between MARK lines (default=20, 0=off)\n" \
2947 "\t-n\t\tRun as a foreground process\n" \ 2947 " -n Run as a foreground process\n" \
2948 "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)\n" \ 2948 " -O FILE Use an alternate log file (default=/var/log/messages)\n" \
2949 "\t-l n\tSets the local log level of messages to n\n" \ 2949 " -l n Sets the local log level of messages to n\n" \
2950 "\t-S\t\tMake logging output smaller" \ 2950 " -S Make logging output smaller" \
2951 USE_FEATURE_ROTATE_LOGFILE( \ 2951 USE_FEATURE_ROTATE_LOGFILE( \
2952 "\n\t-s SIZE\t\tMax size (KB) before rotate (default=200KB, 0=off)\n" \ 2952 "\n -s SIZE Max size (KB) before rotate (default=200KB, 0=off)\n" \
2953 "\t-b NUM\t\tNumber of rotated logs to keep (default=1, max=99, 0=purge)") \ 2953 " -b NUM Number of rotated logs to keep (default=1, max=99, 0=purge)") \
2954 USE_FEATURE_REMOTE_LOG( \ 2954 USE_FEATURE_REMOTE_LOG( \
2955 "\n\t-R HOST[:PORT]\tLog to IP or hostname on PORT (default PORT=514/UDP)\n" \ 2955 "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)\n" \
2956 "\t-L\t\tLog locally and via network logging (default is network only)") \ 2956 " -L Log locally and via network logging (default is network only)") \
2957 USE_FEATURE_IPC_SYSLOG( \ 2957 USE_FEATURE_IPC_SYSLOG( \
2958 "\n\t-C [size(KiB)]\tLog to a circular buffer (read the buffer using logread)") 2958 "\n -C [size(KiB)] Log to a circular buffer (read the buffer using logread)")
2959#define syslogd_example_usage \ 2959#define syslogd_example_usage \
2960 "$ syslogd -R masterlog:514\n" \ 2960 "$ syslogd -R masterlog:514\n" \
2961 "$ syslogd -R 192.168.1.1:601\n" 2961 "$ syslogd -R 192.168.1.1:601\n"
2962 2962
2963#define tail_trivial_usage \ 2963#define tail_trivial_usage \
2964 "[OPTION]... [FILE]..." 2964 "[OPTION]... [FILE]..."
2965#define tail_full_usage \ 2965#define tail_full_usage \
2966 "Print last 10 lines of each FILE to standard output.\n" \ 2966 "Print last 10 lines of each FILE to standard output.\n" \
2967 "With more than one FILE, precede each with a header giving the\n" \ 2967 "With more than one FILE, precede each with a header giving the\n" \
2968 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ 2968 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \
2969 "Options:\n" \ 2969 "Options:\n" \
2970 USE_FEATURE_FANCY_TAIL("\t-c N[kbm]\toutput the last N bytes\n") \ 2970 USE_FEATURE_FANCY_TAIL(" -c N[kbm] output the last N bytes\n") \
2971 "\t-n N[kbm]\tprint last N lines instead of last 10\n" \ 2971 " -n N[kbm] print last N lines instead of last 10\n" \
2972 "\t-f\t\toutput data as the file grows" \ 2972 " -f output data as the file grows" \
2973 USE_FEATURE_FANCY_TAIL( "\n\t-q\t\tnever output headers giving file names\n" \ 2973 USE_FEATURE_FANCY_TAIL( "\n -q never output headers giving file names\n" \
2974 "\t-s SEC\t\twait SEC seconds between reads with -f\n" \ 2974 " -s SEC wait SEC seconds between reads with -f\n" \
2975 "\t-v\t\talways output headers giving file names\n\n" \ 2975 " -v always output headers giving file names\n\n" \
2976 "If the first character of N (bytes or lines) is a '+', output begins with\n" \ 2976 "If the first character of N (bytes or lines) is a '+', output begins with\n" \
2977 "the Nth item from the start of each file, otherwise, print the last N items\n" \ 2977 "the Nth item from the start of each file, otherwise, print the last N items\n" \
2978 "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)." ) 2978 "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)." )
2979#define tail_example_usage \ 2979#define tail_example_usage \
2980 "$ tail -n 1 /etc/resolv.conf\n" \ 2980 "$ tail -n 1 /etc/resolv.conf\n" \
2981 "nameserver 10.0.0.1\n" 2981 "nameserver 10.0.0.1\n"
2982 2982
2983#define tar_trivial_usage \ 2983#define tar_trivial_usage \
2984 "-[" USE_FEATURE_TAR_CREATE("c") USE_FEATURE_TAR_GZIP("z") \ 2984 "-[" USE_FEATURE_TAR_CREATE("c") USE_FEATURE_TAR_GZIP("z") \
2985 USE_FEATURE_TAR_BZIP2("j") USE_FEATURE_TAR_LZMA("a") \ 2985 USE_FEATURE_TAR_BZIP2("j") USE_FEATURE_TAR_LZMA("a") \
2986 USE_FEATURE_TAR_COMPRESS("Z") "xtvO] " \ 2986 USE_FEATURE_TAR_COMPRESS("Z") "xtvO] " \
2987 USE_FEATURE_TAR_FROM("[-X FILE] ") \ 2987 USE_FEATURE_TAR_FROM("[-X FILE] ") \
2988 "[-f TARFILE] [-C DIR] [FILE(s)] ..." 2988 "[-f TARFILE] [-C DIR] [FILE(s)] ..."
2989#define tar_full_usage \ 2989#define tar_full_usage \
2990 "Create, extract, or list files from a tar file.\n\n" \ 2990 "Create, extract, or list files from a tar file.\n\n" \
2991 "Options:\n" \ 2991 "Options:\n" \
2992 USE_FEATURE_TAR_CREATE("\tc\t\tcreate\n") \ 2992 USE_FEATURE_TAR_CREATE(" c create\n") \
2993 "\tx\t\textract\n" \ 2993 " x extract\n" \
2994 "\tt\t\tlist\n" \ 2994 " t list\n" \
2995 "\nArchive format selection:\n" \ 2995 "\nArchive format selection:\n" \
2996 USE_FEATURE_TAR_GZIP("\tz\t\tFilter the archive through gzip\n") \ 2996 USE_FEATURE_TAR_GZIP(" z Filter the archive through gzip\n") \
2997 USE_FEATURE_TAR_BZIP2("\tj\t\tFilter the archive through bzip2\n") \ 2997 USE_FEATURE_TAR_BZIP2(" j Filter the archive through bzip2\n") \
2998 USE_FEATURE_TAR_LZMA("\ta\t\tFilter the archive through lzma\n") \ 2998 USE_FEATURE_TAR_LZMA(" a Filter the archive through lzma\n") \
2999 USE_FEATURE_TAR_COMPRESS("\tZ\t\tFilter the archive through compress\n") \ 2999 USE_FEATURE_TAR_COMPRESS(" Z Filter the archive through compress\n") \
3000 "\nFile selection:\n" \ 3000 "\nFile selection:\n" \
3001 "\tf\t\tname of TARFILE or \"-\" for stdin\n" \ 3001 " f name of TARFILE or \"-\" for stdin\n" \
3002 "\tO\t\textract to stdout\n" \ 3002 " O extract to stdout\n" \
3003 USE_FEATURE_TAR_FROM( \ 3003 USE_FEATURE_TAR_FROM( \
3004 "\texclude\t\tfile to exclude\n" \ 3004 " exclude file to exclude\n" \
3005 "\tX\t\tfile with names to exclude\n" \ 3005 " X file with names to exclude\n" \
3006 ) \ 3006 ) \
3007 "\tC\t\tchange to directory DIR before operation\n" \ 3007 " C change to directory DIR before operation\n" \
3008 "\tv\t\tverbosely list files processed" 3008 " v verbosely list files processed"
3009#define tar_example_usage \ 3009#define tar_example_usage \
3010 "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \ 3010 "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \
3011 "$ tar -cf /tmp/tarball.tar /usr/local\n" 3011 "$ tar -cf /tmp/tarball.tar /usr/local\n"
3012 3012
3013#define taskset_trivial_usage \ 3013#define taskset_trivial_usage \
3014 "[OPTIONS] [mask] [pid | command [arg]...]" 3014 "[OPTIONS] [mask] [pid | command [arg]...]"
3015#define taskset_full_usage \ 3015#define taskset_full_usage \
3016 "Set or get CPU affinity.\n\n" \ 3016 "Set or get CPU affinity.\n\n" \
3017 "Options:\n" \ 3017 "Options:\n" \
3018 "\t-p\toperate on an existing PID" 3018 " -p operate on an existing PID"
3019#define taskset_example_usage \ 3019#define taskset_example_usage \
3020 "$ taskset 0x7 ./dgemm_test&\n" \ 3020 "$ taskset 0x7 ./dgemm_test&\n" \
3021 "$ taskset -p 0x1 $!\n" \ 3021 "$ taskset -p 0x1 $!\n" \
@@ -3028,459 +3028,458 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
3028 "pid 1's current affinity mask: 3\n" 3028 "pid 1's current affinity mask: 3\n"
3029 3029
3030#define tee_trivial_usage \ 3030#define tee_trivial_usage \
3031 "[OPTION]... [FILE]..." 3031 "[OPTION]... [FILE]..."
3032#define tee_full_usage \ 3032#define tee_full_usage \
3033 "Copy standard input to each FILE, and also to standard output.\n\n" \ 3033 "Copy standard input to each FILE, and also to standard output.\n\n" \
3034 "Options:\n" \ 3034 "Options:\n" \
3035 "\t-a\tappend to the given FILEs, do not overwrite\n" \ 3035 " -a append to the given FILEs, do not overwrite\n" \
3036 "\t-i\tignore interrupt signals (SIGINT)" 3036 " -i ignore interrupt signals (SIGINT)"
3037#define tee_example_usage \ 3037#define tee_example_usage \
3038 "$ echo \"Hello\" | tee /tmp/foo\n" \ 3038 "$ echo \"Hello\" | tee /tmp/foo\n" \
3039 "$ cat /tmp/foo\n" \ 3039 "$ cat /tmp/foo\n" \
3040 "Hello\n" 3040 "Hello\n"
3041 3041
3042#ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN 3042#ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN
3043#define telnet_trivial_usage \ 3043#define telnet_trivial_usage \
3044 "[-a] [-l USER] HOST [PORT]" 3044 "[-a] [-l USER] HOST [PORT]"
3045#define telnet_full_usage \ 3045#define telnet_full_usage \
3046 "Telnet is used to establish interactive communication with another\n" \ 3046 "Telnet is used to establish interactive communication with another\n" \
3047 "computer over a network using the TELNET protocol.\n\n" \ 3047 "computer over a network using the TELNET protocol.\n\n" \
3048 "Options:\n" \ 3048 "Options:\n" \
3049 "\t-a\t\tAttempt an automatic login with the USER variable\n" \ 3049 " -a Attempt an automatic login with the USER variable\n" \
3050 "\t-l USER\t\tAttempt an automatic login with the USER argument\n" \ 3050 " -l USER Attempt an automatic login with the USER argument\n" \
3051 "\tHOST\t\tThe official name, alias or the IP address of the\n" \ 3051 " HOST The official name, alias or the IP address of the\n" \
3052 "\t\t\tremote host.\n" \ 3052 " remote host.\n" \
3053 "\tPORT\t\tThe remote port number to connect to. If it is not\n" \ 3053 " PORT The remote port number to connect to. If it is not\n" \
3054 "\t\t\tspecified, the default telnet (23) port is used." 3054 " specified, the default telnet (23) port is used."
3055#else 3055#else
3056#define telnet_trivial_usage \ 3056#define telnet_trivial_usage \
3057 "HOST [PORT]" 3057 "HOST [PORT]"
3058#define telnet_full_usage \ 3058#define telnet_full_usage \
3059 "Telnet is used to establish interactive communication with another\n" \ 3059 "Telnet is used to establish interactive communication with another\n" \
3060 "computer over a network using the TELNET protocol." 3060 "computer over a network using the TELNET protocol."
3061#endif 3061#endif
3062 3062
3063#ifdef CONFIG_FEATURE_TELNETD_STANDALONE 3063#ifdef CONFIG_FEATURE_TELNETD_STANDALONE
3064#define telnetd_trivial_usage \ 3064#define telnetd_trivial_usage \
3065 "[OPTION]" 3065 "[OPTION]"
3066#define telnetd_full_usage \ 3066#define telnetd_full_usage \
3067 "Telnetd listens for incoming TELNET connections on PORT.\n" \ 3067 "Telnetd listens for incoming TELNET connections on PORT.\n" \
3068 "Options:\n" \ 3068 "Options:\n" \
3069 "\t-p PORT\t\tlisten for connections on PORT (default 23)\n" \ 3069 " -p PORT listen for connections on PORT (default 23)\n" \
3070 "\t-l LOGIN\texec LOGIN on connect\n" \ 3070 " -l LOGIN exec LOGIN on connect\n" \
3071 "\t-f issue_file\tDisplay issue_file instead of /etc/issue\n" \ 3071 " -f issue_file Display issue_file instead of /etc/issue\n" \
3072 "\t-F\t\tForeground mode\n" \ 3072 " -F Foreground mode\n" \
3073 "\t-i\t\tInetd mode" 3073 " -i Inetd mode"
3074#else 3074#else
3075#define telnetd_trivial_usage \ 3075#define telnetd_trivial_usage \
3076 "[OPTION]" 3076 "[OPTION]"
3077#define telnetd_full_usage \ 3077#define telnetd_full_usage \
3078 "Telnetd uses incoming TELNET connections via inetd.\n" \ 3078 "Telnetd uses incoming TELNET connections via inetd.\n" \
3079 "Options:\n" \ 3079 "Options:\n" \
3080 "\t-l LOGIN\texec LOGIN on connect\n" \ 3080 " -l LOGIN exec LOGIN on connect\n" \
3081 "\t-f issue_file\tDisplay issue_file instead of /etc/issue" 3081 " -f issue_file Display issue_file instead of /etc/issue"
3082#endif 3082#endif
3083 3083
3084#define test_trivial_usage \ 3084#define test_trivial_usage \
3085 "EXPRESSION\n or [ EXPRESSION ]" 3085 "EXPRESSION\n or [ EXPRESSION ]"
3086#define test_full_usage \ 3086#define test_full_usage \
3087 "Checks file types and compares values returning an exit\n" \ 3087 "Checks file types and compares values returning an exit\n" \
3088 "code determined by the value of EXPRESSION." 3088 "code determined by the value of EXPRESSION."
3089#define test_example_usage \ 3089#define test_example_usage \
3090 "$ test 1 -eq 2\n" \ 3090 "$ test 1 -eq 2\n" \
3091 "$ echo $?\n" \ 3091 "$ echo $?\n" \
3092 "1\n" \ 3092 "1\n" \
3093 "$ test 1 -eq 1\n" \ 3093 "$ test 1 -eq 1\n" \
3094 "$ echo $?\n" \ 3094 "$ echo $?\n" \
3095 "0\n" \ 3095 "0\n" \
3096 "$ [ -d /etc ]\n" \ 3096 "$ [ -d /etc ]\n" \
3097 "$ echo $?\n" \ 3097 "$ echo $?\n" \
3098 "0\n" \ 3098 "0\n" \
3099 "$ [ -d /junk ]\n" \ 3099 "$ [ -d /junk ]\n" \
3100 "$ echo $?\n" \ 3100 "$ echo $?\n" \
3101 "1\n" 3101 "1\n"
3102 3102
3103#define tftp_trivial_usage \ 3103#define tftp_trivial_usage \
3104 "[OPTION]... HOST [PORT]" 3104 "[OPTION]... HOST [PORT]"
3105#define tftp_full_usage \ 3105#define tftp_full_usage \
3106 "Transfers a file from/to a tftp server using \"octet\" mode.\n\n" \ 3106 "Transfers a file from/to a tftp server using \"octet\" mode.\n\n" \
3107 "Options:\n" \ 3107 "Options:\n" \
3108 "\t-l FILE\tLocal FILE\n" \ 3108 " -l FILE Local FILE\n" \
3109 "\t-r FILE\tRemote FILE" \ 3109 " -r FILE Remote FILE" \
3110 USE_FEATURE_TFTP_GET( \ 3110 USE_FEATURE_TFTP_GET( \
3111 "\n\t-g\tGet file" \ 3111 "\n -g Get file" \
3112 ) \ 3112 ) \
3113 USE_FEATURE_TFTP_PUT( \ 3113 USE_FEATURE_TFTP_PUT( \
3114 "\n\t-p\tPut file" \ 3114 "\n -p Put file" \
3115 ) \ 3115 ) \
3116 USE_FEATURE_TFTP_BLOCKSIZE( \ 3116 USE_FEATURE_TFTP_BLOCKSIZE( \
3117 "\n\t-b SIZE\tTransfer blocks of SIZE octets" \ 3117 "\n -b SIZE Transfer blocks of SIZE octets" \
3118 ) 3118 )
3119#define time_trivial_usage \ 3119#define time_trivial_usage \
3120 "[OPTION]... COMMAND [ARGS...]" 3120 "[OPTION]... COMMAND [ARGS...]"
3121#define time_full_usage \ 3121#define time_full_usage \
3122 "Runs the program COMMAND with arguments ARGS. When COMMAND finishes,\n" \ 3122 "Runs the program COMMAND with arguments ARGS. When COMMAND finishes,\n" \
3123 "COMMAND's resource usage information is displayed\n\n" \ 3123 "COMMAND's resource usage information is displayed\n\n" \
3124 "Options:\n" \ 3124 "Options:\n" \
3125 "\t-v\tDisplays verbose resource usage information" 3125 " -v Displays verbose resource usage information"
3126 3126
3127#define top_trivial_usage \ 3127#define top_trivial_usage \
3128 "[-b] [-n count] [-d seconds]" 3128 "[-b] [-n count] [-d seconds]"
3129#define top_full_usage \ 3129#define top_full_usage \
3130 "top provides a view of process activity in real time.\n" \ 3130 "top provides a view of process activity in real time.\n" \
3131 "It reads the status of all processes from /proc each <seconds>\n" \ 3131 "It reads the status of all processes from /proc each <seconds>\n" \
3132 "and shows the status for however many processes will fit on the screen." 3132 "and shows the status for however many processes will fit on the screen."
3133 3133
3134#define touch_trivial_usage \ 3134#define touch_trivial_usage \
3135 "[-c] FILE [FILE ...]" 3135 "[-c] FILE [FILE ...]"
3136#define touch_full_usage \ 3136#define touch_full_usage \
3137 "Update the last-modified date on the given FILE[s].\n\n" \ 3137 "Update the last-modified date on the given FILE[s].\n\n" \
3138 "Options:\n" \ 3138 "Options:\n" \
3139 "\t-c\tDo not create any files" 3139 " -c Do not create any files"
3140#define touch_example_usage \ 3140#define touch_example_usage \
3141 "$ ls -l /tmp/foo\n" \ 3141 "$ ls -l /tmp/foo\n" \
3142 "/bin/ls: /tmp/foo: No such file or directory\n" \ 3142 "/bin/ls: /tmp/foo: No such file or directory\n" \
3143 "$ touch /tmp/foo\n" \ 3143 "$ touch /tmp/foo\n" \
3144 "$ ls -l /tmp/foo\n" \ 3144 "$ ls -l /tmp/foo\n" \
3145 "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n" 3145 "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n"
3146 3146
3147#define tr_trivial_usage \ 3147#define tr_trivial_usage \
3148 "[-cds] STRING1 [STRING2]" 3148 "[-cds] STRING1 [STRING2]"
3149#define tr_full_usage \ 3149#define tr_full_usage \
3150 "Translate, squeeze, and/or delete characters from\n" \ 3150 "Translate, squeeze, and/or delete characters from\n" \
3151 "standard input, writing to standard output.\n\n" \ 3151 "standard input, writing to standard output.\n\n" \
3152 "Options:\n" \ 3152 "Options:\n" \
3153 "\t-c\ttake complement of STRING1\n" \ 3153 " -c take complement of STRING1\n" \
3154 "\t-d\tdelete input characters coded STRING1\n" \ 3154 " -d delete input characters coded STRING1\n" \
3155 "\t-s\tsqueeze multiple output characters of STRING2 into one character" 3155 " -s squeeze multiple output characters of STRING2 into one character"
3156#define tr_example_usage \ 3156#define tr_example_usage \
3157 "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \ 3157 "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \
3158 "hello world\n" 3158 "hello world\n"
3159 3159
3160#define traceroute_trivial_usage \ 3160#define traceroute_trivial_usage \
3161 "[-FIldnrv] [-f 1st_ttl] [-m max_ttl] [-p port#] [-q nqueries]\n" \ 3161 "[-FIldnrv] [-f 1st_ttl] [-m max_ttl] [-p port#] [-q nqueries]\n" \
3162 "\t[-s src_addr] [-t tos] [-w wait] [-g gateway] [-i iface]\n" \ 3162 " [-s src_addr] [-t tos] [-w wait] [-g gateway] [-i iface]\n" \
3163 "\t[-z pausemsecs] host [data size]" 3163 " [-z pausemsecs] host [data size]"
3164#define traceroute_full_usage \ 3164#define traceroute_full_usage \
3165 "trace the route ip packets follow going to \"host\"\n" \ 3165 "trace the route ip packets follow going to \"host\"\n" \
3166 "Options:\n" \ 3166 "Options:\n" \
3167 "\t-F\tSet the don't fragment bit\n" \ 3167 " -F Set the don't fragment bit\n" \
3168 "\t-I\tUse ICMP ECHO instead of UDP datagrams\n" \ 3168 " -I Use ICMP ECHO instead of UDP datagrams\n" \
3169 "\t-l\tDisplay the ttl value of the returned packet\n" \ 3169 " -l Display the ttl value of the returned packet\n" \
3170 "\t-d\tSet SO_DEBUG options to socket\n" \ 3170 " -d Set SO_DEBUG options to socket\n" \
3171 "\t-n\tPrint hop addresses numerically rather than symbolically\n" \ 3171 " -n Print hop addresses numerically rather than symbolically\n" \
3172 "\t-r\tBypass the normal routing tables and send directly to a host\n" \ 3172 " -r Bypass the normal routing tables and send directly to a host\n" \
3173 "\t-v\tVerbose output\n" \ 3173 " -v Verbose output\n" \
3174 "\t-m max_ttl\tSet the max time-to-live (max number of hops)\n" \ 3174 " -m max_ttl Set the max time-to-live (max number of hops)\n" \
3175 "\t-p port#\tSet the base UDP port number used in probes\n" \ 3175 " -p port# Set the base UDP port number used in probes\n" \
3176 "\t\t(default is 33434)\n" \ 3176 " (default is 33434)\n" \
3177 "\t-q nqueries\tSet the number of probes per 'ttl' to nqueries\n" \ 3177 " -q nqueries Set the number of probes per 'ttl' to nqueries\n" \
3178 "\t\t(default is 3)\n" \ 3178 " (default is 3)\n" \
3179 "\t-s src_addr\tUse the following IP address as the source address\n" \ 3179 " -s src_addr Use the following IP address as the source address\n" \
3180 "\t-t tos\tSet the type-of-service in probe packets to the following value\n" \ 3180 " -t tos Set the type-of-service in probe packets to the following value\n" \
3181 "\t\t(default 0)\n" \ 3181 " (default 0)\n" \
3182 "\t-w wait\tSet the time (in seconds) to wait for a response to a probe\n" \ 3182 " -w wait Set the time (in seconds) to wait for a response to a probe\n" \
3183 "\t\t(default 3 sec)\n" \ 3183 " (default 3 sec)\n" \
3184 "\t-g\tSpecify a loose source route gateway (8 maximum)" 3184 " -g Specify a loose source route gateway (8 maximum)"
3185 3185
3186 3186
3187#define true_trivial_usage \ 3187#define true_trivial_usage \
3188 "" 3188 ""
3189#define true_full_usage \ 3189#define true_full_usage \
3190 "Return an exit code of TRUE (0)." 3190 "Return an exit code of TRUE (0)."
3191#define true_example_usage \ 3191#define true_example_usage \
3192 "$ true\n" \ 3192 "$ true\n" \
3193 "$ echo $?\n" \ 3193 "$ echo $?\n" \
3194 "0\n" 3194 "0\n"
3195 3195
3196#define tty_trivial_usage \ 3196#define tty_trivial_usage \
3197 "" 3197 ""
3198#define tty_full_usage \ 3198#define tty_full_usage \
3199 "Print the file name of the terminal connected to standard input.\n\n" \ 3199 "Print the file name of the terminal connected to standard input.\n\n" \
3200 "Options:\n" \ 3200 "Options:\n" \
3201 "\t-s\tprint nothing, only return an exit status" 3201 " -s print nothing, only return an exit status"
3202#define tty_example_usage \ 3202#define tty_example_usage \
3203 "$ tty\n" \ 3203 "$ tty\n" \
3204 "/dev/tty2\n" 3204 "/dev/tty2\n"
3205 3205
3206#define tune2fs_trivial_usage \ 3206#define tune2fs_trivial_usage \
3207 "[-c max-mounts-count] [-e errors-behavior] [-g group] " \ 3207 "[-c max-mounts-count] [-e errors-behavior] [-g group] " \
3208 "[-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s sparse-flag] " \ 3208 "[-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s sparse-flag] " \
3209 "[-m reserved-blocks-percent] [-o [^]mount-options[,...]] " \ 3209 "[-m reserved-blocks-percent] [-o [^]mount-options[,...]] " \
3210 "[-r reserved-blocks-count] [-u user] [-C mount-count] " \ 3210 "[-r reserved-blocks-count] [-u user] [-C mount-count] " \
3211 "[-L volume-label] [-M last-mounted-dir] [-O [^]feature[,...]] " \ 3211 "[-L volume-label] [-M last-mounted-dir] [-O [^]feature[,...]] " \
3212 "[-T last-check-time] [-U UUID] device" 3212 "[-T last-check-time] [-U UUID] device"
3213#define tune2fs_full_usage \ 3213#define tune2fs_full_usage \
3214 "Adjust filesystem options on ext[23] filesystems." 3214 "Adjust filesystem options on ext[23] filesystems."
3215 3215
3216#define udhcpc_trivial_usage \ 3216#define udhcpc_trivial_usage \
3217 "[-Cfbnqtv] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n[-p pidfile] [-r IP] [-s script]" 3217 "[-Cfbnqtv] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n[-p pidfile] [-r IP] [-s script]"
3218#define udhcpc_full_usage \ 3218#define udhcpc_full_usage \
3219 "\t-c,\t--clientid=CLIENTID\tSet client identifier\n" \ 3219 " -V,--vendorclass=CLASSID Set vendor class identifier\n" \
3220 "\t-C,\t--clientid-none\tSuppress default client identifier\n" \ 3220 " -i,--interface=INTERFACE Interface to use (default: eth0)\n" \
3221 "\t-V,\t--vendorclass=CLASSID\tSet vendor class identifier\n" \ 3221 " -H,-h,--hostname=HOSTNAME Client hostname\n" \
3222 "\t-H,\t--hostname=HOSTNAME\tClient hostname\n" \ 3222 " -c,--clientid=CLIENTID Set client identifier\n" \
3223 "\t-h,\t \tAlias for -H\n" \ 3223 " -C,--clientid-none Suppress default client identifier\n" \
3224 "\t-f,\t--foreground\tDo not fork after getting lease\n" \ 3224 " -p,--pidfile=file Store process ID of daemon in file\n" \
3225 "\t-b,\t--background\tFork to background if lease cannot be immediately negotiated\n" \ 3225 " -r,--request=IP IP address to request (default: none)\n" \
3226 "\t-i,\t--interface=INTERFACE\tInterface to use (default: eth0)\n" \ 3226 " -s,--script=file Run file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
3227 "\t-n,\t--now\tExit with failure if lease cannot be immediately negotiated\n" \ 3227 " -t,--retries=NUM Send up to NUM request packets\n"\
3228 "\t-p,\t--pidfile=file\tStore process ID of daemon in file\n" \ 3228 " -f,--foreground Do not fork after getting lease\n" \
3229 "\t-q,\t--quit\tQuit after obtaining lease\n" \ 3229 " -b,--background Fork to background if lease cannot be immediately negotiated\n" \
3230 "\t-R,\t--release\tRelease IP on quit\n" \ 3230 " -n,--now Exit with failure if lease cannot be immediately negotiated\n" \
3231 "\t-r,\t--request=IP\tIP address to request (default: none)\n" \ 3231 " -q,--quit Quit after obtaining lease\n" \
3232 "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \ 3232 " -R,--release Release IP on quit\n" \
3233 "\t-t,\t--retries=NUM\tSend up to NUM request packets\n"\ 3233 " -v,--version Display version" \
3234 "\t-v,\t--version\tDisplay version"
3235 3234
3236#define udhcpd_trivial_usage \ 3235#define udhcpd_trivial_usage \
3237 "[configfile]\n" \ 3236 "[configfile]\n" \
3238 3237
3239#define udhcpd_full_usage \ 3238#define udhcpd_full_usage \
3240 "" 3239 ""
3241 3240
3242#define umount_trivial_usage \ 3241#define umount_trivial_usage \
3243 "[flags] FILESYSTEM|DIRECTORY" 3242 "[flags] FILESYSTEM|DIRECTORY"
3244#define umount_full_usage \ 3243#define umount_full_usage \
3245 "Unmount file systems\n" \ 3244 "Unmount file systems\n" \
3246 "\nFlags:\n" "\t-a\tUnmount all file systems" \ 3245 "\nFlags:\n" " -a Unmount all file systems" \
3247 USE_FEATURE_MTAB_SUPPORT(" in /etc/mtab\n\t-n\tDon't erase /etc/mtab entries") \ 3246 USE_FEATURE_MTAB_SUPPORT(" in /etc/mtab\n -n Don't erase /etc/mtab entries") \
3248 "\n\t-r\tTry to remount devices as read-only if mount is busy" \ 3247 "\n -r Try to remount devices as read-only if mount is busy" \
3249 "\n\t-l\tLazy umount (detach filesystem)" \ 3248 "\n -l Lazy umount (detach filesystem)" \
3250 "\n\t-f\tForce umount (i.e., unreachable NFS server)" \ 3249 "\n -f Force umount (i.e., unreachable NFS server)" \
3251 USE_FEATURE_MOUNT_LOOP("\n\t-D\tDo not free loop device (if a loop device has been used)") 3250 USE_FEATURE_MOUNT_LOOP("\n -D Do not free loop device (if a loop device has been used)")
3252#define umount_example_usage \ 3251#define umount_example_usage \
3253 "$ umount /dev/hdc1\n" 3252 "$ umount /dev/hdc1\n"
3254 3253
3255#define uname_trivial_usage \ 3254#define uname_trivial_usage \
3256 "[OPTION]..." 3255 "[OPTION]..."
3257#define uname_full_usage \ 3256#define uname_full_usage \
3258 "Print certain system information. With no OPTION, same as -s.\n\n" \ 3257 "Print certain system information. With no OPTION, same as -s.\n\n" \
3259 "Options:\n" \ 3258 "Options:\n" \
3260 "\t-a\tprint all information\n" \ 3259 " -a print all information\n" \
3261 "\t-m\tthe machine (hardware) type\n" \ 3260 " -m the machine (hardware) type\n" \
3262 "\t-n\tprint the machine's network node hostname\n" \ 3261 " -n print the machine's network node hostname\n" \
3263 "\t-r\tprint the operating system release\n" \ 3262 " -r print the operating system release\n" \
3264 "\t-s\tprint the operating system name\n" \ 3263 " -s print the operating system name\n" \
3265 "\t-p\tprint the host processor type\n" \ 3264 " -p print the host processor type\n" \
3266 "\t-v\tprint the operating system version" 3265 " -v print the operating system version"
3267#define uname_example_usage \ 3266#define uname_example_usage \
3268 "$ uname -a\n" \ 3267 "$ uname -a\n" \
3269 "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n" 3268 "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n"
3270 3269
3271#define uncompress_trivial_usage \ 3270#define uncompress_trivial_usage \
3272 "[-c] [-f] [ name ... ]" 3271 "[-c] [-f] [ name ... ]"
3273#define uncompress_full_usage \ 3272#define uncompress_full_usage \
3274 "Uncompress .Z file[s]\n" \ 3273 "Uncompress .Z file[s]\n" \
3275 "Options:\n" \ 3274 "Options:\n" \
3276 "\t-c\textract to stdout\n" \ 3275 " -c extract to stdout\n" \
3277 "\t-f\tforce overwrite an existing file" 3276 " -f force overwrite an existing file"
3278 3277
3279#define uniq_trivial_usage \ 3278#define uniq_trivial_usage \
3280 "[-fscdu]... [INPUT [OUTPUT]]" 3279 "[-fscdu]... [INPUT [OUTPUT]]"
3281#define uniq_full_usage \ 3280#define uniq_full_usage \
3282 "Discard all but one of successive identical lines from INPUT\n" \ 3281 "Discard all but one of successive identical lines from INPUT\n" \
3283 "(or standard input), writing to OUTPUT (or standard output).\n\n" \ 3282 "(or standard input), writing to OUTPUT (or standard output).\n\n" \
3284 "Options:\n" \ 3283 "Options:\n" \
3285 "\t-c\tprefix lines by the number of occurrences\n" \ 3284 " -c prefix lines by the number of occurrences\n" \
3286 "\t-d\tonly print duplicate lines\n" \ 3285 " -d only print duplicate lines\n" \
3287 "\t-u\tonly print unique lines\n" \ 3286 " -u only print unique lines\n" \
3288 "\t-f N\tskip the first N fields\n" \ 3287 " -f N skip the first N fields\n" \
3289 "\t-s N\tskip the first N chars (after any skipped fields)" 3288 " -s N skip the first N chars (after any skipped fields)"
3290#define uniq_example_usage \ 3289#define uniq_example_usage \
3291 "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \ 3290 "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \
3292 "a\n" \ 3291 "a\n" \
3293 "b\n" \ 3292 "b\n" \
3294 "c\n" 3293 "c\n"
3295 3294
3296#define unix2dos_trivial_usage \ 3295#define unix2dos_trivial_usage \
3297 "[option] [FILE]" 3296 "[option] [FILE]"
3298#define unix2dos_full_usage \ 3297#define unix2dos_full_usage \
3299 "Converts FILE from unix format to dos format. When no option\n" \ 3298 "Converts FILE from unix format to dos format. When no option\n" \
3300 "is given, the input is converted to the opposite output format.\n" \ 3299 "is given, the input is converted to the opposite output format.\n" \
3301 "When no file is given, uses stdin for input and stdout for output.\n" \ 3300 "When no file is given, uses stdin for input and stdout for output.\n" \
3302 "Options:\n" \ 3301 "Options:\n" \
3303 "\t-u\toutput will be in UNIX format\n" \ 3302 " -u output will be in UNIX format\n" \
3304 "\t-d\toutput will be in DOS format" 3303 " -d output will be in DOS format"
3305 3304
3306#define unzip_trivial_usage \ 3305#define unzip_trivial_usage \
3307 "[-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]" 3306 "[-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]"
3308#define unzip_full_usage \ 3307#define unzip_full_usage \
3309 "Extracts files from ZIP archives.\n\n" \ 3308 "Extracts files from ZIP archives.\n\n" \
3310 "Options:\n" \ 3309 "Options:\n" \
3311 "\t-l\tlist archive contents (short form)\n" \ 3310 " -l list archive contents (short form)\n" \
3312 "\t-n\tnever overwrite existing files (default)\n" \ 3311 " -n never overwrite existing files (default)\n" \
3313 "\t-o\toverwrite files without prompting\n" \ 3312 " -o overwrite files without prompting\n" \
3314 "\t-p\tsend output to stdout\n" \ 3313 " -p send output to stdout\n" \
3315 "\t-q\tbe quiet\n" \ 3314 " -q be quiet\n" \
3316 "\t-x\texclude these files\n" \ 3315 " -x exclude these files\n" \
3317 "\t-d\textract files into this directory" 3316 " -d extract files into this directory"
3318 3317
3319#define uptime_trivial_usage \ 3318#define uptime_trivial_usage \
3320 "" 3319 ""
3321#define uptime_full_usage \ 3320#define uptime_full_usage \
3322 "Display the time since the last boot." 3321 "Display the time since the last boot."
3323#define uptime_example_usage \ 3322#define uptime_example_usage \
3324 "$ uptime\n" \ 3323 "$ uptime\n" \
3325 " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" 3324 " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n"
3326 3325
3327#define usleep_trivial_usage \ 3326#define usleep_trivial_usage \
3328 "N" 3327 "N"
3329#define usleep_full_usage \ 3328#define usleep_full_usage \
3330 "Pause for N microseconds." 3329 "Pause for N microseconds."
3331#define usleep_example_usage \ 3330#define usleep_example_usage \
3332 "$ usleep 1000000\n" \ 3331 "$ usleep 1000000\n" \
3333 "[pauses for 1 second]\n" 3332 "[pauses for 1 second]\n"
3334 3333
3335#define uudecode_trivial_usage \ 3334#define uudecode_trivial_usage \
3336 "[FILE]..." 3335 "[FILE]..."
3337#define uudecode_full_usage \ 3336#define uudecode_full_usage \
3338 "Uudecode a file that is uuencoded.\n\n" \ 3337 "Uudecode a file that is uuencoded.\n\n" \
3339 "Options:\n" \ 3338 "Options:\n" \
3340 "\t-o FILE\tdirect output to FILE" 3339 " -o FILE direct output to FILE"
3341#define uudecode_example_usage \ 3340#define uudecode_example_usage \
3342 "$ uudecode -o busybox busybox.uu\n" \ 3341 "$ uudecode -o busybox busybox.uu\n" \
3343 "$ ls -l busybox\n" \ 3342 "$ ls -l busybox\n" \
3344 "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n" 3343 "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n"
3345 3344
3346#define uuencode_trivial_usage \ 3345#define uuencode_trivial_usage \
3347 "[OPTION] [INFILE] REMOTEFILE" 3346 "[OPTION] [INFILE] REMOTEFILE"
3348#define uuencode_full_usage \ 3347#define uuencode_full_usage \
3349 "Uuencode a file.\n\n" \ 3348 "Uuencode a file.\n\n" \
3350 "Options:\n" \ 3349 "Options:\n" \
3351 "\t-m\tuse base64 encoding per RFC1521" 3350 " -m use base64 encoding per RFC1521"
3352#define uuencode_example_usage \ 3351#define uuencode_example_usage \
3353 "$ uuencode busybox busybox\n" \ 3352 "$ uuencode busybox busybox\n" \
3354 "begin 755 busybox\n" \ 3353 "begin 755 busybox\n" \
3355 "<encoded file snipped>\n" \ 3354 "<encoded file snipped>\n" \
3356 "$ uudecode busybox busybox > busybox.uu\n" \ 3355 "$ uudecode busybox busybox > busybox.uu\n" \
3357 "$\n" 3356 "$\n"
3358 3357
3359#define vconfig_trivial_usage \ 3358#define vconfig_trivial_usage \
3360 "COMMAND [OPTIONS] ..." 3359 "COMMAND [OPTIONS] ..."
3361#define vconfig_full_usage \ 3360#define vconfig_full_usage \
3362 "vconfig lets you create and remove virtual ethernet devices.\n\n" \ 3361 "vconfig lets you create and remove virtual ethernet devices.\n\n" \
3363 "Options:\n" \ 3362 "Options:\n" \
3364 "\tadd [interface-name] [vlan_id]\n" \ 3363 " add [interface-name] [vlan_id]\n" \
3365 "\trem [vlan-name]\n" \ 3364 " rem [vlan-name]\n" \
3366 "\tset_flag [interface-name] [flag-num] [0 | 1]\n" \ 3365 " set_flag [interface-name] [flag-num] [0 | 1]\n" \
3367 "\tset_egress_map [vlan-name] [skb_priority] [vlan_qos]\n" \ 3366 " set_egress_map [vlan-name] [skb_priority] [vlan_qos]\n" \
3368 "\tset_ingress_map [vlan-name] [skb_priority] [vlan_qos]\n" \ 3367 " set_ingress_map [vlan-name] [skb_priority] [vlan_qos]\n" \
3369 "\tset_name_type [name-type]" 3368 " set_name_type [name-type]"
3370 3369
3371#define vi_trivial_usage \ 3370#define vi_trivial_usage \
3372 "[OPTION] [FILE]..." 3371 "[OPTION] [FILE]..."
3373#define vi_full_usage \ 3372#define vi_full_usage \
3374 "edit FILE.\n\n" \ 3373 "edit FILE.\n\n" \
3375 "Options:\n" \ 3374 "Options:\n" \
3376 "\t-R\tRead-only- do not write to the file" 3375 " -R Read-only- do not write to the file"
3377 3376
3378#define vlock_trivial_usage \ 3377#define vlock_trivial_usage \
3379 "[OPTIONS]" 3378 "[OPTIONS]"
3380#define vlock_full_usage \ 3379#define vlock_full_usage \
3381 "Lock a virtual terminal. A password is required to unlock\n" \ 3380 "Lock a virtual terminal. A password is required to unlock\n" \
3382 "Options:\n" \ 3381 "Options:\n" \
3383 "\t-a\tLock all VTs" 3382 " -a Lock all VTs"
3384 3383
3385#define watch_trivial_usage \ 3384#define watch_trivial_usage \
3386 "[-n <seconds>] [-t] COMMAND..." 3385 "[-n <seconds>] [-t] COMMAND..."
3387#define watch_full_usage \ 3386#define watch_full_usage \
3388 "Executes a program periodically\n\n" \ 3387 "Executes a program periodically\n\n" \
3389 "Options:\n" \ 3388 "Options:\n" \
3390 "\t-n\tLoop period in seconds - default is 2\n" 3389 " -n Loop period in seconds - default is 2\n"
3391 "\t-t\tDon't print header" 3390 " -t Don't print header"
3392#define watch_example_usage \ 3391#define watch_example_usage \
3393 "$ watch date\n" \ 3392 "$ watch date\n" \
3394 "Mon Dec 17 10:31:40 GMT 2000\n" \ 3393 "Mon Dec 17 10:31:40 GMT 2000\n" \
3395 "Mon Dec 17 10:31:42 GMT 2000\n" \ 3394 "Mon Dec 17 10:31:42 GMT 2000\n" \
3396 "Mon Dec 17 10:31:44 GMT 2000" 3395 "Mon Dec 17 10:31:44 GMT 2000"
3397 3396
3398#define watchdog_trivial_usage \ 3397#define watchdog_trivial_usage \
3399 "[-t <seconds>] [-F] DEV" 3398 "[-t <seconds>] [-F] DEV"
3400#define watchdog_full_usage \ 3399#define watchdog_full_usage \
3401 "Periodically write to watchdog device DEV.\n" \ 3400 "Periodically write to watchdog device DEV.\n" \
3402 "Options:\n" \ 3401 "Options:\n" \
3403 "\t-t\tTimer period in seconds - default is 30\n" \ 3402 " -t Timer period in seconds - default is 30\n" \
3404 "\t-F\tStay in the foreground and don't fork" 3403 " -F Stay in the foreground and don't fork"
3405 3404
3406#define wc_trivial_usage \ 3405#define wc_trivial_usage \
3407 "[OPTION]... [FILE]..." 3406 "[OPTION]... [FILE]..."
3408#define wc_full_usage \ 3407#define wc_full_usage \
3409 "Print line, word, and byte counts for each FILE, and a total line if\n" \ 3408 "Print line, word, and byte counts for each FILE, and a total line if\n" \
3410 "more than one FILE is specified. With no FILE, read standard input.\n\n" \ 3409 "more than one FILE is specified. With no FILE, read standard input.\n\n" \
3411 "Options:\n" \ 3410 "Options:\n" \
3412 "\t-c\tprint the byte counts\n" \ 3411 " -c print the byte counts\n" \
3413 "\t-l\tprint the newline counts\n" \ 3412 " -l print the newline counts\n" \
3414 "\t-L\tprint the length of the longest line\n" \ 3413 " -L print the length of the longest line\n" \
3415 "\t-w\tprint the word counts" 3414 " -w print the word counts"
3416#define wc_example_usage \ 3415#define wc_example_usage \
3417 "$ wc /etc/passwd\n" \ 3416 "$ wc /etc/passwd\n" \
3418 " 31 46 1365 /etc/passwd\n" 3417 " 31 46 1365 /etc/passwd\n"
3419 3418
3420#define wget_trivial_usage \ 3419#define wget_trivial_usage \
3421 "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n" \ 3420 "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n" \
3422 "\t\t[--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ 3421 " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \
3423 "\t\t[-U|--user-agent agent] url" 3422 " [-U|--user-agent agent] url"
3424#define wget_full_usage \ 3423#define wget_full_usage \
3425 "wget retrieves files via HTTP or FTP\n\n" \ 3424 "wget retrieves files via HTTP or FTP\n\n" \
3426 "Options:\n" \ 3425 "Options:\n" \
3427 "\t-c\tcontinue retrieval of aborted transfers\n" \ 3426 " -c continue retrieval of aborted transfers\n" \
3428 "\t-q\tquiet mode - do not print\n" \ 3427 " -q quiet mode - do not print\n" \
3429 "\t-P\tSet directory prefix to DIR\n" \ 3428 " -P Set directory prefix to DIR\n" \
3430 "\t-O\tsave to filename ('-' for stdout)\n" \ 3429 " -O save to filename ('-' for stdout)\n" \
3431 "\t-U\tadjust 'User-Agent' field\n" \ 3430 " -U adjust 'User-Agent' field\n" \
3432 "\t-Y\tuse proxy ('on' or 'off')" 3431 " -Y use proxy ('on' or 'off')"
3433 3432
3434#define which_trivial_usage \ 3433#define which_trivial_usage \
3435 "[COMMAND ...]" 3434 "[COMMAND ...]"
3436#define which_full_usage \ 3435#define which_full_usage \
3437 "Locates a COMMAND." 3436 "Locates a COMMAND."
3438#define which_example_usage \ 3437#define which_example_usage \
3439 "$ which login\n" \ 3438 "$ which login\n" \
3440 "/bin/login\n" 3439 "/bin/login\n"
3441 3440
3442#define who_trivial_usage \ 3441#define who_trivial_usage \
3443 " " 3442 " "
3444#define who_full_usage \ 3443#define who_full_usage \
3445 "Prints the current user names and related information" 3444 "Prints the current user names and related information"
3446 3445
3447#define whoami_trivial_usage \ 3446#define whoami_trivial_usage \
3448 "" 3447 ""
3449#define whoami_full_usage \ 3448#define whoami_full_usage \
3450 "Prints the user name associated with the current effective user id." 3449 "Prints the user name associated with the current effective user id."
3451 3450
3452#define xargs_trivial_usage \ 3451#define xargs_trivial_usage \
3453 "[OPTIONS] [COMMAND] [ARGS...]" 3452 "[OPTIONS] [COMMAND] [ARGS...]"
3454#define xargs_full_usage \ 3453#define xargs_full_usage \
3455 "Executes COMMAND on every item given by standard input.\n\n" \ 3454 "Executes COMMAND on every item given by standard input.\n\n" \
3456 "Options:\n" \ 3455 "Options:\n" \
3457 USE_FEATURE_XARGS_SUPPORT_CONFIRMATION("\t-p\tPrompt the user about whether to run each command\n") \ 3456 USE_FEATURE_XARGS_SUPPORT_CONFIRMATION(" -p Prompt the user about whether to run each command\n") \
3458 "\t-r\tDo not run command for empty read lines\n" \ 3457 " -r Do not run command for empty read lines\n" \
3459 USE_FEATURE_XARGS_SUPPORT_TERMOPT("\t-x\tExit if the size is exceeded\n") \ 3458 USE_FEATURE_XARGS_SUPPORT_TERMOPT(" -x Exit if the size is exceeded\n") \
3460 USE_FEATURE_XARGS_SUPPORT_ZERO_TERM("\t-0\tInput filenames are terminated by a null character\n") \ 3459 USE_FEATURE_XARGS_SUPPORT_ZERO_TERM(" -0 Input filenames are terminated by a null character\n") \
3461 "\t-t\tPrint the command line on stderr before executing it" 3460 " -t Print the command line on stderr before executing it"
3462#define xargs_example_usage \ 3461#define xargs_example_usage \
3463 "$ ls | xargs gzip\n" \ 3462 "$ ls | xargs gzip\n" \
3464 "$ find . -name '*.c' -print | xargs rm\n" 3463 "$ find . -name '*.c' -print | xargs rm\n"
3465 3464
3466#define yes_trivial_usage \ 3465#define yes_trivial_usage \
3467 "[OPTION]... [STRING]..." 3466 "[OPTION]... [STRING]..."
3468#define yes_full_usage \ 3467#define yes_full_usage \
3469 "Repeatedly outputs a line with all specified STRING(s), or 'y'." 3468 "Repeatedly outputs a line with all specified STRING(s), or 'y'."
3470 3469
3471#define zcat_trivial_usage \ 3470#define zcat_trivial_usage \
3472 "FILE" 3471 "FILE"
3473#define zcat_full_usage \ 3472#define zcat_full_usage \
3474 "Uncompress to stdout." 3473 "Uncompress to stdout."
3475 3474
3476#define zcip_trivial_usage \ 3475#define zcip_trivial_usage \
3477 "[OPTIONS] ifname script" 3476 "[OPTIONS] ifname script"
3478#define zcip_full_usage \ 3477#define zcip_full_usage \
3479 "zcip manages a ZeroConf IPv4 link-local address.\n" \ 3478 "zcip manages a ZeroConf IPv4 link-local address.\n" \
3480 "Options:\n" \ 3479 "Options:\n" \
3481 "\t-f foreground mode\n" \ 3480 " -f foreground mode\n" \
3482 "\t-q quit after address (no daemon)\n" \ 3481 " -q quit after address (no daemon)\n" \
3483 "\t-r 169.254.x.x request this address first\n" \ 3482 " -r 169.254.x.x request this address first\n" \
3484 "\t-v verbose" 3483 " -v verbose"
3485 3484
3486#endif /* __BB_USAGE_H__ */ 3485#endif /* __BB_USAGE_H__ */