aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-17 17:27:56 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-17 17:27:56 +0000
commit7dab4dcd89e794d385133f721d825f845f7d30c6 (patch)
treed050c62f0495abc2c4d7477545b1537243116c2a
parent1b8e6dbf4350aca1dd4956afb47b1b68f17b59cd (diff)
downloadbusybox-w32-7dab4dcd89e794d385133f721d825f845f7d30c6.tar.gz
busybox-w32-7dab4dcd89e794d385133f721d825f845f7d30c6.tar.bz2
busybox-w32-7dab4dcd89e794d385133f721d825f845f7d30c6.zip
fix/shorten some usage strings
git-svn-id: svn://busybox.net/trunk/busybox@16981 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--include/usage.h761
1 files changed, 412 insertions, 349 deletions
diff --git a/include/usage.h b/include/usage.h
index 0fba9b848..701b421a8 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -16,7 +16,7 @@
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 " -g GID specify 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"
@@ -246,24 +246,24 @@
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" \
250 "-U user[:grp] set environment variables UID and GID\n" \ 250 " -U user[:grp] set environment variables UID and GID\n" \
251 "-e dir set environment variables as specified by files\n" \ 251 " -e dir set environment variables as specified by files\n" \
252 " in the directory: file=1st_line_of_file\n" \ 252 " in the directory: file=1st_line_of_file\n" \
253 "-/ dir chroot to dir\n" \ 253 " -/ dir chroot to dir\n" \
254 "-n inc add inc to nice value\n" \ 254 " -n inc add inc to nice value\n" \
255 "-m bytes limit data segment, stack segment, locked physical pages,\n" \ 255 " -m bytes limit data segment, stack segment, locked physical pages,\n" \
256 " and total of all segment per process to bytes bytes each\n" \ 256 " and total of all segment per process to bytes bytes each\n" \
257 "-d bytes limit data segment\n" \ 257 " -d bytes limit data segment\n" \
258 "-o n limit the number of open file descriptors per process to n\n" \ 258 " -o n limit the number of open file descriptors per process to n\n" \
259 "-p n limit number of processes per uid to n\n" \ 259 " -p n limit number of processes per uid to n\n" \
260 "-f bytes limit output file size to bytes bytes\n" \ 260 " -f bytes limit output file size to bytes bytes\n" \
261 "-c bytes limit core file size to bytes bytes\n" \ 261 " -c bytes limit core file size to bytes bytes\n" \
262 "-v verbose\n" \ 262 " -v verbose\n" \
263 "-P run prog in a new process group\n" \ 263 " -P run prog in a new process group\n" \
264 "-0 close standard input\n" \ 264 " -0 close standard input\n" \
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 \
@@ -285,21 +285,21 @@
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"
@@ -435,13 +435,13 @@
435 "\nOptions:\n" \ 435 "\nOptions:\n" \
436 " -R Outputs RFC-822 compliant date string\n" \ 436 " -R Outputs RFC-822 compliant date string\n" \
437 " -d STRING Displays time described by STRING, not 'now'\n" \ 437 " -d STRING Displays time described by STRING, not 'now'\n" \
438USE_FEATURE_DATE_ISOFMT( \ 438 USE_FEATURE_DATE_ISOFMT( \
439 " -I[TIMESPEC] Outputs an ISO-8601 compliant date/time string\n" \ 439 " -I[TIMESPEC] Outputs an ISO-8601 compliant date/time string\n" \
440 " TIMESPEC='date' (or missing) for date only,\n" \ 440 " TIMESPEC='date' (or missing) for date only,\n" \
441 " 'hours', 'minutes', or 'seconds' for date and,\n" \ 441 " 'hours', 'minutes', or 'seconds' for date and,\n" \
442 " time to the indicated precision\n" \ 442 " time to the indicated precision\n" \
443 " -D hint Use 'hint' as date format, via strptime()\n" \ 443 " -D hint Use 'hint' as date format, via strptime()\n" \
444) \ 444 ) \
445 " -s Sets time described by STRING\n" \ 445 " -s Sets time described by STRING\n" \
446 " -r FILE Displays the last modification time of FILE\n" \ 446 " -r FILE Displays the last modification time of FILE\n" \
447 " -u Prints or sets Coordinated Universal Time" 447 " -u Prints or sets Coordinated Universal Time"
@@ -520,14 +520,15 @@ USE_FEATURE_DATE_ISOFMT( \
520 USE_DEVFSD_FG_NP("[-fg][-np]" ) 520 USE_DEVFSD_FG_NP("[-fg][-np]" )
521#define devfsd_full_usage \ 521#define devfsd_full_usage \
522 "Optional daemon for managing devfs permissions and old device name symlinks.\n" \ 522 "Optional daemon for managing devfs permissions and old device name symlinks.\n" \
523 "\nOptions:\n" \ 523 "\nOptions:" \
524 " mntpnt The mount point where devfs is mounted.\n\n" \ 524 "\n mntpnt The mount point where devfs is mounted." \
525 " -v Print the protocol version numbers for devfsd\n" \ 525 "\n -v Print the protocol version numbers for devfsd." \
526 " and the kernel-side protocol version and exits." \ 526 "\n and the kernel-side protocol version and exits." \
527 USE_DEVFSD_FG_NP( "\n\n -fg Run the daemon in the foreground.\n\n" \ 527 USE_DEVFSD_FG_NP( \
528 " -np Exit after parsing the configuration file\n" \ 528 "\n -fg Run the daemon in the foreground." \
529 " and processing synthetic REGISTER events.\n" \ 529 "\n -np Exit after parsing the configuration file" \
530 " Do not poll for events.") 530 "\n and processing synthetic REGISTER events." \
531 "\n Do not poll for events.")
531 532
532#define df_trivial_usage \ 533#define df_trivial_usage \
533 "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]" 534 "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]"
@@ -538,7 +539,8 @@ USE_FEATURE_DATE_ISOFMT( \
538 "\n -h print sizes in human readable format (e.g., 1K 243M 2G )\n" \ 539 "\n -h print sizes in human readable format (e.g., 1K 243M 2G )\n" \
539 " -m print sizes in megabytes\n" \ 540 " -m print sizes in megabytes\n" \
540 " -k print sizes in kilobytes(default)") \ 541 " -k print sizes in kilobytes(default)") \
541 SKIP_FEATURE_HUMAN_READABLE("\n -k ignored") 542 SKIP_FEATURE_HUMAN_READABLE( \
543 "\n -k ignored")
542#define df_example_usage \ 544#define df_example_usage \
543 "$ df\n" \ 545 "$ df\n" \
544 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \ 546 "Filesystem 1k-blocks Used Available Use% Mounted on\n" \
@@ -603,11 +605,11 @@ USE_FEATURE_DATE_ISOFMT( \
603#define dnsd_full_usage \ 605#define dnsd_full_usage \
604 "Small and static DNS server daemon\n\n" \ 606 "Small and static DNS server daemon\n\n" \
605 "Options:\n" \ 607 "Options:\n" \
606 " -c config filename\n" \ 608 " -c config filename\n" \
607 " -t TTL in seconds\n" \ 609 " -t TTL in seconds\n" \
608 " -p listening port\n" \ 610 " -p listening port\n" \
609 " -i listening iface ip (default all)\n" \ 611 " -i listening iface ip (default all)\n" \
610 " -d daemonize" 612 " -d daemonize"
611 613
612#define dos2unix_trivial_usage \ 614#define dos2unix_trivial_usage \
613 "[option] [FILE]" 615 "[option] [FILE]"
@@ -693,9 +695,9 @@ USE_FEATURE_DATE_ISOFMT( \
693#define dumpleases_full_usage \ 695#define dumpleases_full_usage \
694 "Displays the DHCP leases granted by udhcpd.\n\n" \ 696 "Displays the DHCP leases granted by udhcpd.\n\n" \
695 "Options:\n" \ 697 "Options:\n" \
696 " -f, --file=FILENAME Leases file to load\n" \ 698 " -f, --file=FILENAME Leases file to load\n" \
697 " -r, --remaining Interpret lease times as time remaining\n" \ 699 " -r, --remaining Interpret lease times as time remaining\n" \
698 " -a, --absolute Interpret lease times as expire time" 700 " -a, --absolute Interpret lease times as expire time"
699 701
700#define e2fsck_trivial_usage \ 702#define e2fsck_trivial_usage \
701 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \ 703 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \
@@ -705,27 +707,27 @@ USE_FEATURE_DATE_ISOFMT( \
705#define e2fsck_full_usage \ 707#define e2fsck_full_usage \
706 "Check a Linux ext2/ext3 file system.\n\n" \ 708 "Check a Linux ext2/ext3 file system.\n\n" \
707 "Options:\n" \ 709 "Options:\n" \
708 " -p Automatic repair (no questions)\n" \ 710 " -p Automatic repair (no questions)\n" \
709 " -n Make no changes to the filesystem\n" \ 711 " -n Make no changes to the filesystem\n" \
710 " -y Assume 'yes' to all questions\n" \ 712 " -y Assume 'yes' to all questions\n" \
711 " -c Check for bad blocks and add them to the badblock list\n" \ 713 " -c Check for bad blocks and add them to the badblock list\n" \
712 " -f Force checking even if filesystem is marked clean\n" \ 714 " -f Force checking even if filesystem is marked clean\n" \
713 " -v Be verbose\n" \ 715 " -v Be verbose\n" \
714 " -b superblock Use alternative superblock\n" \ 716 " -b superblock Use alternative superblock\n" \
715 " -B blocksize Force blocksize when looking for superblock\n" \ 717 " -B blocksize Force blocksize when looking for superblock\n" \
716 " -j journal Set location of the external journal\n" \ 718 " -j journal Set location of the external journal\n" \
717 " -l file Add to badblocks list\n" \ 719 " -l file Add to badblocks list\n" \
718 " -L file Set badblocks list" 720 " -L file Set badblocks list"
719 721
720#define echo_trivial_usage \ 722#define echo_trivial_usage \
721 USE_FEATURE_FANCY_ECHO("[-neE] ") "[ARG ...]" 723 USE_FEATURE_FANCY_ECHO("[-neE] ") "[ARG ...]"
722#define echo_full_usage \ 724#define echo_full_usage \
723 "Prints the specified ARGs to stdout\n\n" \ 725 "Prints the specified ARGs to stdout\n\n" \
724 USE_FEATURE_FANCY_ECHO( \ 726 USE_FEATURE_FANCY_ECHO( \
725 "Options:\n" \ 727 "Options:\n" \
726 " -n suppress trailing newline\n" \ 728 " -n suppress trailing newline\n" \
727 " -e interpret backslash-escaped characters (i.e., \\t=tab)\n" \ 729 " -e interpret backslash-escaped characters (i.e., \\t=tab)\n" \
728 " -E disable interpretation of backslash-escaped characters" \ 730 " -E disable interpretation of backslash-escaped characters" \
729 ) 731 )
730#define echo_example_usage \ 732#define echo_example_usage \
731 "$ echo \"Erik is cool\"\n" \ 733 "$ echo \"Erik is cool\"\n" \
@@ -766,7 +768,7 @@ USE_FEATURE_DATE_ISOFMT( \
766 "Options:\n" \ 768 "Options:\n" \
767 " -b Send wake-up packet to the broadcast address\n" \ 769 " -b Send wake-up packet to the broadcast address\n" \
768 " -i iface Use interface ifname instead of the default \"eth0\"\n" \ 770 " -i iface Use interface ifname instead of the default \"eth0\"\n" \
769 " -p pass Append the four or six byte password PW to the packet" 771 " -p pass Append the four or six byte password PW to the packet"
770 772
771#define expr_trivial_usage \ 773#define expr_trivial_usage \
772 "EXPRESSION" 774 "EXPRESSION"
@@ -786,16 +788,15 @@ USE_FEATURE_DATE_ISOFMT( \
786 " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" \ 788 " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" \
787 " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" \ 789 " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" \
788 " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" \ 790 " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" \
789 " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" \ 791 " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" \
790 " match STRING REGEXP same as STRING : REGEXP\n" \ 792 " match STRING REGEXP same as STRING : REGEXP\n" \
791 " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" \ 793 " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" \
792 " index STRING CHARS index in STRING where any CHARS is found,\n" \ 794 " index STRING CHARS index in STRING where any CHARS is found, or 0\n" \
793 " or 0\n" \ 795 " length STRING length of STRING\n" \
794 " length STRING length of STRING\n" \ 796 " quote TOKEN interpret TOKEN as a string, even if\n" \
795 " quote TOKEN interpret TOKEN as a string, even if\n" \ 797 " it is a keyword like 'match' or an\n" \
796 " it is a keyword like 'match' or an\n" \ 798 " operator like '/'\n" \
797 " operator like '/'\n" \ 799 " (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" \ 800 "Beware that many operators need to be escaped or quoted for shells.\n" \
800 "Comparisons are arithmetic if both ARGs are numbers, else\n" \ 801 "Comparisons are arithmetic if both ARGs are numbers, else\n" \
801 "lexicographical. Pattern matches return the string matched between\n" \ 802 "lexicographical. Pattern matches return the string matched between\n" \
@@ -849,14 +850,14 @@ USE_FEATURE_DATE_ISOFMT( \
849#define fdisk_full_usage \ 850#define fdisk_full_usage \
850 "Change partition table\n" \ 851 "Change partition table\n" \
851 "Options:\n" \ 852 "Options:\n" \
852 " -l List partition table(s)\n" \ 853 " -l List partition table(s)\n" \
853 " -u Give Start and End in sector (instead of cylinder) units\n" \ 854 " -u Give Start and End in sector (instead of cylinder) units\n" \
854 " -s PARTITION Give partition size(s) in blocks\n" \ 855 " -s PARTITION Give partition size(s) in blocks\n" \
855 " -b 2048: (for certain MO disks) use 2048-byte sectors\n" \ 856 " -b 2048 (for certain MO disks) use 2048-byte sectors\n" \
856 " -C CYLINDERS Set the number of cylinders\n" \ 857 " -C CYLINDERS Set the number of cylinders\n" \
857 " -H HEADS Set the number of heads\n" \ 858 " -H HEADS Set the number of heads\n" \
858 " -S SECTORS Set the number of sectors\n" \ 859 " -S SECTORS Set the number of sectors\n" \
859 " -v Give fdisk version" 860 " -v Give fdisk version"
860 861
861#define find_trivial_usage \ 862#define find_trivial_usage \
862 "[PATH...] [EXPRESSION]" 863 "[PATH...] [EXPRESSION]"
@@ -958,32 +959,32 @@ USE_FEATURE_DATE_ISOFMT( \
958#define ftpget_full_usage \ 959#define ftpget_full_usage \
959 "Retrieve a remote file via FTP.\n\n" \ 960 "Retrieve a remote file via FTP.\n\n" \
960 "Options:\n" \ 961 "Options:\n" \
961 " -c, --continue Continue a previous transfer\n" \ 962 " -c, --continue Continue a previous transfer\n" \
962 " -v, --verbose Verbose\n" \ 963 " -v, --verbose Verbose\n" \
963 " -u, --username Username to be used\n" \ 964 " -u, --username Username to be used\n" \
964 " -p, --password Password to be used\n" \ 965 " -p, --password Password to be used\n" \
965 " -P, --port Port number to be used" 966 " -P, --port Port number to be used"
966 967
967#define ftpput_trivial_usage \ 968#define ftpput_trivial_usage \
968 "[options] remote-host remote-file local-file" 969 "[options] remote-host remote-file local-file"
969#define ftpput_full_usage \ 970#define ftpput_full_usage \
970 "Store a local file on a remote machine via FTP.\n\n" \ 971 "Store a local file on a remote machine via FTP.\n\n" \
971 "Options:\n" \ 972 "Options:\n" \
972 " -v, --verbose Verbose\n" \ 973 " -v, --verbose Verbose\n" \
973 " -u, --username Username to be used\n" \ 974 " -u, --username Username to be used\n" \
974 " -p, --password Password to be used\n" \ 975 " -p, --password Password to be used\n" \
975 " -P, --port Port number to be used" 976 " -P, --port Port number to be used"
976 977
977#define fuser_trivial_usage \ 978#define fuser_trivial_usage \
978 "[options] file OR port/proto" 979 "[options] file OR port/proto"
979#define fuser_full_usage \ 980#define fuser_full_usage \
980 "Options:\n" \ 981 "Options:\n" \
981 " -m Show all processes on the same mounted fs\n" \ 982 " -m Show all processes on the same mounted fs\n" \
982 " -k Kill all processes that match.\n" \ 983 " -k Kill all processes that match.\n" \
983 " -s Don't print or kill anything.\n" \ 984 " -s Don't print or kill anything.\n" \
984 " -4 When using port/proto only search IPv4 space\n" \ 985 " -4 When using port/proto only search IPv4 space\n" \
985 " -6 When using port/proto only search IPv6 space\n" \ 986 " -6 When using port/proto only search IPv6 space\n" \
986 " -SIGNAL When used with -k, this signal will be used to kill" 987 " -SIGNAL When used with -k, this signal will be used to kill"
987 988
988#define getopt_trivial_usage \ 989#define getopt_trivial_usage \
989 "[OPTIONS]..." 990 "[OPTIONS]..."
@@ -992,12 +993,12 @@ USE_FEATURE_DATE_ISOFMT( \
992 " -a, --alternative Allow long options starting with single -\n" \ 993 " -a, --alternative Allow long options starting with single -\n" \
993 " -l, --longoptions=longopts Long options to be recognized\n" \ 994 " -l, --longoptions=longopts Long options to be recognized\n" \
994 " -n, --name=progname The name under which errors are reported\n" \ 995 " -n, --name=progname The name under which errors are reported\n" \
995 " -o, --options=optstring Short options to be recognized\n" \ 996 " -o, --options=optstring Short options to be recognized\n" \
996 " -q, --quiet Disable error reporting by getopt(3)\n" \ 997 " -q, --quiet Disable error reporting by getopt(3)\n" \
997 " -Q, --quiet-output No normal output\n" \ 998 " -Q, --quiet-output No normal output\n" \
998 " -s, --shell=shell Set shell quoting conventions\n" \ 999 " -s, --shell=shell Set shell quoting conventions\n" \
999 " -T, --test Test for getopt(1) version\n" \ 1000 " -T, --test Test for getopt(1) version\n" \
1000 " -u, --unquoted Do not quote the output" 1001 " -u, --unquoted Do not quote the output"
1001#define getopt_example_usage \ 1002#define getopt_example_usage \
1002 "$ cat getopt.test\n" \ 1003 "$ cat getopt.test\n" \
1003 "#!/bin/sh\n" \ 1004 "#!/bin/sh\n" \
@@ -1059,10 +1060,14 @@ USE_FEATURE_DATE_ISOFMT( \
1059 " -o show only the part of a line that matches PATTERN\n" \ 1060 " -o show only the part of a line that matches PATTERN\n" \
1060 " -e PATTERN is a regular expression\n" \ 1061 " -e PATTERN is a regular expression\n" \
1061 " -F PATTERN is a set of newline-separated strings" \ 1062 " -F PATTERN is a set of newline-separated strings" \
1062 USE_FEATURE_GREP_EGREP_ALIAS("\n -E PATTERN is an extended regular expression") \ 1063 USE_FEATURE_GREP_EGREP_ALIAS( \
1063 USE_FEATURE_GREP_CONTEXT("\n -A print NUM lines of trailing context") \ 1064 "\n -E PATTERN is an extended regular expression") \
1064 USE_FEATURE_GREP_CONTEXT("\n -B print NUM lines of leading context") \ 1065 USE_FEATURE_GREP_CONTEXT( \
1065 USE_FEATURE_GREP_CONTEXT("\n -C print NUM lines of output context") 1066 "\n -A print NUM lines of trailing context") \
1067 USE_FEATURE_GREP_CONTEXT( \
1068 "\n -B print NUM lines of leading context") \
1069 USE_FEATURE_GREP_CONTEXT( \
1070 "\n -C print NUM lines of output context")
1066 1071
1067#define grep_example_usage \ 1072#define grep_example_usage \
1068 "$ grep root /etc/passwd\n" \ 1073 "$ grep root /etc/passwd\n" \
@@ -1106,14 +1111,15 @@ USE_FEATURE_DATE_ISOFMT( \
1106#define halt_full_usage \ 1111#define halt_full_usage \
1107 "Halt the system.\n" \ 1112 "Halt the system.\n" \
1108 "Options:\n" \ 1113 "Options:\n" \
1109 " -d delay interval for halting\n" \ 1114 " -d delay interval for halting\n" \
1110 " -n no call to sync()\n" \ 1115 " -n no call to sync()\n" \
1111 " -f force halt (don't go through init)" 1116 " -f force halt (don't go through init)"
1112 1117
1113#define hdparm_trivial_usage \ 1118#define hdparm_trivial_usage \
1114 "[options] [device] .." 1119 "[options] [device] .."
1115#define hdparm_full_usage \ 1120#define hdparm_full_usage \
1116 USE_FEATURE_HDPARM_GET_IDENTITY(" If no device name is specified try to read from stdin.\n") \ 1121 USE_FEATURE_HDPARM_GET_IDENTITY( \
1122 " If no device name is specified try to read from stdin.\n") \
1117 "\nOptions:\n" \ 1123 "\nOptions:\n" \
1118 " -a get/set fs readahead\n" \ 1124 " -a get/set fs readahead\n" \
1119 " -A set drive read-lookahead flag (0/1)\n" \ 1125 " -A set drive read-lookahead flag (0/1)\n" \
@@ -1121,13 +1127,16 @@ USE_FEATURE_DATE_ISOFMT( \
1121 " -B set Advanced Power Management setting (1-255)\n" \ 1127 " -B set Advanced Power Management setting (1-255)\n" \
1122 " -c get/set IDE 32-bit IO setting\n" \ 1128 " -c get/set IDE 32-bit IO setting\n" \
1123 " -C check IDE power mode status\n" \ 1129 " -C check IDE power mode status\n" \
1124 USE_FEATURE_HDPARM_HDIO_GETSET_DMA(" -d get/set using_dma flag\n") \ 1130 USE_FEATURE_HDPARM_HDIO_GETSET_DMA( \
1131 " -d get/set using_dma flag\n") \
1125 " -D enable/disable drive defect-mgmt\n" \ 1132 " -D enable/disable drive defect-mgmt\n" \
1126 " -f flush buffer cache for device on exit\n" \ 1133 " -f flush buffer cache for device on exit\n" \
1127 " -g display drive geometry\n" \ 1134 " -g display drive geometry\n" \
1128 " -h display terse usage information\n" \ 1135 " -h display terse usage information\n" \
1129 USE_FEATURE_HDPARM_GET_IDENTITY(" -i display drive identification\n") \ 1136 USE_FEATURE_HDPARM_GET_IDENTITY( \
1130 USE_FEATURE_HDPARM_GET_IDENTITY(" -I detailed/current information directly from drive\n") \ 1137 " -i display drive identification\n") \
1138 USE_FEATURE_HDPARM_GET_IDENTITY( \
1139 " -I detailed/current information directly from drive\n") \
1131 " -k get/set keep_settings_over_reset flag (0/1)\n" \ 1140 " -k get/set keep_settings_over_reset flag (0/1)\n" \
1132 " -K set drive keep_features_over_reset flag (0/1)\n" \ 1141 " -K set drive keep_features_over_reset flag (0/1)\n" \
1133 " -L set drive doorlock (0/1) (removable harddisks only)\n" \ 1142 " -L set drive doorlock (0/1) (removable harddisks only)\n" \
@@ -1138,17 +1147,21 @@ USE_FEATURE_DATE_ISOFMT( \
1138 " -q change next setting quietly\n" \ 1147 " -q change next setting quietly\n" \
1139 " -Q get/set DMA tagged-queuing depth (if supported)\n" \ 1148 " -Q get/set DMA tagged-queuing depth (if supported)\n" \
1140 " -r get/set readonly flag (DANGEROUS to set)\n" \ 1149 " -r get/set readonly flag (DANGEROUS to set)\n" \
1141 USE_FEATURE_HDPARM_HDIO_SCAN_HWIF(" -R register an IDE interface (DANGEROUS)\n") \ 1150 USE_FEATURE_HDPARM_HDIO_SCAN_HWIF( \
1151 " -R register an IDE interface (DANGEROUS)\n") \
1142 " -S set standby (spindown) timeout\n" \ 1152 " -S set standby (spindown) timeout\n" \
1143 " -t perform device read timings\n" \ 1153 " -t perform device read timings\n" \
1144 " -T perform cache read timings\n" \ 1154 " -T perform cache read timings\n" \
1145 " -u get/set unmaskirq flag (0/1)\n" \ 1155 " -u get/set unmaskirq flag (0/1)\n" \
1146 USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF(" -U un-register an IDE interface (DANGEROUS)\n") \ 1156 USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \
1157 " -U un-register an IDE interface (DANGEROUS)\n") \
1147 " -v defaults; same as -mcudkrag for IDE drives\n" \ 1158 " -v defaults; same as -mcudkrag for IDE drives\n" \
1148 " -V display program version and exit immediately\n" \ 1159 " -V display program version and exit immediately\n" \
1149 USE_FEATURE_HDPARM_HDIO_DRIVE_RESET(" -w perform device reset (DANGEROUS)\n") \ 1160 USE_FEATURE_HDPARM_HDIO_DRIVE_RESET( \
1161 " -w perform device reset (DANGEROUS)\n") \
1150 " -W set drive write-caching flag (0/1) (DANGEROUS)\n" \ 1162 " -W set drive write-caching flag (0/1) (DANGEROUS)\n" \
1151 USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(" -x tristate device for hotswap (0/1) (DANGEROUS)\n") \ 1163 USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \
1164 " -x tristate device for hotswap (0/1) (DANGEROUS)\n") \
1152 " -X set IDE xfer mode (DANGEROUS)\n" \ 1165 " -X set IDE xfer mode (DANGEROUS)\n" \
1153 " -y put IDE drive in standby mode\n" \ 1166 " -y put IDE drive in standby mode\n" \
1154 " -Y put IDE drive to sleep\n" \ 1167 " -Y put IDE drive to sleep\n" \
@@ -1161,12 +1174,12 @@ USE_FEATURE_DATE_ISOFMT( \
1161 "Print first 10 lines of each FILE to standard output.\n" \ 1174 "Print first 10 lines of each FILE to standard output.\n" \
1162 "With more than one FILE, precede each with a header giving the\n" \ 1175 "With more than one FILE, precede each with a header giving the\n" \
1163 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ 1176 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \
1164 "Options:\n" \ 1177 "Options:" \
1165 " -n NUM Print first NUM lines instead of first 10" \ 1178 "\n -n NUM Print first NUM lines instead of first 10" \
1166 USE_FEATURE_FANCY_HEAD( \ 1179 USE_FEATURE_FANCY_HEAD( \
1167 "\n -c NUM output the first NUM bytes\n" \ 1180 "\n -c NUM output the first NUM bytes" \
1168 " -q never output headers giving file names\n" \ 1181 "\n -q never output headers giving file names" \
1169 " -v always output headers giving file names" ) 1182 "\n -v always output headers giving file names")
1170#define head_example_usage \ 1183#define head_example_usage \
1171 "$ head -n 2 /etc/passwd\n" \ 1184 "$ head -n 2 /etc/passwd\n" \
1172 "root:x:0:0:root:/root:/bin/bash\n" \ 1185 "root:x:0:0:root:/root:/bin/bash\n" \
@@ -1226,9 +1239,12 @@ USE_FEATURE_DATE_ISOFMT( \
1226 " -p PORT Server port (default 80)\n" \ 1239 " -p PORT Server port (default 80)\n" \
1227 " -i Assume that we are started from inetd\n" \ 1240 " -i Assume that we are started from inetd\n" \
1228 " -f Do not daemonize\n" \ 1241 " -f Do not daemonize\n" \
1229 USE_FEATURE_HTTPD_SETUID(" -u USER[:GRP] Set uid/gid after binding to port\n") \ 1242 USE_FEATURE_HTTPD_SETUID( \
1230 USE_FEATURE_HTTPD_BASIC_AUTH(" -r REALM Authentication Realm for Basic Authentication\n") \ 1243 " -u USER[:GRP] Set uid/gid after binding to port\n") \
1231 USE_FEATURE_HTTPD_AUTH_MD5(" -m PASS Crypt PASS with md5 algorithm\n") \ 1244 USE_FEATURE_HTTPD_BASIC_AUTH( \
1245 " -r REALM Authentication Realm for Basic Authentication\n") \
1246 USE_FEATURE_HTTPD_AUTH_MD5( \
1247 " -m PASS Crypt PASS with md5 algorithm\n") \
1232 " -h HOME Specifies http HOME directory (default ./)\n" \ 1248 " -h HOME Specifies http HOME directory (default ./)\n" \
1233 " -e STRING HTML encode STRING\n" \ 1249 " -e STRING HTML encode STRING\n" \
1234 " -d STRING URL decode STRING" 1250 " -d STRING URL decode STRING"
@@ -1249,7 +1265,8 @@ USE_FEATURE_DATE_ISOFMT( \
1249#define id_full_usage \ 1265#define id_full_usage \
1250 "Print information for USERNAME or the current user\n\n" \ 1266 "Print information for USERNAME or the current user\n\n" \
1251 "Options:\n" \ 1267 "Options:\n" \
1252 USE_SELINUX(" -c prints only the security context\n") \ 1268 USE_SELINUX( \
1269 " -c prints only the security context\n") \
1253 " -g prints only the group ID\n" \ 1270 " -g prints only the group ID\n" \
1254 " -u prints only the user ID\n" \ 1271 " -u prints only the user ID\n" \
1255 " -n print a name instead of a number\n" \ 1272 " -n print a name instead of a number\n" \
@@ -1263,16 +1280,19 @@ USE_FEATURE_DATE_ISOFMT( \
1263#define ifconfig_full_usage \ 1280#define ifconfig_full_usage \
1264 "configure a network interface\n\n" \ 1281 "configure a network interface\n\n" \
1265 "Options:\n" \ 1282 "Options:\n" \
1266 USE_FEATURE_IPV6(" [add <address>[/<prefixlen>]]\n") \ 1283 USE_FEATURE_IPV6( \
1267 USE_FEATURE_IPV6(" [del <address>[/<prefixlen>]]\n") \ 1284 " [add <address>[/<prefixlen>]]\n") \
1268 " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \ 1285 USE_FEATURE_IPV6( \
1269 " [netmask <address>] [dstaddr <address>]\n" \ 1286 " [del <address>[/<prefixlen>]]\n") \
1270 USE_FEATURE_IFCONFIG_SLIP(" [outfill <NN>] [keepalive <NN>]\n") \ 1287 " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \
1271 " " USE_FEATURE_IFCONFIG_HW("[hw ether <address>] ") \ 1288 " [netmask <address>] [dstaddr <address>]\n" \
1272 "[metric <NN>] [mtu <NN>]\n" \ 1289 USE_FEATURE_IFCONFIG_SLIP( \
1273 " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ 1290 " [outfill <NN>] [keepalive <NN>]\n") \
1274 " [multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \ 1291 " " USE_FEATURE_IFCONFIG_HW("[hw ether <address>] ") "[metric <NN>] [mtu <NN>]\n" \
1275 USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ(" [mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \ 1292 " [[-]trailers] [[-]arp] [[-]allmulti]\n" \
1293 " [multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \
1294 USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \
1295 " [mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \
1276 " [up|down] ..." 1296 " [up|down] ..."
1277 1297
1278#define ifup_trivial_usage \ 1298#define ifup_trivial_usage \
@@ -1453,7 +1473,8 @@ USE_FEATURE_DATE_ISOFMT( \
1453 " -v verbose output\n" \ 1473 " -v verbose output\n" \
1454 " -q quiet output\n" \ 1474 " -q quiet output\n" \
1455 " -L Lock to prevent simultaneous loads of a module\n" \ 1475 " -L Lock to prevent simultaneous loads of a module\n" \
1456 USE_FEATURE_INSMOD_LOAD_MAP(" -m Output load map to stdout\n") \ 1476 USE_FEATURE_INSMOD_LOAD_MAP( \
1477 " -m Output load map to stdout\n") \
1457 " -o NAME Set internal module name to NAME\n" \ 1478 " -o NAME Set internal module name to NAME\n" \
1458 " -x do not export externs" 1479 " -x do not export externs"
1459 1480
@@ -1483,11 +1504,11 @@ USE_FEATURE_DATE_ISOFMT( \
1483#define ipaddr_full_usage \ 1504#define ipaddr_full_usage \
1484 "ipaddr {add|delete} IFADDR dev STRING\n" \ 1505 "ipaddr {add|delete} IFADDR dev STRING\n" \
1485 "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \ 1506 "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \
1486 " [ to PREFIX ] [ label PATTERN ]\n" \ 1507 " [ to PREFIX ] [ label PATTERN ]\n" \
1487 " IFADDR := PREFIX | ADDR peer PREFIX\n" \ 1508 " IFADDR := PREFIX | ADDR peer PREFIX\n" \
1488 " [ broadcast ADDR ] [ anycast ADDR ]\n" \ 1509 " [ broadcast ADDR ] [ anycast ADDR ]\n" \
1489 " [ label STRING ] [ scope SCOPE-ID ]\n" \ 1510 " [ label STRING ] [ scope SCOPE-ID ]\n" \
1490 " SCOPE-ID := [ host | link | global | NUMBER ]" 1511 " SCOPE-ID := [ host | link | global | NUMBER ]"
1491 1512
1492#define ipcalc_trivial_usage \ 1513#define ipcalc_trivial_usage \
1493 "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]" 1514 "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]"
@@ -1560,13 +1581,13 @@ USE_FEATURE_DATE_ISOFMT( \
1560 1581
1561#define iptunnel_trivial_usage \ 1582#define iptunnel_trivial_usage \
1562 "{ add | change | del | show } [ NAME ]\n" \ 1583 "{ add | change | del | show } [ NAME ]\n" \
1563 " [ mode { ipip | gre | sit } ]\n" \ 1584 " [ mode { ipip | gre | sit } ]\n" \
1564 " [ remote ADDR ] [ local ADDR ] [ ttl TTL ]" 1585 " [ remote ADDR ] [ local ADDR ] [ ttl TTL ]"
1565#define iptunnel_full_usage \ 1586#define iptunnel_full_usage \
1566 "iptunnel { add | change | del | show } [ NAME ]\n" \ 1587 "iptunnel { add | change | del | show } [ NAME ]\n" \
1567 " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \ 1588 " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
1568 " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \ 1589 " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
1569 " [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]" 1590 " [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]"
1570 1591
1571#define kill_trivial_usage \ 1592#define kill_trivial_usage \
1572 "[-l] [-signal] process-id [process-id ...]" 1593 "[-l] [-signal] process-id [process-id ...]"
@@ -1704,7 +1725,7 @@ USE_FEATURE_DATE_ISOFMT( \
1704#define logread_full_usage \ 1725#define logread_full_usage \
1705 "Shows the messages from syslogd (using circular buffer).\n\n" \ 1726 "Shows the messages from syslogd (using circular buffer).\n\n" \
1706 "Options:\n" \ 1727 "Options:\n" \
1707 " -f output data as the log grows" 1728 " -f output data as the log grows"
1708 1729
1709#define losetup_trivial_usage \ 1730#define losetup_trivial_usage \
1710 "[-o OFFSET] [-d] LOOPDEVICE [FILE]]" 1731 "[-o OFFSET] [-d] LOOPDEVICE [FILE]]"
@@ -1732,36 +1753,53 @@ USE_FEATURE_DATE_ISOFMT( \
1732 USE_SELINUX("K") "] [filenames...]" 1753 USE_SELINUX("K") "] [filenames...]"
1733#define ls_full_usage \ 1754#define ls_full_usage \
1734 "List directory contents\n\n" \ 1755 "List directory contents\n\n" \
1735 "Options:\n" \ 1756 "Options:" \
1736 " -1 list files in a single column\n" \ 1757 "\n -1 list files in a single column" \
1737 " -A do not list implied . and ..\n" \ 1758 "\n -A do not list implied . and .." \
1738 " -a do not hide entries starting with .\n" \ 1759 "\n -a do not hide entries starting with ." \
1739 " -C list entries by columns\n" \ 1760 "\n -C list entries by columns" \
1740 USE_FEATURE_LS_TIMESTAMPS(" -c with -l: show ctime\n") \ 1761 USE_FEATURE_LS_TIMESTAMPS( \
1741 USE_FEATURE_LS_COLOR(" --color[={always,never,auto}] to control coloring\n") \ 1762 "\n -c with -l: show ctime") \
1742 " -d list directory entries instead of contents\n" \ 1763 USE_FEATURE_LS_COLOR( \
1743 USE_FEATURE_LS_TIMESTAMPS(" -e list both full date and full time\n") \ 1764 "\n --color[={always,never,auto}] control coloring") \
1744 USE_FEATURE_LS_FILETYPES(" -F append indicator (one of */=@|) to entries\n") \ 1765 "\n -d list directory entries instead of contents" \
1745 " -i list the i-node for each file\n" \ 1766 USE_FEATURE_LS_TIMESTAMPS( \
1746 " -l use a long listing format\n" \ 1767 "\n -e list both full date and full time") \
1747 " -n list numeric UIDs and GIDs instead of names\n" \ 1768 USE_FEATURE_LS_FILETYPES( \
1748 USE_FEATURE_LS_FILETYPES(" -p append indicator (one of /=@|) to entries\n") \ 1769 "\n -F append indicator (one of */=@|) to entries") \
1749 USE_FEATURE_LS_FOLLOWLINKS(" -L list entries pointed to by symbolic links\n") \ 1770 "\n -i list the i-node for each file" \
1750 USE_FEATURE_LS_RECURSIVE(" -R list subdirectories recursively\n") \ 1771 "\n -l use a long listing format" \
1751 USE_FEATURE_LS_SORTFILES(" -r sort the listing in reverse order\n") \ 1772 "\n -n list numeric UIDs and GIDs instead of names" \
1752 USE_FEATURE_LS_SORTFILES(" -S sort the listing by file size\n") \ 1773 USE_FEATURE_LS_FILETYPES( \
1753 " -s list the size of each file, in blocks\n" \ 1774 "\n -p append indicator (one of /=@|) to entries") \
1754 USE_FEATURE_AUTOWIDTH(" -T NUM assume Tabstop every NUM columns\n") \ 1775 USE_FEATURE_LS_FOLLOWLINKS( \
1755 USE_FEATURE_LS_TIMESTAMPS(" -t with -l: show modification time\n") \ 1776 "\n -L list entries pointed to by symbolic links") \
1756 USE_FEATURE_LS_TIMESTAMPS(" -u with -l: show access time\n") \ 1777 USE_FEATURE_LS_RECURSIVE( \
1757 USE_FEATURE_LS_SORTFILES(" -v sort the listing by version\n") \ 1778 "\n -R list subdirectories recursively") \
1758 USE_FEATURE_AUTOWIDTH(" -w NUM assume the terminal is NUM columns wide\n") \ 1779 USE_FEATURE_LS_SORTFILES( \
1759 " -x list entries by lines instead of by columns\n" \ 1780 "\n -r sort the listing in reverse order") \
1760 USE_FEATURE_LS_SORTFILES(" -X sort the listing by extension\n") \ 1781 USE_FEATURE_LS_SORTFILES( \
1782 "\n -S sort the listing by file size") \
1783 "\n -s list the size of each file, in blocks" \
1784 USE_FEATURE_AUTOWIDTH( \
1785 "\n -T NUM assume Tabstop every NUM columns") \
1786 USE_FEATURE_LS_TIMESTAMPS( \
1787 "\n -t with -l: show modification time") \
1788 USE_FEATURE_LS_TIMESTAMPS( \
1789 "\n -u with -l: show access time") \
1790 USE_FEATURE_LS_SORTFILES( \
1791 "\n -v sort the listing by version") \
1792 USE_FEATURE_AUTOWIDTH( \
1793 "\n -w NUM assume the terminal is NUM columns wide") \
1794 "\n -x list entries by lines instead of by columns" \
1795 USE_FEATURE_LS_SORTFILES( \
1796 "\n -X sort the listing by extension") \
1761 USE_FEATURE_HUMAN_READABLE( \ 1797 USE_FEATURE_HUMAN_READABLE( \
1762 " -h print sizes in human readable format (e.g., 1K 243M 2G )\n") \ 1798 "\n -h print sizes in human readable format (e.g., 1K 243M 2G)") \
1763 USE_SELINUX(" -k print security context\n") \ 1799 USE_SELINUX( \
1764 USE_SELINUX(" -K print security context in long format\n") 1800 "\n -k print security context") \
1801 USE_SELINUX( \
1802 "\n -K print security context in long format")
1765 1803
1766#define lsattr_trivial_usage \ 1804#define lsattr_trivial_usage \
1767 "[-Radlv] [files...]" 1805 "[-Radlv] [files...]"
@@ -1864,7 +1902,7 @@ USE_FEATURE_DATE_ISOFMT( \
1864 "Called with no options (via hotplug) it uses environment variables\n" \ 1902 "Called with no options (via hotplug) it uses environment variables\n" \
1865 "to determine which device to add/remove." 1903 "to determine which device to add/remove."
1866#define mdev_notes_usage "" \ 1904#define mdev_notes_usage "" \
1867USE_FEATURE_MDEV_CONFIG( \ 1905 USE_FEATURE_MDEV_CONFIG( \
1868 "The mdev config file contains lines that look like:\n" \ 1906 "The mdev config file contains lines that look like:\n" \
1869 " hd[a-z][0-9]* 0:3 660\n\n" \ 1907 " hd[a-z][0-9]* 0:3 660\n\n" \
1870 "That's device name (with regex match), uid:gid, and permissions.\n\n" \ 1908 "That's device name (with regex match), uid:gid, and permissions.\n\n" \
@@ -1881,7 +1919,7 @@ USE_FEATURE_MDEV_CONFIG( \
1881 "Config file parsing stops on the first matching line. If no config\n"\ 1919 "Config file parsing stops on the first matching line. If no config\n"\
1882 "entry is matched, devices are created with default 0:0 660. (Make\n"\ 1920 "entry is matched, devices are created with default 0:0 660. (Make\n"\
1883 "the last line match .* to override this.)\n\n" \ 1921 "the last line match .* to override this.)\n\n" \
1884) 1922 )
1885 1923
1886#define mesg_trivial_usage \ 1924#define mesg_trivial_usage \
1887 "[y|n]" 1925 "[y|n]"
@@ -1913,28 +1951,28 @@ USE_FEATURE_MDEV_CONFIG( \
1913 "[-M last-mounted-directory] [-S] [-T filesystem-type] " \ 1951 "[-M last-mounted-directory] [-S] [-T filesystem-type] " \
1914 "device [blocks-count]" 1952 "device [blocks-count]"
1915#define mke2fs_full_usage \ 1953#define mke2fs_full_usage \
1916 " -b size block size in bytes\n" \ 1954 " -b size block size in bytes\n" \
1917 " -c check for bad blocks before creating\n" \ 1955 " -c check for bad blocks before creating\n" \
1918 " -E opts set extended options\n" \ 1956 " -E opts set extended options\n" \
1919 " -f size fragment size in bytes\n" \ 1957 " -f size fragment size in bytes\n" \
1920 " -F force (ignore sanity checks)\n" \ 1958 " -F force (ignore sanity checks)\n" \
1921 " -g num number of blocks in a block group\n" \ 1959 " -g num number of blocks in a block group\n" \
1922 " -i ratio the bytes/inode ratio\n" \ 1960 " -i ratio the bytes/inode ratio\n" \
1923 " -j create a journal (ext3)\n" \ 1961 " -j create a journal (ext3)\n" \
1924 " -J opts set journal options (size/device)\n" \ 1962 " -J opts set journal options (size/device)\n" \
1925 " -l file read bad blocks list from file\n" \ 1963 " -l file read bad blocks list from file\n" \
1926 " -L lbl set the volume label\n" \ 1964 " -L lbl set the volume label\n" \
1927 " -m percent percent of fs blocks to reserve for admin\n" \ 1965 " -m percent percent of fs blocks to reserve for admin\n" \
1928 " -M dir set last mounted directory\n" \ 1966 " -M dir set last mounted directory\n" \
1929 " -n do not actually create anything\n" \ 1967 " -n do not actually create anything\n" \
1930 " -N num number of inodes to create\n" \ 1968 " -N num number of inodes to create\n" \
1931 " -o os set the 'creator os' field\n" \ 1969 " -o os set the 'creator os' field\n" \
1932 " -O features dir_index/filetype/has_journal/journal_dev/sparse_super\n" \ 1970 " -O features dir_index/filetype/has_journal/journal_dev/sparse_super\n" \
1933 " -q quiet execution\n" \ 1971 " -q quiet execution\n" \
1934 " -r rev set filesystem revision\n" \ 1972 " -r rev set filesystem revision\n" \
1935 " -S write superblock and group descriptors only\n" \ 1973 " -S write superblock and group descriptors only\n" \
1936 " -T fs-type set usage type (news/largefile/largefile4)\n" \ 1974 " -T fs-type set usage type (news/largefile/largefile4)\n" \
1937 " -v verbose execution" 1975 " -v verbose execution"
1938 1976
1939#define mkfifo_trivial_usage \ 1977#define mkfifo_trivial_usage \
1940 "[OPTIONS] name" 1978 "[OPTIONS] name"
@@ -1973,10 +2011,9 @@ USE_FEATURE_MDEV_CONFIG( \
1973#define mkswap_full_usage \ 2011#define mkswap_full_usage \
1974 "Prepare a disk partition to be used as a swap partition.\n\n" \ 2012 "Prepare a disk partition to be used as a swap partition.\n\n" \
1975 "Options:\n" \ 2013 "Options:\n" \
1976 " -c Check for read-ability\n" \ 2014 " -c Check for read-ability\n" \
1977 " -v0 Make version 0 swap [max 128 Megs]\n" \ 2015 " -v0 Make version 0 swap [max 128 Megs]\n" \
1978 " -v1 Make version 1 swap [big!] (default for kernels >\n" \ 2016 " -v1 Make version 1 swap [big!] (default for kernels > 2.1.117)\n" \
1979 " 2.1.117)\n" \
1980 " block-count Number of block to use (default is entire partition)" 2017 " block-count Number of block to use (default is entire partition)"
1981 2018
1982#define mktemp_trivial_usage \ 2019#define mktemp_trivial_usage \
@@ -2077,8 +2114,8 @@ USE_FEATURE_MDEV_CONFIG( \
2077 "Flags:\n" \ 2114 "Flags:\n" \
2078 " -a: Mount all filesystems in fstab\n" \ 2115 " -a: Mount all filesystems in fstab\n" \
2079 USE_FEATURE_MTAB_SUPPORT( \ 2116 USE_FEATURE_MTAB_SUPPORT( \
2080 " -f: \"Fake\" Add entry to mount table but don't mount it\n" \ 2117 " -f: \"Fake\" Add entry to mount table but don't mount it\n" \
2081 " -n: Don't write a mount table entry\n" \ 2118 " -n: Don't write a mount table entry\n" \
2082 ) \ 2119 ) \
2083 " -o option: One of many filesystem options, listed below\n" \ 2120 " -o option: One of many filesystem options, listed below\n" \
2084 " -r: Mount the filesystem read-only\n" \ 2121 " -r: Mount the filesystem read-only\n" \
@@ -2087,21 +2124,21 @@ USE_FEATURE_MDEV_CONFIG( \
2087 "\n" \ 2124 "\n" \
2088 "Options for use with the \"-o\" flag:\n" \ 2125 "Options for use with the \"-o\" flag:\n" \
2089 USE_FEATURE_MOUNT_LOOP( \ 2126 USE_FEATURE_MOUNT_LOOP( \
2090 " loop: Ignored (loop devices are autodetected)\n" \ 2127 " loop: Ignored (loop devices are autodetected)\n" \
2091 ) \ 2128 ) \
2092 USE_FEATURE_MOUNT_FLAGS( \ 2129 USE_FEATURE_MOUNT_FLAGS( \
2093 " [a]sync: Writes are asynchronous / synchronous\n" \ 2130 " [a]sync: Writes are asynchronous / synchronous\n" \
2094 " [no]atime: Disable / enable updates to inode access times\n" \ 2131 " [no]atime: Disable / enable updates to inode access times\n" \
2095 " [no]diratime: Disable / enable atime updates to directories\n" \ 2132 " [no]diratime: Disable / enable atime updates to directories\n" \
2096 " [no]dev: Allow use of special device files / disallow them\n" \ 2133 " [no]dev: Allow use of special device files / disallow them\n" \
2097 " [no]exec: Allow use of executable files / disallow them\n" \ 2134 " [no]exec: Allow use of executable files / disallow them\n" \
2098 " [no]suid: Allow set-user-id-root programs / disallow them\n" \ 2135 " [no]suid: Allow set-user-id-root programs / disallow them\n" \
2099 " [r]shared: Convert [recursively] to a shared subtree.\n" \ 2136 " [r]shared: Convert [recursively] to a shared subtree.\n" \
2100 " [r]slave: Convert [recursively] to a slave subtree.\n" \ 2137 " [r]slave: Convert [recursively] to a slave subtree.\n" \
2101 " [r]private: Convert [recursively] to a private subtree\n" \ 2138 " [r]private: Convert [recursively] to a private subtree\n" \
2102 " [un]bindable: Make mount point [un]able to be bind mounted.\n" \ 2139 " [un]bindable: Make mount point [un]able to be bind mounted.\n" \
2103 " bind: Bind a directory to an additional location\n" \ 2140 " bind: Bind a directory to an additional location\n" \
2104 " move: Relocate an existing mount point.\n" \ 2141 " move: Relocate an existing mount point.\n" \
2105 ) \ 2142 ) \
2106 " remount: Re-mount a mounted filesystem, changing its flags\n" \ 2143 " remount: Re-mount a mounted filesystem, changing its flags\n" \
2107 " ro/rw: Mount for read-only / read-write\n" \ 2144 " ro/rw: Mount for read-only / read-write\n" \
@@ -2179,15 +2216,16 @@ USE_FEATURE_MDEV_CONFIG( \
2179 "Netcat opens a pipe to IP:port" USE_NC_EXTRA(" or file") \ 2216 "Netcat opens a pipe to IP:port" USE_NC_EXTRA(" or file") \
2180 NC_OPTIONS_STR \ 2217 NC_OPTIONS_STR \
2181 USE_NC_EXTRA( \ 2218 USE_NC_EXTRA( \
2182 "\n -e exec rest of command line after connect\n" \ 2219 "\n -e exec rest of command line after connect" \
2183 " -i SECS delay interval for lines sent\n" \ 2220 "\n -i SECS delay interval for lines sent" \
2184 " -w SECS timeout for connect\n" \ 2221 "\n -w SECS timeout for connect" \
2185 " -f file use file (ala /dev/ttyS0) instead of network" \ 2222 "\n -f file use file (ala /dev/ttyS0) instead of network" \
2186 ) \ 2223 ) \
2187 USE_NC_SERVER( \ 2224 USE_NC_SERVER( \
2188 "\n -l listen mode, for inbound connects\n" \ 2225 "\n -l listen mode, for inbound connects" \
2189 USE_NC_EXTRA(" (use -l twice with -e for persistent server)\n") \ 2226 USE_NC_EXTRA( \
2190 " -p PORT local port number" \ 2227 "\n (use -l twice with -e for persistent server)") \
2228 "\n -p PORT local port number" \
2191 ) 2229 )
2192 2230
2193#define nc_notes_usage "" \ 2231#define nc_notes_usage "" \
@@ -2212,15 +2250,15 @@ USE_FEATURE_MDEV_CONFIG( \
2212#define netstat_full_usage \ 2250#define netstat_full_usage \
2213 "Netstat displays Linux networking information.\n\n" \ 2251 "Netstat displays Linux networking information.\n\n" \
2214 "Options:\n" \ 2252 "Options:\n" \
2215 " -l display listening server sockets\n" \ 2253 " -l display listening server sockets\n" \
2216 " -a display all sockets (default: connected)\n" \ 2254 " -a display all sockets (default: connected)\n" \
2217 " -e display other/more information\n" \ 2255 " -e display other/more information\n" \
2218 " -n don't resolve names\n" \ 2256 " -n don't resolve names\n" \
2219 " -r display routing table\n" \ 2257 " -r display routing table\n" \
2220 " -t tcp sockets\n" \ 2258 " -t tcp sockets\n" \
2221 " -u udp sockets\n" \ 2259 " -u udp sockets\n" \
2222 " -w raw sockets\n" \ 2260 " -w raw sockets\n" \
2223 " -x unix sockets" 2261 " -x unix sockets"
2224 2262
2225#define nice_trivial_usage \ 2263#define nice_trivial_usage \
2226 "[-n ADJUST] [COMMAND [ARG] ...]" 2264 "[-n ADJUST] [COMMAND [ARG] ...]"
@@ -2293,7 +2331,7 @@ USE_FEATURE_MDEV_CONFIG( \
2293 "changes the password for the current user.\n" \ 2331 "changes the password for the current user.\n" \
2294 "Options:\n" \ 2332 "Options:\n" \
2295 " -a Define which algorithm shall be used for the password\n" \ 2333 " -a Define which algorithm shall be used for the password\n" \
2296 " (Choices: des, md5, sha1)\n" \ 2334 " (Choices: des, md5)\n" /* ", sha1)" */ \
2297 " -d Delete the password for the specified user account\n" \ 2335 " -d Delete the password for the specified user account\n" \
2298 " -l Locks (disables) the specified user account\n" \ 2336 " -l Locks (disables) the specified user account\n" \
2299 " -u Unlocks (re-enables) the specified user account" 2337 " -u Unlocks (re-enables) the specified user account"
@@ -2320,14 +2358,19 @@ USE_FEATURE_MDEV_CONFIG( \
2320 "Lists the PIDs of all processes with names that match the\n" \ 2358 "Lists the PIDs of all processes with names that match the\n" \
2321 "names on the command line.\n" \ 2359 "names on the command line.\n" \
2322 USAGE_PIDOF \ 2360 USAGE_PIDOF \
2323 USE_FEATURE_PIDOF_SINGLE("\n -s display only a single PID") \ 2361 USE_FEATURE_PIDOF_SINGLE( \
2324 USE_FEATURE_PIDOF_OMIT("\n -o omit given pid.") \ 2362 "\n -s display only a single PID") \
2325 USE_FEATURE_PIDOF_OMIT("\n Use %PPID to omit the parent pid of pidof itself") 2363 USE_FEATURE_PIDOF_OMIT( \
2364 "\n -o omit given pid.") \
2365 USE_FEATURE_PIDOF_OMIT( \
2366 "\n Use %PPID to omit the parent pid of pidof itself")
2326#define pidof_example_usage \ 2367#define pidof_example_usage \
2327 "$ pidof init\n" \ 2368 "$ pidof init\n" \
2328 "1\n" \ 2369 "1\n" \
2329 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh\n20351 5973 5950\n") \ 2370 USE_FEATURE_PIDOF_OMIT( \
2330 USE_FEATURE_PIDOF_OMIT("$ pidof /bin/sh -o %PPID\n20351 5950") 2371 "$ pidof /bin/sh\n20351 5973 5950\n") \
2372 USE_FEATURE_PIDOF_OMIT( \
2373 "$ pidof /bin/sh -o %PPID\n20351 5950")
2331 2374
2332#ifndef CONFIG_FEATURE_FANCY_PING 2375#ifndef CONFIG_FEATURE_FANCY_PING
2333#define ping_trivial_usage "host" 2376#define ping_trivial_usage "host"
@@ -2338,11 +2381,11 @@ USE_FEATURE_MDEV_CONFIG( \
2338#define ping_full_usage \ 2381#define ping_full_usage \
2339 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \ 2382 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
2340 "Options:\n" \ 2383 "Options:\n" \
2341 " -c COUNT Send only COUNT pings\n" \ 2384 " -c CNT Send only CNT pings\n" \
2342 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \ 2385 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \
2343 " -I IPADDR Use IPADDR as source address\n" \ 2386 " -I IP Use IP as source address\n" \
2344 " -q Quiet mode, only displays output at start\n" \ 2387 " -q Quiet mode, only displays output at start\n" \
2345 " and when finished" 2388 " and when finished"
2346#endif 2389#endif
2347#define ping_example_usage \ 2390#define ping_example_usage \
2348 "$ ping localhost\n" \ 2391 "$ ping localhost\n" \
@@ -2362,10 +2405,10 @@ USE_FEATURE_MDEV_CONFIG( \
2362#define ping6_full_usage \ 2405#define ping6_full_usage \
2363 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \ 2406 "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
2364 "Options:\n" \ 2407 "Options:\n" \
2365 " -c COUNT Send only COUNT pings\n" \ 2408 " -c CNT Send only CNT pings\n" \
2366 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \ 2409 " -s SIZE Send SIZE data bytes in packets (default=56)\n" \
2367 " -q Quiet mode, only displays output at start\n" \ 2410 " -q Quiet mode, only displays output at start\n" \
2368 " and when finished" 2411 " and when finished"
2369#endif 2412#endif
2370#define ping6_example_usage \ 2413#define ping6_example_usage \
2371 "$ ping6 ip6-localhost\n" \ 2414 "$ ping6 ip6-localhost\n" \
@@ -2387,9 +2430,9 @@ USE_FEATURE_MDEV_CONFIG( \
2387#define poweroff_full_usage \ 2430#define poweroff_full_usage \
2388 "Halt and shut off power.\n" \ 2431 "Halt and shut off power.\n" \
2389 "Options:\n" \ 2432 "Options:\n" \
2390 " -d delay interval for halting\n" \ 2433 " -d delay interval for halting\n" \
2391 " -n no call to sync()\n" \ 2434 " -n no call to sync()\n" \
2392 " -f force power off (don't go through init)" 2435 " -f force power off (don't go through init)"
2393 2436
2394#define printenv_trivial_usage \ 2437#define printenv_trivial_usage \
2395 "[VARIABLES...]" 2438 "[VARIABLES...]"
@@ -2429,8 +2472,10 @@ USE_FEATURE_MDEV_CONFIG( \
2429#define ps_full_usage \ 2472#define ps_full_usage \
2430 "Report process status\n" \ 2473 "Report process status\n" \
2431 USAGE_PS \ 2474 USAGE_PS \
2432 USE_SELINUX("\n -c show SE Linux context") \ 2475 USE_SELINUX( \
2433 USE_FEATURE_PS_WIDE("\n w wide output") 2476 "\n -c show SE Linux context") \
2477 USE_FEATURE_PS_WIDE( \
2478 "\n w wide output")
2434 2479
2435#endif /* ENABLE_DESKTOP */ 2480#endif /* ENABLE_DESKTOP */
2436 2481
@@ -2481,7 +2526,8 @@ USE_FEATURE_MDEV_CONFIG( \
2481 USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE" 2526 USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE"
2482#define readlink_full_usage \ 2527#define readlink_full_usage \
2483 "Displays the value of a symbolic link." \ 2528 "Displays the value of a symbolic link." \
2484 USE_FEATURE_READLINK_FOLLOW("\n\nOptions:\n" \ 2529 USE_FEATURE_READLINK_FOLLOW( \
2530 "\n\nOptions:\n" \
2485 " -f canonicalize by following all symlinks") 2531 " -f canonicalize by following all symlinks")
2486 2532
2487#define readprofile_trivial_usage \ 2533#define readprofile_trivial_usage \
@@ -2509,9 +2555,9 @@ USE_FEATURE_MDEV_CONFIG( \
2509#define reboot_full_usage \ 2555#define reboot_full_usage \
2510 "Reboot the system.\n" \ 2556 "Reboot the system.\n" \
2511 "Options:\n" \ 2557 "Options:\n" \
2512 " -d delay interval for rebooting\n" \ 2558 " -d delay interval for rebooting\n" \
2513 " -n no call to sync()\n" \ 2559 " -n no call to sync()\n" \
2514 " -f force reboot (don't go through init)" 2560 " -f force reboot (don't go through init)"
2515 2561
2516#define renice_trivial_usage \ 2562#define renice_trivial_usage \
2517 "{{-n INCREMENT} | PRIORITY} [[ -p | -g | -u ] ID ...]" 2563 "{{-n INCREMENT} | PRIORITY} [[ -p | -g | -u ] ID ...]"
@@ -2539,9 +2585,9 @@ USE_FEATURE_MDEV_CONFIG( \
2539 "Remove (unlink) the FILE(s). You may use '--' to\n" \ 2585 "Remove (unlink) the FILE(s). You may use '--' to\n" \
2540 "indicate that all following arguments are non-options.\n\n" \ 2586 "indicate that all following arguments are non-options.\n\n" \
2541 "Options:\n" \ 2587 "Options:\n" \
2542 " -i always prompt before removing each destination\n" \ 2588 " -i always prompt before removing each destination\n" \
2543 " -f remove existing destinations, never prompt\n" \ 2589 " -f remove existing destinations, never prompt\n" \
2544 " -r or -R remove the contents of directories recursively" 2590 " -r,-R remove the contents of directories recursively"
2545#define rm_example_usage \ 2591#define rm_example_usage \
2546 "$ rm -rf /tmp/foo\n" 2592 "$ rm -rf /tmp/foo\n"
2547 2593
@@ -2720,39 +2766,43 @@ USE_FEATURE_MDEV_CONFIG( \
2720 SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds.") \ 2766 SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds.") \
2721 USE_FEATURE_FANCY_SLEEP( \ 2767 USE_FEATURE_FANCY_SLEEP( \
2722 "Pause for a time equal to the total of the args given, where each arg can\n" \ 2768 "Pause for a time equal to the total of the args given, where each arg can\n" \
2723 " have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.") 2769 "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.")
2724#define sleep_example_usage \ 2770#define sleep_example_usage \
2725 "$ sleep 2\n" \ 2771 "$ sleep 2\n" \
2726 "[2 second delay results]\n" \ 2772 "[2 second delay results]\n" \
2727 USE_FEATURE_FANCY_SLEEP("$ sleep 1d 3h 22m 8s\n" \ 2773 USE_FEATURE_FANCY_SLEEP( \
2774 "$ sleep 1d 3h 22m 8s\n" \
2728 "[98528 second delay results]\n") 2775 "[98528 second delay results]\n")
2729 2776
2730#define sort_trivial_usage \ 2777#define sort_trivial_usage \
2731 "[-nru" USE_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o outfile] [-k start[.offset][opts][,end[.offset][opts]] [-t char") "] [FILE]..." 2778 "[-nru" \
2779 USE_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o outfile] [-k start[.offset][opts][,end[.offset][opts]] [-t char") \
2780 "] [FILE]..."
2732#define sort_full_usage \ 2781#define sort_full_usage \
2733 "Sorts lines of text in the specified files\n\n" \ 2782 "Sorts lines of text in the specified files\n\n" \
2734 "Options:\n" \ 2783 "Options:\n" \
2735 USE_FEATURE_SORT_BIG( \ 2784 USE_FEATURE_SORT_BIG( \
2736 " -b ignore leading blanks\n" \ 2785 " -b ignore leading blanks\n" \
2737 " -c check whether input is sorted\n" \ 2786 " -c check whether input is sorted\n" \
2738 " -d dictionary order (blank or alphanumeric only)\n" \ 2787 " -d dictionary order (blank or alphanumeric only)\n" \
2739 " -f ignore case\n" \ 2788 " -f ignore case\n" \
2740 " -g general numerical sort\n" \ 2789 " -g general numerical sort\n" \
2741 " -i ignore unprintable characters\n" \ 2790 " -i ignore unprintable characters\n" \
2742 " -k specify sort key\n" \ 2791 " -k specify sort key\n" \
2743 " -M sort month\n" \ 2792 " -M sort month\n") \
2744 ) \
2745 " -n sort numbers\n" \ 2793 " -n sort numbers\n" \
2746 USE_FEATURE_SORT_BIG( \ 2794 USE_FEATURE_SORT_BIG( \
2747 " -o output to file\n" \ 2795 " -o output to file\n" \
2748 " -k sort by key\n" \ 2796 " -k sort by key\n" \
2749 " -t use key separator other than whitespace\n" \ 2797 " -t use key separator other than whitespace\n") \
2750 ) \
2751 " -r reverse sort order\n" \ 2798 " -r reverse sort order\n" \
2752 USE_FEATURE_SORT_BIG(" -s stable (don't sort ties alphabetically)\n") \ 2799 USE_FEATURE_SORT_BIG( \
2800 " -s stable (don't sort ties alphabetically)\n") \
2753 " -u suppress duplicate lines" \ 2801 " -u suppress duplicate lines" \
2754 USE_FEATURE_SORT_BIG("\n -z input terminated by nulls, not newlines\n") \ 2802 USE_FEATURE_SORT_BIG( \
2755 USE_FEATURE_SORT_BIG(" -mST ignored for GNU compatibility") \ 2803 "\n -z input terminated by nulls, not newlines\n") \
2804 USE_FEATURE_SORT_BIG( \
2805 " -mST ignored for GNU compatibility") \
2756 "" 2806 ""
2757#define sort_example_usage \ 2807#define sort_example_usage \
2758 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ 2808 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \
@@ -2781,15 +2831,15 @@ USE_FEATURE_MDEV_CONFIG( \
2781 "\n -b|--background force process into background" \ 2831 "\n -b|--background force process into background" \
2782 "\n -u|--user <username>|<uid> stop this user's processes" \ 2832 "\n -u|--user <username>|<uid> stop this user's processes" \
2783 "\n -x|--exec <executable> program to either start or check" \ 2833 "\n -x|--exec <executable> program to either start or check" \
2784 "\n -m|--make-pidfile create the -p file and enter pid in it" \ 2834 "\n -m|--make-pidfile create the -p file and enter pid in it" \
2785 "\n -n|--name <process-name> stop processes with this name" \ 2835 "\n -n|--name <process-name> stop processes with this name" \
2786 "\n -p|--pidfile <pid-file> save or load pid using a pid-file" \ 2836 "\n -p|--pidfile <pid-file> save or load pid using a pid-file" \
2787 "\n -q|--quiet be quiet" \ 2837 "\n -q|--quiet be quiet" \
2788USE_FEATURE_START_STOP_DAEMON_FANCY( \ 2838 USE_FEATURE_START_STOP_DAEMON_FANCY( \
2789 "\n -o|--oknodo exit status 0 if nothing done" \ 2839 "\n -o|--oknodo exit status 0 if nothing done" \
2790 "\n -v|--verbose be verbose" \ 2840 "\n -v|--verbose be verbose" \
2791 "\n -N|--nicelevel <N> add N to process's nice level" \ 2841 "\n -N|--nicelevel <N> add N to process's nice level" \
2792) \ 2842 ) \
2793 "\n -s|--signal <signal> signal to send (default TERM)" \ 2843 "\n -s|--signal <signal> signal to send (default TERM)" \
2794 "\n -U|--chuid <username>|<uid> start process with this name" 2844 "\n -U|--chuid <username>|<uid> start process with this name"
2795 2845
@@ -2798,51 +2848,52 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
2798#define stat_full_usage \ 2848#define stat_full_usage \
2799 "display file (default) or filesystem status.\n\n" \ 2849 "display file (default) or filesystem status.\n\n" \
2800 "Options:\n" \ 2850 "Options:\n" \
2801 USE_FEATURE_STAT_FORMAT(" -c fmt use the specified format\n") \ 2851 USE_FEATURE_STAT_FORMAT( \
2852 " -c fmt use the specified format\n") \
2802 " -f display filesystem status\n" \ 2853 " -f display filesystem status\n" \
2803 " -L,-l dereference links\n" \ 2854 " -L,-l dereference links\n" \
2804 " -t display info in terse form\n" \ 2855 " -t display info in terse form" \
2805 USE_FEATURE_STAT_FORMAT( \ 2856 USE_FEATURE_STAT_FORMAT( \
2806 "\nValid format sequences for files:\n" \ 2857 "\n\nValid format sequences for files:\n" \
2807 " %a Access rights in octal\n" \ 2858 " %a Access rights in octal\n" \
2808 " %A Access rights in human readable form\n" \ 2859 " %A Access rights in human readable form\n" \
2809 " %b Number of blocks allocated (see %B)\n" \ 2860 " %b Number of blocks allocated (see %B)\n" \
2810 " %B The size in bytes of each block reported by %b\n" \ 2861 " %B The size in bytes of each block reported by %b\n" \
2811 " %d Device number in decimal\n" \ 2862 " %d Device number in decimal\n" \
2812 " %D Device number in hex\n" \ 2863 " %D Device number in hex\n" \
2813 " %f Raw mode in hex\n" \ 2864 " %f Raw mode in hex\n" \
2814 " %F File type\n" \ 2865 " %F File type\n" \
2815 " %g Group ID of owner\n" \ 2866 " %g Group ID of owner\n" \
2816 " %G Group name of owner\n" \ 2867 " %G Group name of owner\n" \
2817 " %h Number of hard links\n" \ 2868 " %h Number of hard links\n" \
2818 " %i Inode number\n" \ 2869 " %i Inode number\n" \
2819 " %n File name\n" \ 2870 " %n File name\n" \
2820 " %N Quoted file name with dereference if symbolic link\n" \ 2871 " %N Quoted file name with dereference if symbolic link\n" \
2821 " %o I/O block size\n" \ 2872 " %o I/O block size\n" \
2822 " %s Total size, in bytes\n" \ 2873 " %s Total size, in bytes\n" \
2823 " %t Major device type in hex\n" \ 2874 " %t Major device type in hex\n" \
2824 " %T Minor device type in hex\n" \ 2875 " %T Minor device type in hex\n" \
2825 " %u User ID of owner\n" \ 2876 " %u User ID of owner\n" \
2826 " %U User name of owner\n" \ 2877 " %U User name of owner\n" \
2827 " %x Time of last access\n" \ 2878 " %x Time of last access\n" \
2828 " %X Time of last access as seconds since Epoch\n" \ 2879 " %X Time of last access as seconds since Epoch\n" \
2829 " %y Time of last modification\n" \ 2880 " %y Time of last modification\n" \
2830 " %Y Time of last modification as seconds since Epoch\n" \ 2881 " %Y Time of last modification as seconds since Epoch\n" \
2831 " %z Time of last change\n" \ 2882 " %z Time of last change\n" \
2832 " %Z Time of last change as seconds since Epoch\n" \ 2883 " %Z Time of last change as seconds since Epoch\n" \
2833 "\nValid format sequences for file systems:\n" \ 2884 "\nValid format sequences for file systems:\n" \
2834 " %a Free blocks available to non-superuser\n" \ 2885 " %a Free blocks available to non-superuser\n" \
2835 " %b Total data blocks in file system\n" \ 2886 " %b Total data blocks in file system\n" \
2836 " %c Total file nodes in file system\n" \ 2887 " %c Total file nodes in file system\n" \
2837 " %d Free file nodes in file system\n" \ 2888 " %d Free file nodes in file system\n" \
2838 " %f Free blocks in file system\n" \ 2889 " %f Free blocks in file system\n" \
2839 " %i File System ID in hex\n" \ 2890 " %i File System ID in hex\n" \
2840 " %l Maximum length of filenames\n" \ 2891 " %l Maximum length of filenames\n" \
2841 " %n File name\n" \ 2892 " %n File name\n" \
2842 " %s Block size (for faster transfers)\n" \ 2893 " %s Block size (for faster transfers)\n" \
2843 " %S Fundamental block size (for block counts)\n" \ 2894 " %S Fundamental block size (for block counts)\n" \
2844 " %t Type in hex\n" \ 2895 " %t Type in hex\n" \
2845 " %T Type in human readable form\n" \ 2896 " %T Type in human readable form" \
2846 ) 2897 )
2847 2898
2848#define strings_trivial_usage \ 2899#define strings_trivial_usage \
@@ -2953,17 +3004,17 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
2953 "Linux system and kernel logging utility.\n" \ 3004 "Linux system and kernel logging utility.\n" \
2954 "Note that this version of syslogd ignores /etc/syslog.conf.\n\n" \ 3005 "Note that this version of syslogd ignores /etc/syslog.conf.\n\n" \
2955 "Options:\n" \ 3006 "Options:\n" \
2956 " -m MIN Minutes between MARK lines (default=20, 0=off)\n" \ 3007 " -m MIN Minutes between MARK lines (default=20, 0=off)\n" \
2957 " -n Run as a foreground process\n" \ 3008 " -n Run as a foreground process\n" \
2958 " -O FILE Use an alternate log file (default=/var/log/messages)\n" \ 3009 " -O FILE Use an alternate log file (default=/var/log/messages)\n" \
2959 " -l n Sets the local log level of messages to n\n" \ 3010 " -l n Sets the local log level of messages to n\n" \
2960 " -S Make logging output smaller" \ 3011 " -S Make logging output smaller" \
2961 USE_FEATURE_ROTATE_LOGFILE( \ 3012 USE_FEATURE_ROTATE_LOGFILE( \
2962 "\n -s SIZE Max size (KB) before rotate (default=200KB, 0=off)\n" \ 3013 "\n -s SIZE Max size (KB) before rotate (default=200KB, 0=off)" \
2963 " -b NUM Number of rotated logs to keep (default=1, max=99, 0=purge)") \ 3014 "\n -b NUM Number of rotated logs to keep (default=1, max=99, 0=purge)") \
2964 USE_FEATURE_REMOTE_LOG( \ 3015 USE_FEATURE_REMOTE_LOG( \
2965 "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)\n" \ 3016 "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \
2966 " -L Log locally and via network logging (default is network only)") \ 3017 "\n -L Log locally and via network logging (default is network only)") \
2967 USE_FEATURE_IPC_SYSLOG( \ 3018 USE_FEATURE_IPC_SYSLOG( \
2968 "\n -C [size(KiB)] Log to a circular buffer (read the buffer using logread)") 3019 "\n -C [size(KiB)] Log to a circular buffer (read the buffer using logread)")
2969#define syslogd_example_usage \ 3020#define syslogd_example_usage \
@@ -2977,10 +3028,12 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
2977 "With more than one FILE, precede each with a header giving the\n" \ 3028 "With more than one FILE, precede each with a header giving the\n" \
2978 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ 3029 "file name. With no FILE, or when FILE is -, read standard input.\n\n" \
2979 "Options:\n" \ 3030 "Options:\n" \
2980 USE_FEATURE_FANCY_TAIL(" -c N[kbm] output the last N bytes\n") \ 3031 USE_FEATURE_FANCY_TAIL( \
3032 " -c N[kbm] output the last N bytes\n") \
2981 " -n N[kbm] print last N lines instead of last 10\n" \ 3033 " -n N[kbm] print last N lines instead of last 10\n" \
2982 " -f output data as the file grows" \ 3034 " -f output data as the file grows" \
2983 USE_FEATURE_FANCY_TAIL( "\n -q never output headers giving file names\n" \ 3035 USE_FEATURE_FANCY_TAIL( \
3036 "\n -q never output headers giving file names\n" \
2984 " -s SEC wait SEC seconds between reads with -f\n" \ 3037 " -s SEC wait SEC seconds between reads with -f\n" \
2985 " -v always output headers giving file names\n\n" \ 3038 " -v always output headers giving file names\n\n" \
2986 "If the first character of N (bytes or lines) is a '+', output begins with\n" \ 3039 "If the first character of N (bytes or lines) is a '+', output begins with\n" \
@@ -2999,23 +3052,27 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
2999#define tar_full_usage \ 3052#define tar_full_usage \
3000 "Create, extract, or list files from a tar file.\n\n" \ 3053 "Create, extract, or list files from a tar file.\n\n" \
3001 "Options:\n" \ 3054 "Options:\n" \
3002 USE_FEATURE_TAR_CREATE(" c create\n") \ 3055 USE_FEATURE_TAR_CREATE( \
3003 " x extract\n" \ 3056 " c create\n") \
3004 " t list\n" \ 3057 " x extract\n" \
3058 " t list\n" \
3005 "\nArchive format selection:\n" \ 3059 "\nArchive format selection:\n" \
3006 USE_FEATURE_TAR_GZIP(" z Filter the archive through gzip\n") \ 3060 USE_FEATURE_TAR_GZIP( \
3007 USE_FEATURE_TAR_BZIP2(" j Filter the archive through bzip2\n") \ 3061 " z Filter the archive through gzip\n") \
3008 USE_FEATURE_TAR_LZMA(" a Filter the archive through lzma\n") \ 3062 USE_FEATURE_TAR_BZIP2( \
3009 USE_FEATURE_TAR_COMPRESS(" Z Filter the archive through compress\n") \ 3063 " j Filter the archive through bzip2\n") \
3064 USE_FEATURE_TAR_LZMA( \
3065 " a Filter the archive through lzma\n") \
3066 USE_FEATURE_TAR_COMPRESS( \
3067 " Z Filter the archive through compress\n") \
3010 "\nFile selection:\n" \ 3068 "\nFile selection:\n" \
3011 " f name of TARFILE or \"-\" for stdin\n" \ 3069 " f name of TARFILE or \"-\" for stdin\n" \
3012 " O extract to stdout\n" \ 3070 " O extract to stdout\n" \
3013 USE_FEATURE_TAR_FROM( \ 3071 USE_FEATURE_TAR_FROM( \
3014 " exclude file to exclude\n" \ 3072 " exclude file to exclude\n" \
3015 " X file with names to exclude\n" \ 3073 " X file with names to exclude\n") \
3016 ) \ 3074 " C change to directory DIR before operation\n" \
3017 " C change to directory DIR before operation\n" \ 3075 " v verbosely list files processed"
3018 " v verbosely list files processed"
3019#define tar_example_usage \ 3076#define tar_example_usage \
3020 "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \ 3077 "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \
3021 "$ tar -cf /tmp/tarball.tar /usr/local\n" 3078 "$ tar -cf /tmp/tarball.tar /usr/local\n"
@@ -3252,12 +3309,15 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
3252 "[flags] FILESYSTEM|DIRECTORY" 3309 "[flags] FILESYSTEM|DIRECTORY"
3253#define umount_full_usage \ 3310#define umount_full_usage \
3254 "Unmount file systems\n" \ 3311 "Unmount file systems\n" \
3255 "\nFlags:\n" " -a Unmount all file systems" \ 3312 "\nFlags:" \
3256 USE_FEATURE_MTAB_SUPPORT(" in /etc/mtab\n -n Don't erase /etc/mtab entries") \ 3313 "\n -a Unmount all file systems" USE_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \
3314 USE_FEATURE_MTAB_SUPPORT( \
3315 "\n -n Don't erase /etc/mtab entries") \
3257 "\n -r Try to remount devices as read-only if mount is busy" \ 3316 "\n -r Try to remount devices as read-only if mount is busy" \
3258 "\n -l Lazy umount (detach filesystem)" \ 3317 "\n -l Lazy umount (detach filesystem)" \
3259 "\n -f Force umount (i.e., unreachable NFS server)" \ 3318 "\n -f Force umount (i.e., unreachable NFS server)" \
3260 USE_FEATURE_MOUNT_LOOP("\n -D Do not free loop device (if a loop device has been used)") 3319 USE_FEATURE_MOUNT_LOOP( \
3320 "\n -D Do not free loop device (if a loop device has been used)")
3261#define umount_example_usage \ 3321#define umount_example_usage \
3262 "$ umount /dev/hdc1\n" 3322 "$ umount /dev/hdc1\n"
3263 3323
@@ -3463,10 +3523,13 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \
3463#define xargs_full_usage \ 3523#define xargs_full_usage \
3464 "Executes COMMAND on every item given by standard input.\n\n" \ 3524 "Executes COMMAND on every item given by standard input.\n\n" \
3465 "Options:\n" \ 3525 "Options:\n" \
3466 USE_FEATURE_XARGS_SUPPORT_CONFIRMATION(" -p Prompt the user about whether to run each command\n") \ 3526 USE_FEATURE_XARGS_SUPPORT_CONFIRMATION( \
3527 " -p Prompt the user about whether to run each command\n") \
3467 " -r Do not run command for empty read lines\n" \ 3528 " -r Do not run command for empty read lines\n" \
3468 USE_FEATURE_XARGS_SUPPORT_TERMOPT(" -x Exit if the size is exceeded\n") \ 3529 USE_FEATURE_XARGS_SUPPORT_TERMOPT( \
3469 USE_FEATURE_XARGS_SUPPORT_ZERO_TERM(" -0 Input filenames are terminated by a null character\n") \ 3530 " -x Exit if the size is exceeded\n") \
3531 USE_FEATURE_XARGS_SUPPORT_ZERO_TERM( \
3532 " -0 Input filenames are terminated by a null character\n") \
3470 " -t Print the command line on stderr before executing it" 3533 " -t Print the command line on stderr before executing it"
3471#define xargs_example_usage \ 3534#define xargs_example_usage \
3472 "$ ls | xargs gzip\n" \ 3535 "$ ls | xargs gzip\n" \