Changeset 3233 in MondoRescue
- Timestamp:
- Jan 1, 2014, 9:23:14 AM (11 years ago)
- Location:
- branches/3.2/mindi-busybox
- Files:
-
- 8 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mindi-busybox/.config
r3090 r3233 1 1 # 2 2 # Automatically generated make config: don't edit 3 # Busybox version: 1. 18.5-rPBREV4 # Wed Mar 13 18:16:16 20133 # Busybox version: 1.21.1 4 # Wed Jan 1 01:01:58 2014 5 5 # 6 6 CONFIG_HAVE_DOT_CONFIG=y … … 40 40 CONFIG_FEATURE_DEVPTS=y 41 41 # CONFIG_FEATURE_CLEAN_UP is not set 42 CONFIG_FEATURE_UTMP=y 42 43 # CONFIG_FEATURE_WTMP is not set 43 CONFIG_FEATURE_UTMP=y44 44 # CONFIG_FEATURE_PIDFILE is not set 45 CONFIG_PID_FILE_PATH="" 45 46 CONFIG_FEATURE_SUID=y 46 47 # CONFIG_FEATURE_SUID_CONFIG is not set … … 63 64 CONFIG_LFS=y 64 65 CONFIG_CROSS_COMPILER_PREFIX="" 66 CONFIG_SYSROOT="" 65 67 CONFIG_EXTRA_CFLAGS="" 68 CONFIG_EXTRA_LDFLAGS="" 69 CONFIG_EXTRA_LDLIBS="" 66 70 67 71 # … … 90 94 # Busybox Library Tuning 91 95 # 96 CONFIG_FEATURE_RTMINMAX=y 92 97 CONFIG_PASSWORD_MINLEN=6 93 CONFIG_MD5_SIZE_VS_SPEED=2 98 CONFIG_MD5_SMALL=1 99 CONFIG_SHA3_SMALL=1 94 100 CONFIG_FEATURE_FAST_TOP=y 95 101 # CONFIG_FEATURE_ETC_NETWORKS is not set … … 100 106 CONFIG_FEATURE_EDITING_HISTORY=15 101 107 # CONFIG_FEATURE_EDITING_SAVEHISTORY is not set 108 # CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 109 # CONFIG_FEATURE_REVERSE_SEARCH is not set 102 110 CONFIG_FEATURE_TAB_COMPLETION=y 103 111 # CONFIG_FEATURE_USERNAME_COMPLETION is not set … … 107 115 CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y 108 116 CONFIG_FEATURE_COPYBUF_KB=4 117 CONFIG_FEATURE_SKIP_ROOTFS=y 109 118 # CONFIG_MONOTONIC_SYSCALL is not set 110 119 CONFIG_IOCTL_HEX2STR_ERROR=y … … 124 133 # CONFIG_FEATURE_SEAMLESS_Z is not set 125 134 CONFIG_AR=y 126 # CONFIG_FEATURE_AR_LONG_FILENAMES is not set 135 CONFIG_FEATURE_AR_LONG_FILENAMES=y 127 136 CONFIG_FEATURE_AR_CREATE=y 128 # CONFIG_BUNZIP2 is not set 137 CONFIG_BUNZIP2=y 129 138 CONFIG_BZIP2=y 130 139 CONFIG_CPIO=y … … 137 146 CONFIG_GZIP=y 138 147 CONFIG_FEATURE_GZIP_LONG_OPTIONS=y 148 CONFIG_GZIP_FAST=0 139 149 CONFIG_LZOP=y 140 150 # CONFIG_LZOP_COMPR_HIGH is not set … … 170 180 # CONFIG_FEATURE_DATE_NANO is not set 171 181 CONFIG_FEATURE_DATE_COMPAT=y 182 # CONFIG_HOSTID is not set 183 CONFIG_ID=y 184 CONFIG_GROUPS=y 172 185 CONFIG_TEST=y 173 186 # CONFIG_FEATURE_TEST_64 is not set 187 CONFIG_TOUCH=y 188 CONFIG_FEATURE_TOUCH_SUSV3=y 174 189 CONFIG_TR=y 175 190 CONFIG_FEATURE_TR_CLASSES=y 176 191 CONFIG_FEATURE_TR_EQUIV=y 177 192 CONFIG_BASE64=y 193 CONFIG_WHO=y 194 CONFIG_USERS=y 178 195 # CONFIG_CAL is not set 179 196 # CONFIG_CATV is not set … … 212 229 CONFIG_HEAD=y 213 230 # CONFIG_FEATURE_FANCY_HEAD is not set 214 # CONFIG_HOSTID is not set215 CONFIG_ID=y216 231 # CONFIG_INSTALL is not set 217 232 # CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set 218 # CONFIG_LENGTH is not set219 233 CONFIG_LN=y 220 234 # CONFIG_LOGNAME is not set … … 251 265 CONFIG_SHA256SUM=y 252 266 CONFIG_SHA512SUM=y 267 CONFIG_SHA3SUM=y 253 268 CONFIG_SLEEP=y 254 269 # CONFIG_FEATURE_FANCY_SLEEP is not set … … 268 283 CONFIG_TEE=y 269 284 CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 270 CONFIG_TOUCH=y271 285 CONFIG_TRUE=y 272 286 CONFIG_TTY=y … … 280 294 CONFIG_WC=y 281 295 # CONFIG_FEATURE_WC_LARGE is not set 282 CONFIG_WHO=y283 296 CONFIG_WHOAMI=y 284 297 CONFIG_YES=y … … 300 313 301 314 # 302 # Common options for md5sum, sha1sum, sha256sum, sha512sum 315 # Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum 303 316 # 304 317 CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y … … 351 364 # 352 365 CONFIG_PATCH=y 366 CONFIG_VI=y 367 CONFIG_FEATURE_VI_MAX_LEN=1024 368 # CONFIG_FEATURE_VI_8BIT is not set 369 CONFIG_FEATURE_VI_COLON=y 370 CONFIG_FEATURE_VI_YANKMARK=y 371 CONFIG_FEATURE_VI_SEARCH=y 372 # CONFIG_FEATURE_VI_REGEX_SEARCH is not set 373 CONFIG_FEATURE_VI_USE_SIGNALS=y 374 CONFIG_FEATURE_VI_DOT_CMD=y 375 CONFIG_FEATURE_VI_READONLY=y 376 CONFIG_FEATURE_VI_SETOPTS=y 377 CONFIG_FEATURE_VI_SET=y 378 CONFIG_FEATURE_VI_WIN_RESIZE=y 379 CONFIG_FEATURE_VI_ASK_TERMINAL=y 353 380 CONFIG_AWK=y 354 381 CONFIG_FEATURE_AWK_LIBM=y … … 359 386 # CONFIG_ED is not set 360 387 CONFIG_SED=y 361 CONFIG_VI=y362 CONFIG_FEATURE_VI_MAX_LEN=1024363 # CONFIG_FEATURE_VI_8BIT is not set364 CONFIG_FEATURE_VI_COLON=y365 CONFIG_FEATURE_VI_YANKMARK=y366 CONFIG_FEATURE_VI_SEARCH=y367 CONFIG_FEATURE_VI_USE_SIGNALS=y368 CONFIG_FEATURE_VI_DOT_CMD=y369 CONFIG_FEATURE_VI_READONLY=y370 CONFIG_FEATURE_VI_SETOPTS=y371 CONFIG_FEATURE_VI_SET=y372 CONFIG_FEATURE_VI_WIN_RESIZE=y373 CONFIG_FEATURE_VI_ASK_TERMINAL=y374 CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y375 388 CONFIG_FEATURE_ALLOW_EXEC=y 376 389 … … 431 444 CONFIG_INIT_TERMINAL_TYPE="linux" 432 445 CONFIG_MESG=y 446 CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y 433 447 434 448 # … … 455 469 # CONFIG_GETTY is not set 456 470 # CONFIG_LOGIN is not set 471 # CONFIG_LOGIN_SESSION_AS_CHILD is not set 457 472 # CONFIG_PAM is not set 458 473 # CONFIG_LOGIN_SCRIPTS is not set … … 463 478 # CONFIG_CRYPTPW is not set 464 479 # CONFIG_CHPASSWD is not set 480 CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" 465 481 # CONFIG_SU is not set 466 482 # CONFIG_FEATURE_SU_SYSLOG is not set … … 512 528 # 513 529 CONFIG_BLOCKDEV=y 530 # CONFIG_MDEV is not set 531 # CONFIG_FEATURE_MDEV_CONF is not set 532 # CONFIG_FEATURE_MDEV_RENAME is not set 533 # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 534 # CONFIG_FEATURE_MDEV_EXEC is not set 535 # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set 514 536 CONFIG_REV=y 515 537 CONFIG_ACPID=y 516 538 CONFIG_FEATURE_ACPID_COMPAT=y 517 539 # CONFIG_BLKID is not set 540 # CONFIG_FEATURE_BLKID_TYPE is not set 518 541 CONFIG_DMESG=y 519 542 CONFIG_FEATURE_DMESG_PRETTY=y … … 524 547 CONFIG_FDFORMAT=y 525 548 # CONFIG_FDISK is not set 526 CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 549 # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set 527 550 # CONFIG_FEATURE_FDISK_WRITABLE is not set 528 551 # CONFIG_FEATURE_AIX_LABEL is not set … … 554 577 CONFIG_LSPCI=y 555 578 CONFIG_LSUSB=y 556 # CONFIG_MDEV is not set557 # CONFIG_FEATURE_MDEV_CONF is not set558 # CONFIG_FEATURE_MDEV_RENAME is not set559 # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set560 # CONFIG_FEATURE_MDEV_EXEC is not set561 # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set562 579 # CONFIG_MKSWAP is not set 563 580 # CONFIG_FEATURE_MKSWAP_UUID is not set … … 601 618 CONFIG_FEATURE_VOLUMEID_REISERFS=y 602 619 CONFIG_FEATURE_VOLUMEID_FAT=y 620 CONFIG_FEATURE_VOLUMEID_EXFAT=y 603 621 CONFIG_FEATURE_VOLUMEID_HFS=y 604 622 CONFIG_FEATURE_VOLUMEID_JFS=y 605 623 CONFIG_FEATURE_VOLUMEID_XFS=y 624 CONFIG_FEATURE_VOLUMEID_NILFS=y 606 625 CONFIG_FEATURE_VOLUMEID_NTFS=y 607 626 CONFIG_FEATURE_VOLUMEID_ISO9660=y … … 611 630 CONFIG_FEATURE_VOLUMEID_CRAMFS=y 612 631 CONFIG_FEATURE_VOLUMEID_ROMFS=y 632 # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set 613 633 CONFIG_FEATURE_VOLUMEID_SYSV=y 614 634 CONFIG_FEATURE_VOLUMEID_OCFS2=y … … 619 639 # 620 640 # CONFIG_CONSPY is not set 641 # CONFIG_LESS is not set 642 CONFIG_FEATURE_LESS_MAXLINES=0 643 # CONFIG_FEATURE_LESS_BRACKETS is not set 644 # CONFIG_FEATURE_LESS_FLAGS is not set 645 # CONFIG_FEATURE_LESS_MARKS is not set 646 # CONFIG_FEATURE_LESS_REGEXP is not set 647 # CONFIG_FEATURE_LESS_WINCH is not set 648 # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set 649 # CONFIG_FEATURE_LESS_DASHCMD is not set 650 # CONFIG_FEATURE_LESS_LINENUMS is not set 621 651 # CONFIG_NANDWRITE is not set 622 652 # CONFIG_NANDDUMP is not set … … 663 693 # CONFIG_FEATURE_LAST_SMALL is not set 664 694 # CONFIG_FEATURE_LAST_FANCY is not set 665 # CONFIG_LESS is not set666 CONFIG_FEATURE_LESS_MAXLINES=0667 # CONFIG_FEATURE_LESS_BRACKETS is not set668 # CONFIG_FEATURE_LESS_FLAGS is not set669 # CONFIG_FEATURE_LESS_MARKS is not set670 # CONFIG_FEATURE_LESS_REGEXP is not set671 # CONFIG_FEATURE_LESS_WINCH is not set672 # CONFIG_FEATURE_LESS_DASHCMD is not set673 # CONFIG_FEATURE_LESS_LINENUMS is not set674 695 # CONFIG_HDPARM is not set 675 696 # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set … … 705 726 # Networking Utilities 706 727 # 728 # CONFIG_NAMEIF is not set 729 # CONFIG_FEATURE_NAMEIF_EXTENDED is not set 707 730 CONFIG_NBDCLIENT=y 708 731 CONFIG_NC=y … … 710 733 CONFIG_NC_EXTRA=y 711 734 # CONFIG_NC_110_COMPAT is not set 735 CONFIG_PING=y 736 # CONFIG_PING6 is not set 737 CONFIG_FEATURE_FANCY_PING=y 712 738 # CONFIG_FEATURE_IPV6 is not set 713 739 # CONFIG_FEATURE_UNIX_LOCAL is not set … … 782 808 # CONFIG_FEATURE_IPCALC_FANCY is not set 783 809 # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set 784 # CONFIG_NAMEIF is not set785 # CONFIG_FEATURE_NAMEIF_EXTENDED is not set786 810 CONFIG_NETSTAT=y 787 811 # CONFIG_FEATURE_NETSTAT_WIDE is not set … … 790 814 # CONFIG_NTPD is not set 791 815 # CONFIG_FEATURE_NTPD_SERVER is not set 792 CONFIG_PING=y793 # CONFIG_PING6 is not set794 CONFIG_FEATURE_FANCY_PING=y795 816 # CONFIG_PSCAN is not set 796 817 CONFIG_ROUTE=y … … 825 846 # CONFIG_DUMPLEASES is not set 826 847 # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 848 # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set 827 849 CONFIG_DHCPD_LEASES_FILE="" 828 850 CONFIG_UDHCPC=y … … 831 853 CONFIG_UDHCP_DEBUG=9 832 854 # CONFIG_FEATURE_UDHCP_RFC3397 is not set 855 CONFIG_FEATURE_UDHCP_8021Q=y 833 856 CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 834 857 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 … … 866 889 # CONFIG_IOSTAT is not set 867 890 # CONFIG_MPSTAT is not set 891 # CONFIG_NMETER is not set 868 892 # CONFIG_PMAP is not set 869 893 # CONFIG_POWERTOP is not set 870 894 # CONFIG_SMEMCAP is not set 895 CONFIG_TOP=y 896 CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 897 CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 898 CONFIG_FEATURE_TOP_SMP_CPU=y 899 # CONFIG_FEATURE_TOP_DECIMALS is not set 900 CONFIG_FEATURE_TOP_SMP_PROCESS=y 901 CONFIG_FEATURE_TOPMEM=y 902 # CONFIG_UPTIME is not set 903 # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set 871 904 CONFIG_FREE=y 872 905 # CONFIG_FUSER is not set … … 874 907 CONFIG_KILLALL=y 875 908 # CONFIG_KILLALL5 is not set 876 # CONFIG_NMETER is not set877 909 # CONFIG_PGREP is not set 878 910 # CONFIG_PIDOF is not set … … 882 914 CONFIG_PS=y 883 915 CONFIG_FEATURE_PS_WIDE=y 916 CONFIG_FEATURE_PS_LONG=y 884 917 # CONFIG_FEATURE_PS_TIME is not set 885 918 # CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set … … 887 920 # CONFIG_RENICE is not set 888 921 # CONFIG_BB_SYSCTL is not set 889 CONFIG_TOP=y890 CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y891 CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y892 CONFIG_FEATURE_TOP_SMP_CPU=y893 # CONFIG_FEATURE_TOP_DECIMALS is not set894 CONFIG_FEATURE_TOP_SMP_PROCESS=y895 CONFIG_FEATURE_TOPMEM=y896 922 CONFIG_FEATURE_SHOW_THREADS=y 897 # CONFIG_UPTIME is not set898 923 # CONFIG_WATCH is not set 899 924 … … 933 958 CONFIG_ASH=y 934 959 CONFIG_ASH_BASH_COMPAT=y 960 # CONFIG_ASH_IDLE_TIMEOUT is not set 935 961 CONFIG_ASH_JOB_CONTROL=y 936 962 CONFIG_ASH_ALIAS=y … … 973 999 # CONFIG_FEATURE_SH_STANDALONE is not set 974 1000 # CONFIG_FEATURE_SH_NOFORK is not set 1001 CONFIG_FEATURE_SH_HISTFILESIZE=y 975 1002 976 1003 # … … 981 1008 CONFIG_FEATURE_REMOTE_LOG=y 982 1009 CONFIG_FEATURE_SYSLOGD_DUP=y 1010 CONFIG_FEATURE_SYSLOGD_CFG=y 983 1011 CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 984 1012 CONFIG_FEATURE_IPC_SYSLOG=y … … 986 1014 CONFIG_LOGREAD=y 987 1015 CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 1016 CONFIG_FEATURE_KMSG_SYSLOG=y 988 1017 CONFIG_KLOGD=y 1018 1019 # 1020 # klogd should not be used together with syslog to kernel printk buffer 1021 # 989 1022 CONFIG_FEATURE_KLOGD_KLOGCTL=y 990 1023 # CONFIG_LOGGER is not set -
branches/3.2/mindi-busybox/include/applets.h
r2725 r3233 14 14 l - location to install link to: [/usr]/[s]bin 15 15 s - suid type: 16 _BB_SUID_REQUIRE: will complain if busybox isn't suid16 BB_SUID_REQUIRE: will complain if busybox isn't suid 17 17 and is run by non-root (applet_main() will not be called at all) 18 _BB_SUID_DROP: will drop suid prior to applet_main() 19 _BB_SUID_MAYBE: neither of the above 18 BB_SUID_DROP: will drop suid prior to applet_main() 19 BB_SUID_MAYBE: neither of the above 20 (every instance of BB_SUID_REQUIRE and BB_SUID_MAYBE 21 needs to be justified in comment) 22 NB: please update FEATURE_SUID help text whenever you add/remove 23 BB_SUID_REQUIRE or BB_SUID_MAYBE applet. 20 24 */ 21 25 … … 59 63 60 64 #if ENABLE_INSTALL_NO_USR 61 # define _BB_DIR_USR_BIN _BB_DIR_BIN62 # define _BB_DIR_USR_SBIN _BB_DIR_SBIN65 # define BB_DIR_USR_BIN BB_DIR_BIN 66 # define BB_DIR_USR_SBIN BB_DIR_SBIN 63 67 #endif 64 68 65 69 66 IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 67 IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP, bzcat)) 68 IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_DROP)) 69 IF_BASE64(APPLET(base64, _BB_DIR_BIN, _BB_SUID_DROP)) 70 IF_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 71 IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_DROP, find)) 72 IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_DROP)) 73 IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, egrep)) 74 IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, fgrep)) 75 IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_DROP, xargs)) 76 IF_BOOTCHARTD(APPLET(bootchartd, _BB_DIR_SBIN, _BB_SUID_DROP)) 77 IF_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_DROP)) 78 IF_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_DROP, poweroff)) 79 IF_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_DROP, reboot)) 80 IF_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_DROP)) 81 IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_DROP, linuxrc)) 82 IF_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 83 IF_ADD_SHELL( APPLET_ODDNAME(add-shell , add_remove_shell, _BB_DIR_USR_BIN, _BB_SUID_DROP, add_shell )) 84 IF_REMOVE_SHELL(APPLET_ODDNAME(remove-shell, add_remove_shell, _BB_DIR_USR_BIN, _BB_SUID_DROP, remove_shell)) 85 IF_CONSPY(APPLET(conspy, _BB_DIR_BIN, _BB_SUID_DROP)) 86 IF_NANDWRITE(APPLET(nandwrite, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 87 IF_NANDWRITE(APPLET_ODDNAME(nanddump, nandwrite, _BB_DIR_USR_SBIN, _BB_SUID_DROP, nanddump)) 70 IF_BUNZIP2(APPLET(bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP)) 71 IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP, bzcat)) 72 IF_DATE(APPLET(date, BB_DIR_BIN, BB_SUID_DROP)) 73 IF_HOSTID(APPLET_NOFORK(hostid, hostid, BB_DIR_USR_BIN, BB_SUID_DROP, hostid)) 74 IF_GROUPS(APPLET_NOEXEC(groups, id, BB_DIR_USR_BIN, BB_SUID_DROP, groups)) 75 IF_ID( APPLET_NOEXEC(id, id, BB_DIR_USR_BIN, BB_SUID_DROP, id )) 76 IF_TOUCH(APPLET_NOFORK(touch, touch, BB_DIR_BIN, BB_SUID_DROP, touch)) 77 IF_BASE64(APPLET(base64, BB_DIR_BIN, BB_SUID_DROP)) 78 IF_USERS(APPLET_ODDNAME(users, who, BB_DIR_USR_BIN, BB_SUID_DROP, users)) 79 IF_WHO( APPLET( who, BB_DIR_USR_BIN, BB_SUID_DROP)) 80 IF_PATCH(APPLET(patch, BB_DIR_USR_BIN, BB_SUID_DROP)) 81 IF_VI(APPLET(vi, BB_DIR_BIN, BB_SUID_DROP)) 82 IF_FIND(APPLET_NOEXEC(find, find, BB_DIR_USR_BIN, BB_SUID_DROP, find)) 83 IF_GREP(APPLET(grep, BB_DIR_BIN, BB_SUID_DROP)) 84 IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, BB_DIR_BIN, BB_SUID_DROP, egrep)) 85 IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, BB_DIR_BIN, BB_SUID_DROP, fgrep)) 86 IF_XARGS(APPLET_NOEXEC(xargs, xargs, BB_DIR_USR_BIN, BB_SUID_DROP, xargs)) 87 IF_BOOTCHARTD(APPLET(bootchartd, BB_DIR_SBIN, BB_SUID_DROP)) 88 IF_HALT(APPLET(halt, BB_DIR_SBIN, BB_SUID_DROP)) 89 IF_HALT(APPLET_ODDNAME(poweroff, halt, BB_DIR_SBIN, BB_SUID_DROP, poweroff)) 90 IF_HALT(APPLET_ODDNAME(reboot, halt, BB_DIR_SBIN, BB_SUID_DROP, reboot)) 91 IF_INIT(APPLET(init, BB_DIR_SBIN, BB_SUID_DROP)) 92 IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, BB_DIR_ROOT, BB_SUID_DROP, linuxrc)) 93 IF_MESG(APPLET(mesg, BB_DIR_USR_BIN, BB_SUID_DROP)) 94 IF_ADD_SHELL( APPLET_ODDNAME(add-shell , add_remove_shell, BB_DIR_USR_SBIN, BB_SUID_DROP, add_shell )) 95 IF_REMOVE_SHELL(APPLET_ODDNAME(remove-shell, add_remove_shell, BB_DIR_USR_SBIN, BB_SUID_DROP, remove_shell)) 96 IF_CONSPY(APPLET(conspy, BB_DIR_BIN, BB_SUID_DROP)) 97 IF_NANDWRITE(APPLET(nandwrite, BB_DIR_USR_SBIN, BB_SUID_DROP)) 98 IF_NANDWRITE(APPLET_ODDNAME(nanddump, nandwrite, BB_DIR_USR_SBIN, BB_SUID_DROP, nanddump)) 88 99 IF_UBIATTACH(APPLET_ODDNAME(ubiattach, ubi_attach_detach, _BB_DIR_USR_SBIN, _BB_SUID_DROP, ubiattach)) 89 100 IF_UBIDETACH(APPLET_ODDNAME(ubidetach, ubi_attach_detach, _BB_DIR_USR_SBIN, _BB_SUID_DROP, ubidetach)) 90 IF_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_DROP)) 91 IF_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_DROP)) 92 IF_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_DROP)) 93 IF_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_DROP)) 94 IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) 95 IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) 96 IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) 97 IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) 98 IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) 99 IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) 100 IF_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_DROP)) 101 IF_NBDCLIENT(APPLET_ODDNAME(nbd-client, nbdclient, _BB_DIR_USR_SBIN, _BB_SUID_DROP, nbdclient)) 102 IF_IOSTAT(APPLET(iostat, _BB_DIR_BIN, _BB_SUID_DROP)) 103 IF_MPSTAT(APPLET(mpstat, _BB_DIR_BIN, _BB_SUID_DROP)) 104 IF_PMAP(APPLET(pmap, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 105 IF_POWERTOP(APPLET(powertop, _BB_DIR_BIN, _BB_SUID_DROP)) 106 IF_SMEMCAP(APPLET(smemcap, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 107 IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_DROP)) 108 IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_DROP, sh)) 109 IF_FEATURE_BASH_IS_ASH(APPLET_ODDNAME(bash, ash, _BB_DIR_BIN, _BB_SUID_DROP, bash)) 110 IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_DROP)) 111 IF_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_DROP)) 112 IF_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_DROP)) 113 IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_DROP, sh)) 114 IF_FEATURE_BASH_IS_HUSH(APPLET_ODDNAME(bash, hush, _BB_DIR_BIN, _BB_SUID_DROP, bash)) 115 IF_BLOCKDEV(APPLET(blockdev, _BB_DIR_SBIN, _BB_SUID_DROP)) 116 IF_REV(APPLET(rev, _BB_DIR_BIN, _BB_SUID_DROP)) 117 IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) 118 IF_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) 119 IF_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_DROP)) 120 IF_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_DROP)) 121 IF_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_DROP)) 122 IF_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_DROP)) 123 IF_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 124 IF_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_DROP)) 125 IF_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 126 IF_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_DROP, awk)) 127 IF_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_DROP, basename)) 128 IF_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_DROP)) 129 IF_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 130 IF_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_DROP)) 131 IF_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 132 IF_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 133 IF_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 134 IF_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_DROP, cat)) 135 IF_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_DROP)) 136 IF_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 137 IF_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_DROP)) 138 IF_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 139 IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_DROP, chgrp)) 140 IF_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_DROP, chmod)) 141 IF_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_DROP, chown)) 142 IF_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 143 IF_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 144 IF_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 145 IF_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 146 IF_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 147 IF_CKSUM(APPLET_NOEXEC(cksum, cksum, _BB_DIR_USR_BIN, _BB_SUID_DROP, cksum)) 148 IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 149 IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 150 IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 151 IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_DROP, cp)) 152 IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP)) 153 IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 154 IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 155 IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 156 IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_DROP, cut)) 157 IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 158 IF_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_DROP, dd)) 159 IF_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 160 IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_DROP, delgroup)) 161 IF_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_DROP)) 162 IF_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_DROP)) 163 IF_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_DROP)) 164 IF_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_DROP)) 165 IF_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 166 IF_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 167 IF_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_DROP, dirname)) 168 IF_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_DROP)) 169 IF_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_REQUIRE)) 170 IF_HOSTNAME(APPLET_ODDNAME(dnsdomainname, hostname, _BB_DIR_BIN, _BB_SUID_DROP, dnsdomainname)) 171 IF_DOS2UNIX(APPLET_NOEXEC(dos2unix, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP, dos2unix)) 172 IF_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 173 IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_DROP, dpkg_deb)) 174 IF_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 175 IF_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_DROP)) 176 IF_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 177 //IF_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) 178 //IF_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP, e2label)) 179 IF_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_DROP, echo)) 180 IF_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_DROP)) 181 IF_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 182 IF_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_DROP, env)) 183 IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envdir)) 184 IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envuidgid)) 185 IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_DROP, ether_wake)) 186 IF_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 187 IF_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 188 IF_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 189 IF_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_DROP, false)) 190 IF_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 191 IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_DROP)) 192 IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_DROP, fdflush)) 193 IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 194 IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) 195 IF_FGCONSOLE(APPLET(fgconsole, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 196 IF_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) 197 IF_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 198 IF_FLASH_LOCK(APPLET_ODDNAME(flash_lock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_lock)) 199 IF_FLASH_UNLOCK(APPLET_ODDNAME(flash_unlock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_unlock)) 200 IF_FLASHCP(APPLET(flashcp, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 201 IF_FLOCK(APPLET(flock, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 202 IF_FOLD(APPLET_NOEXEC(fold, fold, _BB_DIR_USR_BIN, _BB_SUID_DROP, fold)) 203 IF_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 204 IF_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) 205 IF_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) 206 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext2)) 207 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext3)) 208 IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_minix)) 209 IF_FSYNC(APPLET_NOFORK(fsync, fsync, _BB_DIR_BIN, _BB_SUID_DROP, fsync)) 210 IF_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 211 IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpget)) 212 IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpput)) 213 IF_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 214 IF_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 215 IF_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_DROP)) 216 IF_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 217 IF_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_DROP)) 218 IF_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_DROP)) 219 IF_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_DROP)) 220 IF_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hd)) 221 IF_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_DROP)) 222 IF_HEAD(APPLET_NOEXEC(head, head, _BB_DIR_USR_BIN, _BB_SUID_DROP, head)) 223 IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hexdump)) 224 IF_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_DROP, hostid)) 225 IF_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_DROP)) 226 IF_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 227 IF_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_DROP)) 228 IF_ID(APPLET_NOEXEC(id, id, _BB_DIR_USR_BIN, _BB_SUID_DROP, id)) 229 IF_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) 230 IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifdown)) 231 IF_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_DROP)) 232 IF_IFPLUGD(APPLET(ifplugd, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 233 IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifup)) 234 IF_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 235 IF_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_DROP)) 236 IF_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 237 IF_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_DROP)) 101 IF_DEPMOD(APPLET(depmod, BB_DIR_SBIN, BB_SUID_DROP)) 102 IF_INSMOD(APPLET(insmod, BB_DIR_SBIN, BB_SUID_DROP)) 103 IF_LSMOD(APPLET(lsmod, BB_DIR_SBIN, BB_SUID_DROP)) 104 IF_MODINFO(APPLET(modinfo, BB_DIR_SBIN, BB_SUID_DROP)) 105 IF_MODPROBE(APPLET(modprobe, BB_DIR_SBIN, BB_SUID_DROP)) 106 IF_MODPROBE_SMALL(APPLET(modprobe, BB_DIR_SBIN, BB_SUID_DROP)) 107 IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, BB_DIR_SBIN, BB_SUID_DROP, modprobe)) 108 IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, BB_DIR_SBIN, BB_SUID_DROP, modprobe)) 109 IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, BB_DIR_SBIN, BB_SUID_DROP, modprobe)) 110 IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, BB_DIR_SBIN, BB_SUID_DROP, modprobe)) 111 IF_RMMOD(APPLET(rmmod, BB_DIR_SBIN, BB_SUID_DROP)) 112 IF_NBDCLIENT(APPLET_ODDNAME(nbd-client, nbdclient, BB_DIR_USR_SBIN, BB_SUID_DROP, nbdclient)) 113 IF_PING(APPLET(ping, BB_DIR_BIN, BB_SUID_MAYBE)) 114 IF_PING6(APPLET(ping6, BB_DIR_BIN, BB_SUID_MAYBE)) 115 IF_IOSTAT(APPLET(iostat, BB_DIR_BIN, BB_SUID_DROP)) 116 IF_MPSTAT(APPLET(mpstat, BB_DIR_BIN, BB_SUID_DROP)) 117 IF_NMETER(APPLET(nmeter, BB_DIR_USR_BIN, BB_SUID_DROP)) 118 IF_PMAP(APPLET(pmap, BB_DIR_USR_BIN, BB_SUID_DROP)) 119 IF_POWERTOP(APPLET(powertop, BB_DIR_USR_SBIN, BB_SUID_DROP)) 120 IF_SMEMCAP(APPLET(smemcap, BB_DIR_USR_BIN, BB_SUID_DROP)) 121 IF_ASH(APPLET(ash, BB_DIR_BIN, BB_SUID_DROP)) 122 IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, BB_DIR_BIN, BB_SUID_DROP, sh)) 123 IF_FEATURE_BASH_IS_ASH(APPLET_ODDNAME(bash, ash, BB_DIR_BIN, BB_SUID_DROP, bash)) 124 IF_CTTYHACK(APPLET(cttyhack, BB_DIR_BIN, BB_SUID_DROP)) 125 IF_HUSH(APPLET(hush, BB_DIR_BIN, BB_SUID_DROP)) 126 IF_MSH(APPLET(msh, BB_DIR_BIN, BB_SUID_DROP)) 127 IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, BB_DIR_BIN, BB_SUID_DROP, sh)) 128 IF_FEATURE_BASH_IS_HUSH(APPLET_ODDNAME(bash, hush, BB_DIR_BIN, BB_SUID_DROP, bash)) 129 IF_BLOCKDEV(APPLET(blockdev, BB_DIR_SBIN, BB_SUID_DROP)) 130 IF_MDEV(APPLET(mdev, BB_DIR_SBIN, BB_SUID_DROP)) 131 IF_REV(APPLET(rev, BB_DIR_BIN, BB_SUID_DROP)) 132 IF_TEST(APPLET_NOFORK([, test, BB_DIR_USR_BIN, BB_SUID_DROP, test)) 133 IF_TEST(APPLET_NOFORK([[, test, BB_DIR_USR_BIN, BB_SUID_DROP, test)) 134 IF_ACPID(APPLET(acpid, BB_DIR_SBIN, BB_SUID_DROP)) 135 IF_ADDGROUP(APPLET(addgroup, BB_DIR_USR_SBIN, BB_SUID_DROP)) 136 IF_ADDUSER(APPLET(adduser, BB_DIR_USR_SBIN, BB_SUID_DROP)) 137 IF_ADJTIMEX(APPLET(adjtimex, BB_DIR_SBIN, BB_SUID_DROP)) 138 IF_AR(APPLET(ar, BB_DIR_USR_BIN, BB_SUID_DROP)) 139 IF_ARP(APPLET(arp, BB_DIR_SBIN, BB_SUID_DROP)) 140 IF_ARPING(APPLET(arping, BB_DIR_USR_SBIN, BB_SUID_DROP)) 141 IF_AWK(APPLET_NOEXEC(awk, awk, BB_DIR_USR_BIN, BB_SUID_DROP, awk)) 142 IF_BASENAME(APPLET_NOFORK(basename, basename, BB_DIR_USR_BIN, BB_SUID_DROP, basename)) 143 IF_BBCONFIG(APPLET(bbconfig, BB_DIR_BIN, BB_SUID_DROP)) 144 IF_BEEP(APPLET(beep, BB_DIR_USR_BIN, BB_SUID_DROP)) 145 IF_BLKID(APPLET(blkid, BB_DIR_SBIN, BB_SUID_DROP)) 146 IF_BRCTL(APPLET(brctl, BB_DIR_USR_SBIN, BB_SUID_DROP)) 147 IF_BZIP2(APPLET(bzip2, BB_DIR_USR_BIN, BB_SUID_DROP)) 148 IF_CAL(APPLET(cal, BB_DIR_USR_BIN, BB_SUID_DROP)) 149 IF_CAT(APPLET_NOFORK(cat, cat, BB_DIR_BIN, BB_SUID_DROP, cat)) 150 IF_CATV(APPLET(catv, BB_DIR_BIN, BB_SUID_DROP)) 151 IF_CHAT(APPLET(chat, BB_DIR_USR_SBIN, BB_SUID_DROP)) 152 IF_CHATTR(APPLET(chattr, BB_DIR_BIN, BB_SUID_DROP)) 153 IF_CHCON(APPLET(chcon, BB_DIR_USR_BIN, BB_SUID_DROP)) 154 IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, BB_DIR_BIN, BB_SUID_DROP, chgrp)) 155 IF_CHMOD(APPLET_NOEXEC(chmod, chmod, BB_DIR_BIN, BB_SUID_DROP, chmod)) 156 IF_CHOWN(APPLET_NOEXEC(chown, chown, BB_DIR_BIN, BB_SUID_DROP, chown)) 157 IF_CHPASSWD(APPLET(chpasswd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 158 IF_CHPST(APPLET(chpst, BB_DIR_USR_BIN, BB_SUID_DROP)) 159 IF_CHROOT(APPLET(chroot, BB_DIR_USR_SBIN, BB_SUID_DROP)) 160 IF_CHRT(APPLET(chrt, BB_DIR_USR_BIN, BB_SUID_DROP)) 161 IF_CHVT(APPLET(chvt, BB_DIR_USR_BIN, BB_SUID_DROP)) 162 IF_CKSUM(APPLET_NOEXEC(cksum, cksum, BB_DIR_USR_BIN, BB_SUID_DROP, cksum)) 163 IF_CLEAR(APPLET(clear, BB_DIR_USR_BIN, BB_SUID_DROP)) 164 IF_CMP(APPLET(cmp, BB_DIR_USR_BIN, BB_SUID_DROP)) 165 IF_COMM(APPLET(comm, BB_DIR_USR_BIN, BB_SUID_DROP)) 166 IF_CP(APPLET_NOEXEC(cp, cp, BB_DIR_BIN, BB_SUID_DROP, cp)) 167 IF_CPIO(APPLET(cpio, BB_DIR_BIN, BB_SUID_DROP)) 168 IF_CROND(APPLET(crond, BB_DIR_USR_SBIN, BB_SUID_DROP)) 169 /* Needs to be run by root or be suid root - needs to change /var/spool/cron* files: */ 170 IF_CRONTAB(APPLET(crontab, BB_DIR_USR_BIN, BB_SUID_REQUIRE)) 171 IF_CRYPTPW(APPLET(cryptpw, BB_DIR_USR_BIN, BB_SUID_DROP)) 172 IF_CUT(APPLET_NOEXEC(cut, cut, BB_DIR_USR_BIN, BB_SUID_DROP, cut)) 173 IF_DC(APPLET(dc, BB_DIR_USR_BIN, BB_SUID_DROP)) 174 IF_DD(APPLET_NOEXEC(dd, dd, BB_DIR_BIN, BB_SUID_DROP, dd)) 175 IF_DEALLOCVT(APPLET(deallocvt, BB_DIR_USR_BIN, BB_SUID_DROP)) 176 IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, BB_DIR_USR_SBIN, BB_SUID_DROP, delgroup)) 177 IF_DELUSER(APPLET(deluser, BB_DIR_USR_SBIN, BB_SUID_DROP)) 178 IF_DEVFSD(APPLET(devfsd, BB_DIR_SBIN, BB_SUID_DROP)) 179 IF_DEVMEM(APPLET(devmem, BB_DIR_SBIN, BB_SUID_DROP)) 180 IF_DF(APPLET(df, BB_DIR_BIN, BB_SUID_DROP)) 181 IF_DHCPRELAY(APPLET(dhcprelay, BB_DIR_USR_SBIN, BB_SUID_DROP)) 182 IF_DIFF(APPLET(diff, BB_DIR_USR_BIN, BB_SUID_DROP)) 183 IF_DIRNAME(APPLET_NOFORK(dirname, dirname, BB_DIR_USR_BIN, BB_SUID_DROP, dirname)) 184 IF_DMESG(APPLET(dmesg, BB_DIR_BIN, BB_SUID_DROP)) 185 IF_DNSD(APPLET(dnsd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 186 IF_HOSTNAME(APPLET_ODDNAME(dnsdomainname, hostname, BB_DIR_BIN, BB_SUID_DROP, dnsdomainname)) 187 IF_DOS2UNIX(APPLET_NOEXEC(dos2unix, dos2unix, BB_DIR_USR_BIN, BB_SUID_DROP, dos2unix)) 188 IF_DPKG(APPLET(dpkg, BB_DIR_USR_BIN, BB_SUID_DROP)) 189 IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, BB_DIR_USR_BIN, BB_SUID_DROP, dpkg_deb)) 190 IF_DU(APPLET(du, BB_DIR_USR_BIN, BB_SUID_DROP)) 191 IF_DUMPKMAP(APPLET(dumpkmap, BB_DIR_BIN, BB_SUID_DROP)) 192 IF_DUMPLEASES(APPLET(dumpleases, BB_DIR_USR_BIN, BB_SUID_DROP)) 193 //IF_E2FSCK(APPLET(e2fsck, BB_DIR_SBIN, BB_SUID_DROP)) 194 //IF_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, BB_DIR_SBIN, BB_SUID_DROP, e2label)) 195 IF_ECHO(APPLET_NOFORK(echo, echo, BB_DIR_BIN, BB_SUID_DROP, echo)) 196 IF_ED(APPLET(ed, BB_DIR_BIN, BB_SUID_DROP)) 197 IF_EJECT(APPLET(eject, BB_DIR_USR_BIN, BB_SUID_DROP)) 198 IF_ENV(APPLET_NOEXEC(env, env, BB_DIR_USR_BIN, BB_SUID_DROP, env)) 199 IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envdir)) 200 IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envuidgid)) 201 IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, BB_DIR_USR_SBIN, BB_SUID_DROP, ether_wake)) 202 IF_EXPAND(APPLET(expand, BB_DIR_USR_BIN, BB_SUID_DROP)) 203 IF_EXPR(APPLET(expr, BB_DIR_USR_BIN, BB_SUID_DROP)) 204 IF_FAKEIDENTD(APPLET(fakeidentd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 205 IF_FALSE(APPLET_NOFORK(false, false, BB_DIR_BIN, BB_SUID_DROP, false)) 206 IF_FBSET(APPLET(fbset, BB_DIR_USR_SBIN, BB_SUID_DROP)) 207 IF_FBSPLASH(APPLET(fbsplash, BB_DIR_SBIN, BB_SUID_DROP)) 208 IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush)) 209 IF_FDFORMAT(APPLET(fdformat, BB_DIR_USR_SBIN, BB_SUID_DROP)) 210 IF_FDISK(APPLET(fdisk, BB_DIR_SBIN, BB_SUID_DROP)) 211 IF_FGCONSOLE(APPLET(fgconsole, BB_DIR_USR_BIN, BB_SUID_DROP)) 212 /* Benefits from suid root: better access to /dev/BLOCKDEVs: */ 213 IF_FINDFS(APPLET(findfs, BB_DIR_SBIN, BB_SUID_MAYBE)) 214 IF_FLASH_ERASEALL(APPLET(flash_eraseall, BB_DIR_USR_SBIN, BB_SUID_DROP)) 215 IF_FLASH_LOCK(APPLET_ODDNAME(flash_lock, flash_lock_unlock, BB_DIR_USR_SBIN, BB_SUID_DROP, flash_lock)) 216 IF_FLASH_UNLOCK(APPLET_ODDNAME(flash_unlock, flash_lock_unlock, BB_DIR_USR_SBIN, BB_SUID_DROP, flash_unlock)) 217 IF_FLASHCP(APPLET(flashcp, BB_DIR_USR_SBIN, BB_SUID_DROP)) 218 IF_FLOCK(APPLET(flock, BB_DIR_USR_BIN, BB_SUID_DROP)) 219 IF_FOLD(APPLET_NOEXEC(fold, fold, BB_DIR_USR_BIN, BB_SUID_DROP, fold)) 220 IF_FREE(APPLET(free, BB_DIR_USR_BIN, BB_SUID_DROP)) 221 IF_FREERAMDISK(APPLET(freeramdisk, BB_DIR_SBIN, BB_SUID_DROP)) 222 IF_FSCK(APPLET(fsck, BB_DIR_SBIN, BB_SUID_DROP)) 223 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext2)) 224 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext3)) 225 IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, BB_SUID_DROP, fsck_minix)) 226 IF_FSYNC(APPLET_NOFORK(fsync, fsync, BB_DIR_BIN, BB_SUID_DROP, fsync)) 227 IF_FTPD(APPLET(ftpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 228 IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, BB_DIR_USR_BIN, BB_SUID_DROP, ftpget)) 229 IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, BB_DIR_USR_BIN, BB_SUID_DROP, ftpput)) 230 IF_FUSER(APPLET(fuser, BB_DIR_USR_BIN, BB_SUID_DROP)) 231 IF_GETENFORCE(APPLET(getenforce, BB_DIR_USR_SBIN, BB_SUID_DROP)) 232 IF_GETOPT(APPLET(getopt, BB_DIR_BIN, BB_SUID_DROP)) 233 IF_GETSEBOOL(APPLET(getsebool, BB_DIR_USR_SBIN, BB_SUID_DROP)) 234 IF_GETTY(APPLET(getty, BB_DIR_SBIN, BB_SUID_DROP)) 235 IF_GUNZIP(APPLET(gunzip, BB_DIR_BIN, BB_SUID_DROP)) 236 IF_GZIP(APPLET(gzip, BB_DIR_BIN, BB_SUID_DROP)) 237 IF_HD(APPLET_NOEXEC(hd, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hd)) 238 IF_HDPARM(APPLET(hdparm, BB_DIR_SBIN, BB_SUID_DROP)) 239 IF_HEAD(APPLET_NOEXEC(head, head, BB_DIR_USR_BIN, BB_SUID_DROP, head)) 240 IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hexdump)) 241 IF_HOSTNAME(APPLET(hostname, BB_DIR_BIN, BB_SUID_DROP)) 242 IF_HTTPD(APPLET(httpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 243 IF_HWCLOCK(APPLET(hwclock, BB_DIR_SBIN, BB_SUID_DROP)) 244 IF_IFCONFIG(APPLET(ifconfig, BB_DIR_SBIN, BB_SUID_DROP)) 245 IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, BB_DIR_SBIN, BB_SUID_DROP, ifdown)) 246 IF_IFENSLAVE(APPLET(ifenslave, BB_DIR_SBIN, BB_SUID_DROP)) 247 IF_IFPLUGD(APPLET(ifplugd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 248 IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, BB_DIR_SBIN, BB_SUID_DROP, ifup)) 249 IF_INETD(APPLET(inetd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 250 IF_INOTIFYD(APPLET(inotifyd, BB_DIR_SBIN, BB_SUID_DROP)) 251 IF_INSTALL(APPLET(install, BB_DIR_USR_BIN, BB_SUID_DROP)) 252 IF_IONICE(APPLET(ionice, BB_DIR_BIN, BB_SUID_DROP)) 238 253 #if ENABLE_FEATURE_IP_ADDRESS \ 239 254 || ENABLE_FEATURE_IP_ROUTE \ … … 241 256 || ENABLE_FEATURE_IP_TUNNEL \ 242 257 || ENABLE_FEATURE_IP_RULE 243 IF_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_DROP))258 IF_IP(APPLET(ip, BB_DIR_SBIN, BB_SUID_DROP)) 244 259 #endif 245 IF_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_DROP)) 246 IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_DROP)) 247 IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 248 IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 249 IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_DROP)) 250 IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_DROP)) 251 IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP)) 252 IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_DROP)) 253 IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 254 IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_DROP)) 255 IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall)) 256 IF_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall5)) 257 IF_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_DROP)) 258 IF_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 259 IF_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_DROP, length)) 260 IF_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 261 IF_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux32)) 262 IF_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux64)) 263 IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_DROP, ln)) 264 IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 265 IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 266 IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP)) 267 IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 268 IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE)) 269 IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname)) 270 IF_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_DROP)) 271 IF_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_DROP)) 272 IF_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 273 IF_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpq)) 274 IF_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpr)) 275 IF_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_DROP, ls)) 276 IF_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_DROP)) 277 IF_LSPCI(APPLET(lspci, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 278 IF_LSUSB(APPLET(lsusb, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 279 IF_UNLZMA(APPLET_ODDNAME(lzcat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzcat)) 280 IF_LZMA(APPLET_ODDNAME(lzma, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzma)) 281 IF_LZOP(APPLET(lzop, _BB_DIR_BIN, _BB_SUID_DROP)) 282 IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzopcat)) 283 IF_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_DROP)) 284 IF_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_DROP)) 285 IF_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_DROP)) 286 IF_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 287 IF_MD5SUM(APPLET_NOEXEC(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, md5sum)) 288 IF_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_DROP)) 289 IF_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 290 IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_DROP, mkdir)) 291 IF_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) 292 IF_MKFS_EXT2(APPLET_ODDNAME(mke2fs, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) 293 IF_MKFIFO(APPLET_NOEXEC(mkfifo, mkfifo, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkfifo)) 294 IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) 295 //IF_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext3)) 296 IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_minix)) 297 IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_reiser)) 298 IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) 299 IF_MKNOD(APPLET_NOEXEC(mknod, mknod, _BB_DIR_BIN, _BB_SUID_DROP, mknod)) 300 IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkpasswd)) 301 IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_DROP)) 302 IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_DROP)) 303 IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_DROP)) 304 IF_MOUNT(APPLET(mount, _BB_DIR_BIN, IF_DESKTOP(_BB_SUID_MAYBE) IF_NOT_DESKTOP(_BB_SUID_DROP))) 305 IF_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_DROP)) 306 IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_DROP)) 307 IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP)) 308 IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP)) 309 IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 310 IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP)) 311 IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP)) 312 IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 313 IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 314 IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 315 IF_NTPD(APPLET(ntpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 316 IF_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 317 IF_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 318 //IF_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 319 IF_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 320 IF_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 321 IF_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_DROP)) 322 IF_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) 323 IF_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_MAYBE)) 324 IF_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_DROP)) 325 IF_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_DROP)) 326 IF_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP, pkill)) 327 IF_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 328 IF_PRINTENV(APPLET_NOFORK(printenv, printenv, _BB_DIR_BIN, _BB_SUID_DROP, printenv)) 329 IF_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_DROP, printf)) 330 IF_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_DROP)) 331 IF_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 332 IF_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_DROP, pwd)) 333 IF_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_DROP)) 334 IF_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 335 IF_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 336 IF_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 337 IF_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 338 IF_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 339 IF_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 340 IF_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_DROP)) 341 IF_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 342 IF_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 343 IF_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 344 IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_DROP, restorecon)) 345 IF_RFKILL(APPLET(rfkill, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 346 IF_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_DROP, rm)) 347 IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_DROP, rmdir)) 348 IF_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_DROP)) 349 IF_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_DROP)) 350 IF_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 351 IF_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 352 IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_DROP, run_parts)) 353 IF_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 354 IF_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_DROP)) 355 IF_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 356 IF_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 357 IF_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 358 IF_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 359 IF_SCRIPTREPLAY(APPLET(scriptreplay, _BB_DIR_BIN, _BB_SUID_DROP)) 360 IF_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_DROP)) 361 IF_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 362 IF_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 363 IF_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_DROP, seq)) 364 IF_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 365 IF_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_DROP)) 366 IF_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_DROP)) 367 IF_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 368 IF_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_DROP)) 369 IF_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 370 IF_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 371 IF_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 372 IF_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 373 IF_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 374 IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, setuidgid)) 375 IF_SHA1SUM(APPLET_NOEXEC(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha1sum)) 376 IF_SHA256SUM(APPLET_NOEXEC(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha256sum)) 377 IF_SHA512SUM(APPLET_NOEXEC(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha512sum)) 378 IF_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 379 IF_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_DROP)) 380 /* Do not make this applet NOFORK. It breaks ^C-ing of pauses in shells */ 381 IF_SLEEP(APPLET(sleep, _BB_DIR_BIN, _BB_SUID_DROP)) 382 IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, softlimit)) 383 IF_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_DROP, sort)) 384 IF_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 385 IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_DROP, start_stop_daemon)) 386 IF_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_DROP)) 387 IF_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 388 IF_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_DROP)) 389 IF_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_REQUIRE)) 390 IF_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_DROP)) 391 IF_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 392 IF_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 393 IF_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 394 IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP, swapoff)) 395 IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP, swapon)) 396 IF_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_DROP)) 397 IF_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_DROP, sync)) 398 IF_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_DROP)) 399 IF_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_DROP)) 400 IF_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_DROP, tac)) 401 IF_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 402 IF_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_DROP)) 403 IF_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 404 /* IF_TC(APPLET(tc, _BB_DIR_SBIN, _BB_SUID_DROP)) */ 405 IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, tcpsvd)) 406 IF_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 407 IF_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 408 IF_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 409 IF_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) 260 IF_IPADDR(APPLET(ipaddr, BB_DIR_SBIN, BB_SUID_DROP)) 261 IF_IPCALC(APPLET(ipcalc, BB_DIR_BIN, BB_SUID_DROP)) 262 IF_IPCRM(APPLET(ipcrm, BB_DIR_USR_BIN, BB_SUID_DROP)) 263 IF_IPCS(APPLET(ipcs, BB_DIR_USR_BIN, BB_SUID_DROP)) 264 IF_IPLINK(APPLET(iplink, BB_DIR_SBIN, BB_SUID_DROP)) 265 IF_IPROUTE(APPLET(iproute, BB_DIR_SBIN, BB_SUID_DROP)) 266 IF_IPRULE(APPLET(iprule, BB_DIR_SBIN, BB_SUID_DROP)) 267 IF_IPTUNNEL(APPLET(iptunnel, BB_DIR_SBIN, BB_SUID_DROP)) 268 IF_KBD_MODE(APPLET(kbd_mode, BB_DIR_BIN, BB_SUID_DROP)) 269 IF_KILL(APPLET(kill, BB_DIR_BIN, BB_SUID_DROP)) 270 IF_KILLALL(APPLET_ODDNAME(killall, kill, BB_DIR_USR_BIN, BB_SUID_DROP, killall)) 271 IF_KILLALL5(APPLET_ODDNAME(killall5, kill, BB_DIR_USR_SBIN, BB_SUID_DROP, killall5)) 272 IF_KLOGD(APPLET(klogd, BB_DIR_SBIN, BB_SUID_DROP)) 273 IF_LAST(APPLET(last, BB_DIR_USR_BIN, BB_SUID_DROP)) 274 //IF_LENGTH(APPLET_NOFORK(length, length, BB_DIR_USR_BIN, BB_SUID_DROP, length)) 275 IF_LESS(APPLET(less, BB_DIR_USR_BIN, BB_SUID_DROP)) 276 IF_SETARCH(APPLET_ODDNAME(linux32, setarch, BB_DIR_BIN, BB_SUID_DROP, linux32)) 277 IF_SETARCH(APPLET_ODDNAME(linux64, setarch, BB_DIR_BIN, BB_SUID_DROP, linux64)) 278 IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN, BB_SUID_DROP, ln)) 279 IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP)) 280 IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP)) 281 IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP)) 282 IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP)) 283 /* Needs to be run by root or be suid root - needs to change uid and gid: */ 284 IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE)) 285 IF_LOGNAME(APPLET_NOFORK(logname, logname, BB_DIR_USR_BIN, BB_SUID_DROP, logname)) 286 IF_LOGREAD(APPLET(logread, BB_DIR_SBIN, BB_SUID_DROP)) 287 IF_LOSETUP(APPLET(losetup, BB_DIR_SBIN, BB_SUID_DROP)) 288 IF_LPD(APPLET(lpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 289 IF_LPQ(APPLET_ODDNAME(lpq, lpqr, BB_DIR_USR_BIN, BB_SUID_DROP, lpq)) 290 IF_LPR(APPLET_ODDNAME(lpr, lpqr, BB_DIR_USR_BIN, BB_SUID_DROP, lpr)) 291 IF_LS(APPLET_NOEXEC(ls, ls, BB_DIR_BIN, BB_SUID_DROP, ls)) 292 IF_LSATTR(APPLET(lsattr, BB_DIR_BIN, BB_SUID_DROP)) 293 IF_LSPCI(APPLET(lspci, BB_DIR_USR_BIN, BB_SUID_DROP)) 294 IF_LSUSB(APPLET(lsusb, BB_DIR_USR_BIN, BB_SUID_DROP)) 295 IF_UNLZMA(APPLET_ODDNAME(lzcat, unlzma, BB_DIR_USR_BIN, BB_SUID_DROP, lzcat)) 296 IF_LZMA(APPLET_ODDNAME(lzma, unlzma, BB_DIR_USR_BIN, BB_SUID_DROP, lzma)) 297 IF_LZOP(APPLET(lzop, BB_DIR_BIN, BB_SUID_DROP)) 298 IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, lzopcat)) 299 IF_MAKEDEVS(APPLET(makedevs, BB_DIR_SBIN, BB_SUID_DROP)) 300 IF_MAKEMIME(APPLET(makemime, BB_DIR_BIN, BB_SUID_DROP)) 301 IF_MAN(APPLET(man, BB_DIR_SBIN, BB_SUID_DROP)) 302 IF_MATCHPATHCON(APPLET(matchpathcon, BB_DIR_USR_SBIN, BB_SUID_DROP)) 303 IF_MD5SUM(APPLET_NOEXEC(md5sum, md5_sha1_sum, BB_DIR_USR_BIN, BB_SUID_DROP, md5sum)) 304 IF_MICROCOM(APPLET(microcom, BB_DIR_USR_BIN, BB_SUID_DROP)) 305 IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, BB_DIR_BIN, BB_SUID_DROP, mkdir)) 306 IF_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat)) 307 IF_MKFS_EXT2(APPLET_ODDNAME(mke2fs, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2)) 308 IF_MKFIFO(APPLET_NOEXEC(mkfifo, mkfifo, BB_DIR_USR_BIN, BB_SUID_DROP, mkfifo)) 309 IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2)) 310 //IF_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext3)) 311 IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, BB_DIR_SBIN, BB_SUID_DROP, mkfs_minix)) 312 IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, BB_DIR_SBIN, BB_SUID_DROP, mkfs_reiser)) 313 IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat)) 314 IF_MKNOD(APPLET_NOEXEC(mknod, mknod, BB_DIR_BIN, BB_SUID_DROP, mknod)) 315 IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, BB_DIR_USR_BIN, BB_SUID_DROP, mkpasswd)) 316 IF_MKSWAP(APPLET(mkswap, BB_DIR_SBIN, BB_SUID_DROP)) 317 IF_MKTEMP(APPLET(mktemp, BB_DIR_BIN, BB_SUID_DROP)) 318 IF_MORE(APPLET(more, BB_DIR_BIN, BB_SUID_DROP)) 319 /* On full-blown systems, requires suid for user mounts. 320 * But it's not unthinkable to have it available in non-suid flavor on some systems, 321 * for viewing mount table. 322 * Therefore we use BB_SUID_MAYBE instead of BB_SUID_REQUIRE: */ 323 IF_MOUNT(APPLET(mount, BB_DIR_BIN, IF_DESKTOP(BB_SUID_MAYBE) IF_NOT_DESKTOP(BB_SUID_DROP))) 324 IF_MOUNTPOINT(APPLET(mountpoint, BB_DIR_BIN, BB_SUID_DROP)) 325 IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DROP)) 326 IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP)) 327 IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP)) 328 IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP)) 329 IF_NETSTAT(APPLET(netstat, BB_DIR_BIN, BB_SUID_DROP)) 330 IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP)) 331 IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP)) 332 IF_NSLOOKUP(APPLET(nslookup, BB_DIR_USR_BIN, BB_SUID_DROP)) 333 IF_NTPD(APPLET(ntpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 334 IF_OD(APPLET(od, BB_DIR_USR_BIN, BB_SUID_DROP)) 335 IF_OPENVT(APPLET(openvt, BB_DIR_USR_BIN, BB_SUID_DROP)) 336 //IF_PARSE(APPLET(parse, BB_DIR_USR_BIN, BB_SUID_DROP)) 337 /* Needs to be run by root or be suid root - needs to change /etc/{passwd,shadow}: */ 338 IF_PASSWD(APPLET(passwd, BB_DIR_USR_BIN, BB_SUID_REQUIRE)) 339 IF_PGREP(APPLET(pgrep, BB_DIR_USR_BIN, BB_SUID_DROP)) 340 IF_PIDOF(APPLET(pidof, BB_DIR_BIN, BB_SUID_DROP)) 341 IF_PIPE_PROGRESS(APPLET(pipe_progress, BB_DIR_BIN, BB_SUID_DROP)) 342 IF_PIVOT_ROOT(APPLET(pivot_root, BB_DIR_SBIN, BB_SUID_DROP)) 343 IF_PKILL(APPLET_ODDNAME(pkill, pgrep, BB_DIR_USR_BIN, BB_SUID_DROP, pkill)) 344 IF_POPMAILDIR(APPLET(popmaildir, BB_DIR_USR_SBIN, BB_SUID_DROP)) 345 IF_PRINTENV(APPLET_NOFORK(printenv, printenv, BB_DIR_BIN, BB_SUID_DROP, printenv)) 346 IF_PRINTF(APPLET_NOFORK(printf, printf, BB_DIR_USR_BIN, BB_SUID_DROP, printf)) 347 IF_PS(APPLET(ps, BB_DIR_BIN, BB_SUID_DROP)) 348 IF_PSCAN(APPLET(pscan, BB_DIR_USR_BIN, BB_SUID_DROP)) 349 IF_PWD(APPLET_NOFORK(pwd, pwd, BB_DIR_BIN, BB_SUID_DROP, pwd)) 350 IF_RAIDAUTORUN(APPLET(raidautorun, BB_DIR_SBIN, BB_SUID_DROP)) 351 IF_RDATE(APPLET(rdate, BB_DIR_USR_SBIN, BB_SUID_DROP)) 352 IF_RDEV(APPLET(rdev, BB_DIR_USR_SBIN, BB_SUID_DROP)) 353 IF_READAHEAD(APPLET(readahead, BB_DIR_USR_SBIN, BB_SUID_DROP)) 354 IF_READLINK(APPLET(readlink, BB_DIR_USR_BIN, BB_SUID_DROP)) 355 IF_READPROFILE(APPLET(readprofile, BB_DIR_USR_SBIN, BB_SUID_DROP)) 356 IF_REALPATH(APPLET(realpath, BB_DIR_USR_BIN, BB_SUID_DROP)) 357 IF_REFORMIME(APPLET(reformime, BB_DIR_BIN, BB_SUID_DROP)) 358 IF_RENICE(APPLET(renice, BB_DIR_USR_BIN, BB_SUID_DROP)) 359 IF_RESET(APPLET(reset, BB_DIR_USR_BIN, BB_SUID_DROP)) 360 IF_RESIZE(APPLET(resize, BB_DIR_USR_BIN, BB_SUID_DROP)) 361 IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, BB_DIR_SBIN, BB_SUID_DROP, restorecon)) 362 IF_RFKILL(APPLET(rfkill, BB_DIR_USR_SBIN, BB_SUID_DROP)) 363 IF_RM(APPLET_NOFORK(rm, rm, BB_DIR_BIN, BB_SUID_DROP, rm)) 364 IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, BB_DIR_BIN, BB_SUID_DROP, rmdir)) 365 IF_ROUTE(APPLET(route, BB_DIR_SBIN, BB_SUID_DROP)) 366 IF_RPM(APPLET(rpm, BB_DIR_BIN, BB_SUID_DROP)) 367 IF_RPM2CPIO(APPLET(rpm2cpio, BB_DIR_USR_BIN, BB_SUID_DROP)) 368 IF_RTCWAKE(APPLET(rtcwake, BB_DIR_USR_SBIN, BB_SUID_DROP)) 369 IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, BB_DIR_BIN, BB_SUID_DROP, run_parts)) 370 IF_RUNCON(APPLET(runcon, BB_DIR_USR_BIN, BB_SUID_DROP)) 371 IF_RUNLEVEL(APPLET(runlevel, BB_DIR_SBIN, BB_SUID_DROP)) 372 IF_RUNSV(APPLET(runsv, BB_DIR_USR_BIN, BB_SUID_DROP)) 373 IF_RUNSVDIR(APPLET(runsvdir, BB_DIR_USR_BIN, BB_SUID_DROP)) 374 IF_RX(APPLET(rx, BB_DIR_USR_BIN, BB_SUID_DROP)) 375 IF_SCRIPT(APPLET(script, BB_DIR_USR_BIN, BB_SUID_DROP)) 376 IF_SCRIPTREPLAY(APPLET(scriptreplay, BB_DIR_BIN, BB_SUID_DROP)) 377 IF_SED(APPLET(sed, BB_DIR_BIN, BB_SUID_DROP)) 378 IF_SELINUXENABLED(APPLET(selinuxenabled, BB_DIR_USR_SBIN, BB_SUID_DROP)) 379 IF_SENDMAIL(APPLET(sendmail, BB_DIR_USR_SBIN, BB_SUID_DROP)) 380 IF_SEQ(APPLET_NOFORK(seq, seq, BB_DIR_USR_BIN, BB_SUID_DROP, seq)) 381 IF_SESTATUS(APPLET(sestatus, BB_DIR_USR_SBIN, BB_SUID_DROP)) 382 IF_SETARCH(APPLET(setarch, BB_DIR_BIN, BB_SUID_DROP)) 383 IF_SETCONSOLE(APPLET(setconsole, BB_DIR_SBIN, BB_SUID_DROP)) 384 IF_SETENFORCE(APPLET(setenforce, BB_DIR_USR_SBIN, BB_SUID_DROP)) 385 IF_SETFILES(APPLET(setfiles, BB_DIR_SBIN, BB_SUID_DROP)) 386 IF_SETFONT(APPLET(setfont, BB_DIR_USR_SBIN, BB_SUID_DROP)) 387 IF_SETKEYCODES(APPLET(setkeycodes, BB_DIR_USR_BIN, BB_SUID_DROP)) 388 IF_SETLOGCONS(APPLET(setlogcons, BB_DIR_USR_SBIN, BB_SUID_DROP)) 389 IF_SETSEBOOL(APPLET(setsebool, BB_DIR_USR_SBIN, BB_SUID_DROP)) 390 IF_SETSID(APPLET(setsid, BB_DIR_USR_BIN, BB_SUID_DROP)) 391 IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, setuidgid)) 392 IF_SHA1SUM(APPLET_NOEXEC(sha1sum, md5_sha1_sum, BB_DIR_USR_BIN, BB_SUID_DROP, sha1sum)) 393 IF_SHA3SUM(APPLET_NOEXEC(sha3sum, md5_sha1_sum, BB_DIR_USR_BIN, BB_SUID_DROP, sha3sum)) 394 IF_SHA256SUM(APPLET_NOEXEC(sha256sum, md5_sha1_sum, BB_DIR_USR_BIN, BB_SUID_DROP, sha256sum)) 395 IF_SHA512SUM(APPLET_NOEXEC(sha512sum, md5_sha1_sum, BB_DIR_USR_BIN, BB_SUID_DROP, sha512sum)) 396 IF_SHOWKEY(APPLET(showkey, BB_DIR_USR_BIN, BB_SUID_DROP)) 397 IF_SLATTACH(APPLET(slattach, BB_DIR_SBIN, BB_SUID_DROP)) 398 /* Do not make this applet NOFORK. It breaks ^C-ing of pauses in shells: */ 399 IF_SLEEP(APPLET(sleep, BB_DIR_BIN, BB_SUID_DROP)) 400 IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, softlimit)) 401 IF_SORT(APPLET_NOEXEC(sort, sort, BB_DIR_USR_BIN, BB_SUID_DROP, sort)) 402 IF_SPLIT(APPLET(split, BB_DIR_USR_BIN, BB_SUID_DROP)) 403 IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, BB_DIR_SBIN, BB_SUID_DROP, start_stop_daemon)) 404 IF_STAT(APPLET(stat, BB_DIR_BIN, BB_SUID_DROP)) 405 IF_STRINGS(APPLET(strings, BB_DIR_USR_BIN, BB_SUID_DROP)) 406 IF_STTY(APPLET(stty, BB_DIR_BIN, BB_SUID_DROP)) 407 /* Needs to be run by root or be suid root - needs to change uid and gid: */ 408 IF_SU(APPLET(su, BB_DIR_BIN, BB_SUID_REQUIRE)) 409 IF_SULOGIN(APPLET(sulogin, BB_DIR_SBIN, BB_SUID_DROP)) 410 IF_SUM(APPLET(sum, BB_DIR_USR_BIN, BB_SUID_DROP)) 411 IF_SV(APPLET(sv, BB_DIR_USR_BIN, BB_SUID_DROP)) 412 IF_SVLOGD(APPLET(svlogd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 413 IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapoff)) 414 IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapon)) 415 IF_SWITCH_ROOT(APPLET(switch_root, BB_DIR_SBIN, BB_SUID_DROP)) 416 IF_SYNC(APPLET_NOFORK(sync, sync, BB_DIR_BIN, BB_SUID_DROP, sync)) 417 IF_BB_SYSCTL(APPLET(sysctl, BB_DIR_SBIN, BB_SUID_DROP)) 418 IF_SYSLOGD(APPLET(syslogd, BB_DIR_SBIN, BB_SUID_DROP)) 419 IF_TAC(APPLET_NOEXEC(tac, tac, BB_DIR_USR_BIN, BB_SUID_DROP, tac)) 420 IF_TAIL(APPLET(tail, BB_DIR_USR_BIN, BB_SUID_DROP)) 421 IF_TAR(APPLET(tar, BB_DIR_BIN, BB_SUID_DROP)) 422 IF_TASKSET(APPLET(taskset, BB_DIR_USR_BIN, BB_SUID_DROP)) 423 /* IF_TC(APPLET(tc, BB_DIR_SBIN, BB_SUID_DROP)) */ 424 IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, BB_DIR_USR_BIN, BB_SUID_DROP, tcpsvd)) 425 IF_TEE(APPLET(tee, BB_DIR_USR_BIN, BB_SUID_DROP)) 426 IF_TELNET(APPLET(telnet, BB_DIR_USR_BIN, BB_SUID_DROP)) 427 IF_TELNETD(APPLET(telnetd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 428 IF_TEST(APPLET_NOFORK(test, test, BB_DIR_USR_BIN, BB_SUID_DROP, test)) 410 429 #if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT 411 IF_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_DROP))412 IF_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_DROP))430 IF_TFTP(APPLET(tftp, BB_DIR_USR_BIN, BB_SUID_DROP)) 431 IF_TFTPD(APPLET(tftpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 413 432 #endif 414 IF_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_DROP))415 IF_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_DROP))416 IF_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_DROP))417 IF_T OUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_DROP, touch))418 IF_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 419 IF_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE))420 IF_TRACEROUTE6(APPLET(traceroute6, _BB_DIR_USR_BIN, _BB_SUID_MAYBE))421 IF_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_DROP, true))422 IF_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_DROP))423 IF_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_DROP))424 IF_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_DROP))425 IF_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP))426 IF_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_DROP))427 IF_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP))428 IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, udpsvd))429 IF_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_DROP))430 IF_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_DROP))431 IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_DROP))432 IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_DROP, unexpand))433 IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_DROP))434 IF_UNIX2DOS(APPLET_NOEXEC(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP, unix2dos))435 IF_UNXZ(APPLET(unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP))436 IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP))437 IF_LZOP(APPLET_ODDNAME(unlzop, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, unlzop))438 IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_DROP))439 IF_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_DROP))440 IF_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_DROP, usleep))441 IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_DROP))442 IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_DROP))443 IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_DROP))444 IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_DROP)) 445 IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))446 IF_VOLNAME(APPLET(volname, _BB_DIR_USR_BIN, _BB_SUID_DROP))447 IF_WALL(APPLET(wall, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 448 IF_WA TCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_DROP))449 IF_WATCH DOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_DROP))450 IF_W C(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_DROP))451 IF_W GET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_DROP))452 IF_W HICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_DROP))453 IF_WH O(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_DROP))454 IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_DROP, whoami))455 IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xzcat))456 IF_XZ(APPLET_ODDNAME(xz, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xz))457 IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_DROP, yes))458 IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_DROP, zcat))459 IF_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_DROP))433 IF_TIME(APPLET(time, BB_DIR_USR_BIN, BB_SUID_DROP)) 434 IF_TIMEOUT(APPLET(timeout, BB_DIR_USR_BIN, BB_SUID_DROP)) 435 IF_TOP(APPLET(top, BB_DIR_USR_BIN, BB_SUID_DROP)) 436 IF_TR(APPLET(tr, BB_DIR_USR_BIN, BB_SUID_DROP)) 437 /* Needs socket(AF_INET, SOCK_RAW, IPPROTO_ICMP), therefore BB_SUID_MAYBE: */ 438 IF_TRACEROUTE(APPLET(traceroute, BB_DIR_USR_BIN, BB_SUID_MAYBE)) 439 IF_TRACEROUTE6(APPLET(traceroute6, BB_DIR_USR_BIN, BB_SUID_MAYBE)) 440 IF_TRUE(APPLET_NOFORK(true, true, BB_DIR_BIN, BB_SUID_DROP, true)) 441 IF_TTY(APPLET(tty, BB_DIR_USR_BIN, BB_SUID_DROP)) 442 IF_TTYSIZE(APPLET(ttysize, BB_DIR_USR_BIN, BB_SUID_DROP)) 443 IF_TUNCTL(APPLET(tunctl, BB_DIR_SBIN, BB_SUID_DROP)) 444 IF_TUNE2FS(APPLET(tune2fs, BB_DIR_SBIN, BB_SUID_DROP)) 445 IF_UDHCPC(APPLET(udhcpc, BB_DIR_SBIN, BB_SUID_DROP)) 446 IF_UDHCPD(APPLET(udhcpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) 447 IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, BB_DIR_USR_BIN, BB_SUID_DROP, udpsvd)) 448 IF_UMOUNT(APPLET(umount, BB_DIR_BIN, BB_SUID_DROP)) 449 IF_UNAME(APPLET(uname, BB_DIR_BIN, BB_SUID_DROP)) 450 IF_UNCOMPRESS(APPLET(uncompress, BB_DIR_BIN, BB_SUID_DROP)) 451 IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, BB_DIR_USR_BIN, BB_SUID_DROP, unexpand)) 452 IF_UNIQ(APPLET(uniq, BB_DIR_USR_BIN, BB_SUID_DROP)) 453 IF_UNIX2DOS(APPLET_NOEXEC(unix2dos, dos2unix, BB_DIR_USR_BIN, BB_SUID_DROP, unix2dos)) 454 IF_UNXZ(APPLET(unxz, BB_DIR_USR_BIN, BB_SUID_DROP)) 455 IF_UNLZMA(APPLET(unlzma, BB_DIR_USR_BIN, BB_SUID_DROP)) 456 IF_LZOP(APPLET_ODDNAME(unlzop, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, unlzop)) 457 IF_UNZIP(APPLET(unzip, BB_DIR_USR_BIN, BB_SUID_DROP)) 458 IF_UPTIME(APPLET(uptime, BB_DIR_USR_BIN, BB_SUID_DROP)) 459 IF_USLEEP(APPLET_NOFORK(usleep, usleep, BB_DIR_BIN, BB_SUID_DROP, usleep)) 460 IF_UUDECODE(APPLET(uudecode, BB_DIR_USR_BIN, BB_SUID_DROP)) 461 IF_UUENCODE(APPLET(uuencode, BB_DIR_USR_BIN, BB_SUID_DROP)) 462 IF_VCONFIG(APPLET(vconfig, BB_DIR_SBIN, BB_SUID_DROP)) 463 /* Needs to be run by root or be suid root - needs to change uid and gid: */ 464 IF_VLOCK(APPLET(vlock, BB_DIR_USR_BIN, BB_SUID_REQUIRE)) 465 IF_VOLNAME(APPLET(volname, BB_DIR_USR_BIN, BB_SUID_DROP)) 466 /* Needs to be run by root or be suid root - needs to write to /dev/TTY: */ 467 IF_WALL(APPLET(wall, BB_DIR_USR_BIN, BB_SUID_REQUIRE)) 468 IF_WATCH(APPLET(watch, BB_DIR_BIN, BB_SUID_DROP)) 469 IF_WATCHDOG(APPLET(watchdog, BB_DIR_SBIN, BB_SUID_DROP)) 470 IF_WC(APPLET(wc, BB_DIR_USR_BIN, BB_SUID_DROP)) 471 IF_WGET(APPLET(wget, BB_DIR_USR_BIN, BB_SUID_DROP)) 472 IF_WHICH(APPLET(which, BB_DIR_USR_BIN, BB_SUID_DROP)) 473 IF_WHOAMI(APPLET_NOFORK(whoami, whoami, BB_DIR_USR_BIN, BB_SUID_DROP, whoami)) 474 IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, BB_DIR_USR_BIN, BB_SUID_DROP, xzcat)) 475 IF_XZ(APPLET_ODDNAME(xz, unxz, BB_DIR_USR_BIN, BB_SUID_DROP, xz)) 476 IF_YES(APPLET_NOFORK(yes, yes, BB_DIR_USR_BIN, BB_SUID_DROP, yes)) 477 IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, BB_DIR_BIN, BB_SUID_DROP, zcat)) 478 IF_ZCIP(APPLET(zcip, BB_DIR_SBIN, BB_SUID_DROP)) 460 479 461 480 #if !defined(PROTOTYPES) && !defined(NAME_MAIN_CNAME) && !defined(MAKE_USAGE) -
branches/3.2/mindi-busybox/include/usage.h
r2725 r3233 14 14 #define BB_USAGE_H 1 15 15 16 17 16 #define NOUSAGE_STR "\b" 18 17 18 19 #define ar_trivial_usage \ 20 "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES" \ 21 22 #define ar_full_usage "\n\n" \ 23 "Extract or list FILES from an ar archive\n" \ 24 "\n -o Preserve original dates" \ 25 "\n -p Extract to stdout" \ 26 "\n -t List" \ 27 "\n -x Extract" \ 28 "\n -v Verbose" \ 29 30 #define uncompress_trivial_usage \ 31 "[-cf] [FILE]..." \ 32 33 #define uncompress_full_usage "\n\n" \ 34 "Decompress .Z file[s]\n" \ 35 "\n -c Write to stdout" \ 36 "\n -f Overwrite" \ 37 38 #define gunzip_trivial_usage \ 39 "[-cft] [FILE]..." \ 40 41 #define gunzip_full_usage "\n\n" \ 42 "Decompress FILEs (or stdin)\n" \ 43 "\n -c Write to stdout" \ 44 "\n -f Force" \ 45 "\n -t Test file integrity" \ 46 47 #define gunzip_example_usage \ 48 "$ ls -la /tmp/BusyBox*\n" \ 49 "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \ 50 "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \ 51 "$ ls -la /tmp/BusyBox*\n" \ 52 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n" \ 53 54 #define zcat_trivial_usage \ 55 "FILE" \ 56 57 #define zcat_full_usage "\n\n" \ 58 "Decompress to stdout" \ 19 59 20 60 #define bunzip2_trivial_usage \ … … 23 63 #define bunzip2_full_usage "\n\n" \ 24 64 "Decompress FILEs (or stdin)\n" \ 25 "\nOptions:" \26 65 "\n -c Write to stdout" \ 27 66 "\n -f Force" \ … … 33 72 "Decompress to stdout" \ 34 73 74 #define unlzma_trivial_usage \ 75 "[-cf] [FILE]..." \ 76 77 #define unlzma_full_usage "\n\n" \ 78 "Decompress FILE (or stdin)\n" \ 79 "\n -c Write to stdout" \ 80 "\n -f Force" \ 81 82 #define lzma_trivial_usage \ 83 "-d [-cf] [FILE]..." \ 84 85 #define lzma_full_usage "\n\n" \ 86 "Decompress FILE (or stdin)\n" \ 87 "\n -d Decompress" \ 88 "\n -c Write to stdout" \ 89 "\n -f Force" \ 90 91 #define lzcat_trivial_usage \ 92 "FILE" \ 93 94 #define lzcat_full_usage "\n\n" \ 95 "Decompress to stdout" \ 96 97 #define unxz_trivial_usage \ 98 "[-cf] [FILE]..." \ 99 100 #define unxz_full_usage "\n\n" \ 101 "Decompress FILE (or stdin)\n" \ 102 "\n -c Write to stdout" \ 103 "\n -f Force" \ 104 105 #define xz_trivial_usage \ 106 "-d [-cf] [FILE]..." \ 107 108 #define xz_full_usage "\n\n" \ 109 "Decompress FILE (or stdin)\n" \ 110 "\n -d Decompress" \ 111 "\n -c Write to stdout" \ 112 "\n -f Force" \ 113 114 #define xzcat_trivial_usage \ 115 "FILE" \ 116 117 #define xzcat_full_usage "\n\n" \ 118 "Decompress to stdout" \ 119 120 #define bzip2_trivial_usage \ 121 "[OPTIONS] [FILE]..." \ 122 123 #define bzip2_full_usage "\n\n" \ 124 "Compress FILEs (or stdin) with bzip2 algorithm\n" \ 125 "\n -1..9 Compression level" \ 126 "\n -d Decompress" \ 127 "\n -c Write to stdout" \ 128 "\n -f Force" \ 129 130 #define cpio_trivial_usage \ 131 "[-dmvu] [-F FILE]" IF_FEATURE_CPIO_O(" [-H newc]") \ 132 " [-ti"IF_FEATURE_CPIO_O("o")"]" IF_FEATURE_CPIO_P(" [-p DIR]") \ 133 " [EXTR_FILE]..." \ 134 135 #define cpio_full_usage "\n\n" \ 136 "Extract or list files from a cpio archive" \ 137 IF_FEATURE_CPIO_O(", or" \ 138 "\ncreate an archive" IF_FEATURE_CPIO_P(" (-o) or copy files (-p)") \ 139 " using file list on stdin" \ 140 ) \ 141 "\n" \ 142 "\nMain operation mode:" \ 143 "\n -t List" \ 144 "\n -i Extract EXTR_FILEs (or all)" \ 145 IF_FEATURE_CPIO_O( \ 146 "\n -o Create (requires -H newc)" \ 147 ) \ 148 IF_FEATURE_CPIO_P( \ 149 "\n -p DIR Copy files to DIR" \ 150 ) \ 151 "\n -d Make leading directories" \ 152 "\n -m Preserve mtime" \ 153 "\n -v Verbose" \ 154 "\n -u Overwrite" \ 155 "\n -F FILE Input (-t,-i,-p) or output (-o) file" \ 156 IF_FEATURE_CPIO_O( \ 157 "\n -H newc Archive format" \ 158 ) \ 159 160 #define dpkg_trivial_usage \ 161 "[-ilCPru] [-F OPT] PACKAGE" \ 162 163 #define dpkg_full_usage "\n\n" \ 164 "Install, remove and manage Debian packages\n" \ 165 IF_LONG_OPTS( \ 166 "\n -i,--install Install the package" \ 167 "\n -l,--list List of installed packages" \ 168 "\n --configure Configure an unpackaged package" \ 169 "\n -P,--purge Purge all files of a package" \ 170 "\n -r,--remove Remove all but the configuration files for a package" \ 171 "\n --unpack Unpack a package, but don't configure it" \ 172 "\n --force-depends Ignore dependency problems" \ 173 "\n --force-confnew Overwrite existing config files when installing" \ 174 "\n --force-confold Keep old config files when installing" \ 175 ) \ 176 IF_NOT_LONG_OPTS( \ 177 "\n -i Install the package" \ 178 "\n -l List of installed packages" \ 179 "\n -C Configure an unpackaged package" \ 180 "\n -P Purge all files of a package" \ 181 "\n -r Remove all but the configuration files for a package" \ 182 "\n -u Unpack a package, but don't configure it" \ 183 "\n -F depends Ignore dependency problems" \ 184 "\n -F confnew Overwrite existing config files when installing" \ 185 "\n -F confold Keep old config files when installing" \ 186 ) \ 187 188 #define dpkg_deb_trivial_usage \ 189 "[-cefxX] FILE [argument" \ 190 191 #define dpkg_deb_full_usage "\n\n" \ 192 "Perform actions on Debian packages (.debs)\n" \ 193 "\n -c List contents of filesystem tree" \ 194 "\n -e Extract control files to [argument] directory" \ 195 "\n -f Display control field name starting with [argument]" \ 196 "\n -x Extract packages filesystem tree to directory" \ 197 "\n -X Verbose extract" \ 198 199 #define dpkg_deb_example_usage \ 200 "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" \ 201 202 #define gzip_trivial_usage \ 203 "[-cfd] [FILE]..." \ 204 205 #define gzip_full_usage "\n\n" \ 206 "Compress FILEs (or stdin)\n" \ 207 "\n -d Decompress" \ 208 "\n -c Write to stdout" \ 209 "\n -f Force" \ 210 211 #define gzip_example_usage \ 212 "$ ls -la /tmp/busybox*\n" \ 213 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \ 214 "$ gzip /tmp/busybox.tar\n" \ 215 "$ ls -la /tmp/busybox*\n" \ 216 "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" \ 217 218 #define lzop_trivial_usage \ 219 "[-cfvd123456789CF] [FILE]..." \ 220 221 #define lzop_full_usage "\n\n" \ 222 " -1..9 Compression level" \ 223 "\n -d Decompress" \ 224 "\n -c Write to stdout" \ 225 "\n -f Force" \ 226 "\n -v Verbose" \ 227 "\n -F Don't store or verify checksum" \ 228 "\n -C Also write checksum of compressed block" \ 229 230 #define lzopcat_trivial_usage \ 231 "[-vCF] [FILE]..." \ 232 233 #define lzopcat_full_usage "\n\n" \ 234 " -v Verbose" \ 235 "\n -F Don't store or verify checksum" \ 236 237 #define unlzop_trivial_usage \ 238 "[-cfvCF] [FILE]..." \ 239 240 #define unlzop_full_usage "\n\n" \ 241 " -c Write to stdout" \ 242 "\n -f Force" \ 243 "\n -v Verbose" \ 244 "\n -F Don't store or verify checksum" \ 245 246 #define rpm2cpio_trivial_usage \ 247 "package.rpm" \ 248 249 #define rpm2cpio_full_usage "\n\n" \ 250 "Output a cpio archive of the rpm file" \ 251 252 #define rpm_trivial_usage \ 253 "-i PACKAGE.rpm; rpm -qp[ildc] PACKAGE.rpm" \ 254 255 #define rpm_full_usage "\n\n" \ 256 "Manipulate RPM packages\n" \ 257 "\nCommands:" \ 258 "\n -i Install package" \ 259 "\n -qp Query package" \ 260 "\n -i Show information" \ 261 "\n -l List contents" \ 262 "\n -d List documents" \ 263 "\n -c List config files" \ 264 35 265 #define tar_trivial_usage \ 36 "-[" IF_FEATURE_TAR_CREATE("c") "xt" IF_FEATURE_SEAMLESS_GZ("z") \ 37 IF_FEATURE_SEAMLESS_BZ2("j") IF_FEATURE_SEAMLESS_LZMA("a") \ 38 IF_FEATURE_SEAMLESS_Z("Z") IF_FEATURE_TAR_NOPRESERVE_TIME("m") "vO] " \ 39 IF_FEATURE_TAR_FROM("[-X FILE] ") \ 40 "[-f TARFILE] [-C DIR] [FILE]..." \ 266 "-[" IF_FEATURE_TAR_CREATE("c") "xt" \ 267 IF_FEATURE_SEAMLESS_Z("Z") \ 268 IF_FEATURE_SEAMLESS_GZ("z") \ 269 IF_FEATURE_SEAMLESS_XZ("J") \ 270 IF_FEATURE_SEAMLESS_BZ2("j") \ 271 IF_FEATURE_SEAMLESS_LZMA("a") \ 272 IF_FEATURE_TAR_CREATE("h") \ 273 IF_FEATURE_TAR_NOPRESERVE_TIME("m") \ 274 "vO] " \ 275 IF_FEATURE_TAR_FROM("[-X FILE] [-T FILE] ") \ 276 "[-f TARFILE] [-C DIR] [FILE]..." \ 41 277 42 278 #define tar_full_usage "\n\n" \ … … 50 286 "\n x Extract" \ 51 287 "\n t List" \ 52 "\nOptions:" \53 288 "\n f Name of TARFILE ('-' for stdin/out)" \ 54 289 "\n C Change to DIR before operation" \ 55 290 "\n v Verbose" \ 291 IF_FEATURE_SEAMLESS_Z( \ 292 "\n Z (De)compress using compress" \ 293 ) \ 56 294 IF_FEATURE_SEAMLESS_GZ( \ 57 295 "\n z (De)compress using gzip" \ 58 296 ) \ 297 IF_FEATURE_SEAMLESS_XZ( \ 298 "\n J (De)compress using xz" \ 299 ) \ 59 300 IF_FEATURE_SEAMLESS_BZ2( \ 60 301 "\n j (De)compress using bzip2" \ … … 62 303 IF_FEATURE_SEAMLESS_LZMA( \ 63 304 "\n a (De)compress using lzma" \ 64 ) \65 IF_FEATURE_SEAMLESS_Z( \66 "\n Z (De)compress using compress" \67 305 ) \ 68 306 "\n O Extract to stdout" \ … … 85 323 "$ tar -cf /tmp/tarball.tar /usr/local\n" \ 86 324 325 #define unzip_trivial_usage \ 326 "[-lnopq] FILE[.zip] [FILE]... [-x FILE...] [-d DIR]" \ 327 328 #define unzip_full_usage "\n\n" \ 329 "Extract FILEs from ZIP archive\n" \ 330 "\n -l List contents (with -q for short form)" \ 331 "\n -n Never overwrite files (default: ask)" \ 332 "\n -o Overwrite" \ 333 "\n -p Print to stdout" \ 334 "\n -q Quiet" \ 335 "\n -x FILE Exclude FILEs" \ 336 "\n -d DIR Extract into DIR" \ 337 338 #define chvt_trivial_usage \ 339 "N" \ 340 341 #define chvt_full_usage "\n\n" \ 342 "Change the foreground virtual terminal to /dev/ttyN" \ 343 344 #define clear_trivial_usage \ 345 "" \ 346 347 #define clear_full_usage "\n\n" \ 348 "Clear screen" \ 349 350 #define deallocvt_trivial_usage \ 351 "[N]" \ 352 353 #define deallocvt_full_usage "\n\n" \ 354 "Deallocate unused virtual terminal /dev/ttyN" \ 355 356 #define dumpkmap_trivial_usage \ 357 "> keymap" \ 358 359 #define dumpkmap_full_usage "\n\n" \ 360 "Print a binary keyboard translation table to stdout" \ 361 362 #define dumpkmap_example_usage \ 363 "$ dumpkmap > keymap\n" \ 364 365 #define fgconsole_trivial_usage \ 366 "" \ 367 368 #define fgconsole_full_usage "\n\n" \ 369 "Get active console" \ 370 371 #define kbd_mode_trivial_usage \ 372 "[-a|k|s|u] [-C TTY]" \ 373 374 #define kbd_mode_full_usage "\n\n" \ 375 "Report or set the keyboard mode\n" \ 376 "\n -a Default (ASCII)" \ 377 "\n -k Medium-raw (keyboard)" \ 378 "\n -s Raw (scancode)" \ 379 "\n -u Unicode (utf-8)" \ 380 "\n -C TTY Affect TTY instead of /dev/tty" \ 381 382 #define loadfont_trivial_usage \ 383 "< font" \ 384 385 #define loadfont_full_usage "\n\n" \ 386 "Load a console font from stdin" \ 387 388 #define loadfont_example_usage \ 389 "$ loadfont < /etc/i18n/fontname\n" \ 390 391 #define setfont_trivial_usage \ 392 "FONT [-m MAPFILE] [-C TTY]" \ 393 394 #define setfont_full_usage "\n\n" \ 395 "Load a console font\n" \ 396 "\n -m MAPFILE Load console screen map" \ 397 "\n -C TTY Affect TTY instead of /dev/tty" \ 398 399 #define setfont_example_usage \ 400 "$ setfont -m koi8-r /etc/i18n/fontname\n" \ 401 402 #define loadkmap_trivial_usage \ 403 "< keymap" \ 404 405 #define loadkmap_full_usage "\n\n" \ 406 "Load a binary keyboard translation table from stdin\n" \ 407 408 #define loadkmap_example_usage \ 409 "$ loadkmap < /etc/i18n/lang-keymap\n" \ 410 411 #define openvt_trivial_usage \ 412 "[-c N] [-sw] [PROG ARGS]" \ 413 414 #define openvt_full_usage "\n\n" \ 415 "Start PROG on a new virtual terminal\n" \ 416 "\n -c N Use specified VT" \ 417 "\n -s Switch to the VT" \ 418 "\n -w Wait for PROG to exit" \ 419 420 #define openvt_example_usage \ 421 "openvt 2 /bin/ash\n" \ 422 423 #define reset_trivial_usage \ 424 "" \ 425 426 #define reset_full_usage "\n\n" \ 427 "Reset the screen" \ 428 429 #define resize_trivial_usage \ 430 "" \ 431 432 #define resize_full_usage "\n\n" \ 433 "Resize the screen" \ 434 435 #define setconsole_trivial_usage \ 436 "[-r" IF_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" \ 437 438 #define setconsole_full_usage "\n\n" \ 439 "Redirect system console output to DEVICE (default: /dev/tty)\n" \ 440 "\n -r Reset output to /dev/console" \ 441 442 #define setkeycodes_trivial_usage \ 443 "SCANCODE KEYCODE..." \ 444 445 #define setkeycodes_full_usage "\n\n" \ 446 "Set entries into the kernel's scancode-to-keycode map,\n" \ 447 "allowing unusual keyboards to generate usable keycodes.\n\n" \ 448 "SCANCODE may be either xx or e0xx (hexadecimal),\n" \ 449 "and KEYCODE is given in decimal." \ 450 451 #define setkeycodes_example_usage \ 452 "$ setkeycodes e030 127\n" \ 453 454 #define setlogcons_trivial_usage \ 455 "N" \ 456 457 #define setlogcons_full_usage "\n\n" \ 458 "Redirect the kernel output to console N (0 for current)" \ 459 460 #define showkey_trivial_usage \ 461 "[-a | -k | -s]" \ 462 463 #define showkey_full_usage "\n\n" \ 464 "Show keys pressed\n" \ 465 "\n -a Display decimal/octal/hex values of the keys" \ 466 "\n -k Display interpreted keycodes (default)" \ 467 "\n -s Display raw scan-codes" \ 468 469 #define basename_trivial_usage \ 470 "FILE [SUFFIX]" \ 471 472 #define basename_full_usage "\n\n" \ 473 "Strip directory path and .SUFFIX from FILE\n" \ 474 475 #define basename_example_usage \ 476 "$ basename /usr/local/bin/foo\n" \ 477 "foo\n" \ 478 "$ basename /usr/local/bin/\n" \ 479 "bin\n" \ 480 "$ basename /foo/bar.txt .txt\n" \ 481 "bar" \ 482 483 #define cal_trivial_usage \ 484 "[-jy] [[MONTH] YEAR]" \ 485 486 #define cal_full_usage "\n\n" \ 487 "Display a calendar\n" \ 488 "\n -j Use julian dates" \ 489 "\n -y Display the entire year" \ 490 491 #define cat_trivial_usage \ 492 "[FILE]..." \ 493 494 #define cat_full_usage "\n\n" \ 495 "Concatenate FILEs and print them to stdout" \ 496 497 #define cat_example_usage \ 498 "$ cat /proc/uptime\n" \ 499 "110716.72 17.67" \ 500 501 #define catv_trivial_usage \ 502 "[-etv] [FILE]..." \ 503 504 #define catv_full_usage "\n\n" \ 505 "Display nonprinting characters as ^x or M-x\n" \ 506 "\n -e End each line with $" \ 507 "\n -t Show tabs as ^I" \ 508 "\n -v Don't use ^x or M-x escapes" \ 509 510 #define chgrp_trivial_usage \ 511 "[-RhLHP"IF_DESKTOP("cvf")"]... GROUP FILE..." \ 512 513 #define chgrp_full_usage "\n\n" \ 514 "Change the group membership of each FILE to GROUP\n" \ 515 "\n -R Recurse" \ 516 "\n -h Affect symlinks instead of symlink targets" \ 517 "\n -L Traverse all symlinks to directories" \ 518 "\n -H Traverse symlinks on command line only" \ 519 "\n -P Don't traverse symlinks (default)" \ 520 IF_DESKTOP( \ 521 "\n -c List changed files" \ 522 "\n -v Verbose" \ 523 "\n -f Hide errors" \ 524 ) \ 525 526 #define chgrp_example_usage \ 527 "$ ls -l /tmp/foo\n" \ 528 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 529 "$ chgrp root /tmp/foo\n" \ 530 "$ ls -l /tmp/foo\n" \ 531 "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" \ 532 533 #define chmod_trivial_usage \ 534 "[-R"IF_DESKTOP("cvf")"] MODE[,MODE]... FILE..." \ 535 536 #define chmod_full_usage "\n\n" \ 537 "Each MODE is one or more of the letters ugoa, one of the\n" \ 538 "symbols +-= and one or more of the letters rwxst\n" \ 539 "\n -R Recurse" \ 540 IF_DESKTOP( \ 541 "\n -c List changed files" \ 542 "\n -v List all files" \ 543 "\n -f Hide errors" \ 544 ) \ 545 546 #define chmod_example_usage \ 547 "$ ls -l /tmp/foo\n" \ 548 "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ 549 "$ chmod u+x /tmp/foo\n" \ 550 "$ ls -l /tmp/foo\n" \ 551 "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \ 552 "$ chmod 444 /tmp/foo\n" \ 553 "$ ls -l /tmp/foo\n" \ 554 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ 555 556 #define chown_trivial_usage \ 557 "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." \ 558 559 #define chown_full_usage "\n\n" \ 560 "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ 561 "\n -R Recurse" \ 562 "\n -h Affect symlinks instead of symlink targets" \ 563 "\n -L Traverse all symlinks to directories" \ 564 "\n -H Traverse symlinks on command line only" \ 565 "\n -P Don't traverse symlinks (default)" \ 566 IF_DESKTOP( \ 567 "\n -c List changed files" \ 568 "\n -v List all files" \ 569 "\n -f Hide errors" \ 570 ) \ 571 572 #define chown_example_usage \ 573 "$ ls -l /tmp/foo\n" \ 574 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 575 "$ chown root /tmp/foo\n" \ 576 "$ ls -l /tmp/foo\n" \ 577 "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \ 578 "$ chown root.root /tmp/foo\n" \ 579 "ls -l /tmp/foo\n" \ 580 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ 581 582 #define chroot_trivial_usage \ 583 "NEWROOT [PROG ARGS]" \ 584 585 #define chroot_full_usage "\n\n" \ 586 "Run PROG with root directory set to NEWROOT" \ 587 588 #define chroot_example_usage \ 589 "$ ls -l /bin/ls\n" \ 590 "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \ 591 "# mount /dev/hdc1 /mnt -t minix\n" \ 592 "# chroot /mnt\n" \ 593 "# ls -l /bin/ls\n" \ 594 "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n" \ 595 596 #define cksum_trivial_usage \ 597 "FILES..." \ 598 599 #define cksum_full_usage "\n\n" \ 600 "Calculate the CRC32 checksums of FILES" \ 601 602 #define comm_trivial_usage \ 603 "[-123] FILE1 FILE2" \ 604 605 #define comm_full_usage "\n\n" \ 606 "Compare FILE1 with FILE2\n" \ 607 "\n -1 Suppress lines unique to FILE1" \ 608 "\n -2 Suppress lines unique to FILE2" \ 609 "\n -3 Suppress lines common to both files" \ 610 611 #define cp_trivial_usage \ 612 "[OPTIONS] SOURCE... DEST" \ 613 614 #define cp_full_usage "\n\n" \ 615 "Copy SOURCE(s) to DEST\n" \ 616 "\n -a Same as -dpR" \ 617 IF_SELINUX( \ 618 "\n -c Preserve security context" \ 619 ) \ 620 "\n -R,-r Recurse" \ 621 "\n -d,-P Preserve symlinks (default if -R)" \ 622 "\n -L Follow all symlinks" \ 623 "\n -H Follow symlinks on command line" \ 624 "\n -p Preserve file attributes if possible" \ 625 "\n -f Overwrite" \ 626 "\n -i Prompt before overwrite" \ 627 "\n -l,-s Create (sym)links" \ 628 629 #define cut_trivial_usage \ 630 "[OPTIONS] [FILE]..." \ 631 632 #define cut_full_usage "\n\n" \ 633 "Print selected fields from each input FILE to stdout\n" \ 634 "\n -b LIST Output only bytes from LIST" \ 635 "\n -c LIST Output only characters from LIST" \ 636 "\n -d CHAR Use CHAR instead of tab as the field delimiter" \ 637 "\n -s Output only the lines containing delimiter" \ 638 "\n -f N Print only these fields" \ 639 "\n -n Ignored" \ 640 641 #define cut_example_usage \ 642 "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \ 643 "Hello\n" \ 644 "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \ 645 "world\n" \ 646 87 647 #define date_trivial_usage \ 88 648 "[OPTIONS] [+FMT] [TIME]" \ … … 90 650 #define date_full_usage "\n\n" \ 91 651 "Display time (using +FMT), or set time\n" \ 92 "\nOptions:" \93 652 IF_NOT_LONG_OPTS( \ 94 653 "\n [-s] TIME Set time to TIME" \ … … 122 681 "\n YYYY-MM-DD hh:mm[:ss]" \ 123 682 "\n [[[[[YY]YY]MM]DD]hh]mm[.ss]" \ 683 IF_FEATURE_DATE_COMPAT( \ 684 "\n 'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead" \ 685 ) \ 124 686 125 687 #define date_example_usage \ … … 127 689 "Wed Apr 12 18:52:41 MDT 2000\n" \ 128 690 691 #define dd_trivial_usage \ 692 "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ 693 " [seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") \ 694 695 #define dd_full_usage "\n\n" \ 696 "Copy a file with converting and formatting\n" \ 697 "\n if=FILE Read from FILE instead of stdin" \ 698 "\n of=FILE Write to FILE instead of stdout" \ 699 "\n bs=N Read and write N bytes at a time" \ 700 IF_FEATURE_DD_IBS_OBS( \ 701 "\n ibs=N Read N bytes at a time" \ 702 ) \ 703 IF_FEATURE_DD_IBS_OBS( \ 704 "\n obs=N Write N bytes at a time" \ 705 ) \ 706 "\n count=N Copy only N input blocks" \ 707 "\n skip=N Skip N input blocks" \ 708 "\n seek=N Skip N output blocks" \ 709 IF_FEATURE_DD_IBS_OBS( \ 710 "\n conv=notrunc Don't truncate output file" \ 711 "\n conv=noerror Continue after read errors" \ 712 "\n conv=sync Pad blocks with zeros" \ 713 "\n conv=fsync Physically write data out before finishing" \ 714 ) \ 715 "\n" \ 716 "\nNumbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024)," \ 717 "\nMD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)" \ 718 719 #define dd_example_usage \ 720 "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \ 721 "4+0 records in\n" \ 722 "4+0 records out\n" \ 723 724 #define df_trivial_usage \ 725 "[-Pk" \ 726 IF_FEATURE_HUMAN_READABLE("mh") \ 727 IF_FEATURE_DF_FANCY("ai] [-B SIZE") \ 728 "] [FILESYSTEM]..." \ 729 730 #define df_full_usage "\n\n" \ 731 "Print filesystem usage statistics\n" \ 732 "\n -P POSIX output format" \ 733 "\n -k 1024-byte blocks (default)" \ 734 IF_FEATURE_HUMAN_READABLE( \ 735 "\n -m 1M-byte blocks" \ 736 "\n -h Human readable (e.g. 1K 243M 2G)" \ 737 ) \ 738 IF_FEATURE_DF_FANCY( \ 739 "\n -a Show all filesystems" \ 740 "\n -i Inodes" \ 741 "\n -B SIZE Blocksize" \ 742 ) \ 743 744 #define df_example_usage \ 745 "$ df\n" \ 746 "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ 747 "/dev/sda3 8690864 8553540 137324 98% /\n" \ 748 "/dev/sda1 64216 36364 27852 57% /boot\n" \ 749 "$ df /dev/sda3\n" \ 750 "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ 751 "/dev/sda3 8690864 8553540 137324 98% /\n" \ 752 "$ POSIXLY_CORRECT=sure df /dev/sda3\n" \ 753 "Filesystem 512B-blocks Used Available Use% Mounted on\n" \ 754 "/dev/sda3 17381728 17107080 274648 98% /\n" \ 755 "$ POSIXLY_CORRECT=yep df -P /dev/sda3\n" \ 756 "Filesystem 512-blocks Used Available Capacity Mounted on\n" \ 757 "/dev/sda3 17381728 17107080 274648 98% /\n" \ 758 759 #define dirname_trivial_usage \ 760 "FILENAME" \ 761 762 #define dirname_full_usage "\n\n" \ 763 "Strip non-directory suffix from FILENAME" \ 764 765 #define dirname_example_usage \ 766 "$ dirname /tmp/foo\n" \ 767 "/tmp\n" \ 768 "$ dirname /tmp/foo/\n" \ 769 "/tmp\n" \ 770 771 #define dos2unix_trivial_usage \ 772 "[-ud] [FILE]" \ 773 774 #define dos2unix_full_usage "\n\n" \ 775 "Convert FILE in-place from DOS to Unix format.\n" \ 776 "When no file is given, use stdin/stdout.\n" \ 777 "\n -u dos2unix" \ 778 "\n -d unix2dos" \ 779 780 #define unix2dos_trivial_usage \ 781 "[-ud] [FILE]" \ 782 783 #define unix2dos_full_usage "\n\n" \ 784 "Convert FILE in-place from Unix to DOS format.\n" \ 785 "When no file is given, use stdin/stdout.\n" \ 786 "\n -u dos2unix" \ 787 "\n -d unix2dos" \ 788 789 #define du_trivial_usage \ 790 "[-aHLdclsx" IF_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." \ 791 792 #define du_full_usage "\n\n" \ 793 "Summarize disk space used for each FILE and/or directory\n" \ 794 "\n -a Show file sizes too" \ 795 "\n -L Follow all symlinks" \ 796 "\n -H Follow symlinks on command line" \ 797 "\n -d N Limit output to directories (and files with -a) of depth < N" \ 798 "\n -c Show grand total" \ 799 "\n -l Count sizes many times if hard linked" \ 800 "\n -s Display only a total for each argument" \ 801 "\n -x Skip directories on different filesystems" \ 802 IF_FEATURE_HUMAN_READABLE( \ 803 "\n -h Sizes in human readable format (e.g., 1K 243M 2G)" \ 804 "\n -m Sizes in megabytes" \ 805 ) \ 806 "\n -k Sizes in kilobytes" IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \ 807 IF_NOT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K( \ 808 "\n Default unit is 512 bytes" \ 809 ) \ 810 811 #define du_example_usage \ 812 "$ du\n" \ 813 "16 ./CVS\n" \ 814 "12 ./kernel-patches/CVS\n" \ 815 "80 ./kernel-patches\n" \ 816 "12 ./tests/CVS\n" \ 817 "36 ./tests\n" \ 818 "12 ./scripts/CVS\n" \ 819 "16 ./scripts\n" \ 820 "12 ./docs/CVS\n" \ 821 "104 ./docs\n" \ 822 "2417 .\n" \ 823 824 #define echo_trivial_usage \ 825 IF_FEATURE_FANCY_ECHO("[-neE] ") "[ARG]..." \ 826 827 #define echo_full_usage "\n\n" \ 828 "Print the specified ARGs to stdout" \ 829 IF_FEATURE_FANCY_ECHO( "\n" \ 830 "\n -n Suppress trailing newline" \ 831 "\n -e Interpret backslash escapes (i.e., \\t=tab)" \ 832 "\n -E Don't interpret backslash escapes (default)" \ 833 ) \ 834 835 #define echo_example_usage \ 836 "$ echo \"Erik is cool\"\n" \ 837 "Erik is cool\n" \ 838 IF_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ 839 "Erik\n" \ 840 "is\n" \ 841 "cool\n" \ 842 "$ echo \"Erik\\nis\\ncool\"\n" \ 843 "Erik\\nis\\ncool\n") \ 844 845 #define env_trivial_usage \ 846 "[-iu] [-] [name=value]... [PROG ARGS]" \ 847 848 #define env_full_usage "\n\n" \ 849 "Print the current environment or run PROG after setting up\n" \ 850 "the specified environment\n" \ 851 "\n -, -i Start with an empty environment" \ 852 "\n -u Remove variable from the environment" \ 853 854 #define expand_trivial_usage \ 855 "[-i] [-t N] [FILE]..." \ 856 857 #define expand_full_usage "\n\n" \ 858 "Convert tabs to spaces, writing to stdout\n" \ 859 IF_FEATURE_EXPAND_LONG_OPTIONS( \ 860 "\n -i,--initial Don't convert tabs after non blanks" \ 861 "\n -t,--tabs=N Tabstops every N chars" \ 862 ) \ 863 IF_NOT_FEATURE_EXPAND_LONG_OPTIONS( \ 864 "\n -i Don't convert tabs after non blanks" \ 865 "\n -t Tabstops every N chars" \ 866 ) \ 867 868 #define unexpand_trivial_usage \ 869 "[-fa][-t N] [FILE]..." \ 870 871 #define unexpand_full_usage "\n\n" \ 872 "Convert spaces to tabs, writing to stdout\n" \ 873 IF_FEATURE_UNEXPAND_LONG_OPTIONS( \ 874 "\n -a,--all Convert all blanks" \ 875 "\n -f,--first-only Convert only leading blanks" \ 876 "\n -t,--tabs=N Tabstops every N chars" \ 877 ) \ 878 IF_NOT_FEATURE_UNEXPAND_LONG_OPTIONS( \ 879 "\n -a Convert all blanks" \ 880 "\n -f Convert only leading blanks" \ 881 "\n -t N Tabstops every N chars" \ 882 ) \ 883 884 #define expr_trivial_usage \ 885 "EXPRESSION" \ 886 887 #define expr_full_usage "\n\n" \ 888 "Print the value of EXPRESSION to stdout\n" \ 889 "\n" \ 890 "EXPRESSION may be:\n" \ 891 " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \ 892 " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \ 893 " ARG1 < ARG2 1 if ARG1 is less than ARG2, else 0. Similarly:\n" \ 894 " ARG1 <= ARG2\n" \ 895 " ARG1 = ARG2\n" \ 896 " ARG1 != ARG2\n" \ 897 " ARG1 >= ARG2\n" \ 898 " ARG1 > ARG2\n" \ 899 " ARG1 + ARG2 Sum of ARG1 and ARG2. Similarly:\n" \ 900 " ARG1 - ARG2\n" \ 901 " ARG1 * ARG2\n" \ 902 " ARG1 / ARG2\n" \ 903 " ARG1 % ARG2\n" \ 904 " STRING : REGEXP Anchored pattern match of REGEXP in STRING\n" \ 905 " match STRING REGEXP Same as STRING : REGEXP\n" \ 906 " substr STRING POS LENGTH Substring of STRING, POS counted from 1\n" \ 907 " index STRING CHARS Index in STRING where any CHARS is found, or 0\n" \ 908 " length STRING Length of STRING\n" \ 909 " quote TOKEN Interpret TOKEN as a string, even if\n" \ 910 " it is a keyword like 'match' or an\n" \ 911 " operator like '/'\n" \ 912 " (EXPRESSION) Value of EXPRESSION\n" \ 913 "\n" \ 914 "Beware that many operators need to be escaped or quoted for shells.\n" \ 915 "Comparisons are arithmetic if both ARGs are numbers, else\n" \ 916 "lexicographical. Pattern matches return the string matched between\n" \ 917 "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \ 918 "of characters matched or 0." \ 919 920 #define false_trivial_usage \ 921 "" \ 922 923 #define false_full_usage "\n\n" \ 924 "Return an exit code of FALSE (1)" \ 925 926 #define false_example_usage \ 927 "$ false\n" \ 928 "$ echo $?\n" \ 929 "1\n" \ 930 931 #define fold_trivial_usage \ 932 "[-bs] [-w WIDTH] [FILE]..." \ 933 934 #define fold_full_usage "\n\n" \ 935 "Wrap input lines in each FILE (or stdin), writing to stdout\n" \ 936 "\n -b Count bytes rather than columns" \ 937 "\n -s Break at spaces" \ 938 "\n -w Use WIDTH columns instead of 80" \ 939 940 #define fsync_trivial_usage \ 941 "[-d] FILE..." \ 942 943 #define fsync_full_usage "\n\n" \ 944 "Write files' buffered blocks to disk\n" \ 945 "\n -d Avoid syncing metadata" \ 946 947 #define head_trivial_usage \ 948 "[OPTIONS] [FILE]..." \ 949 950 #define head_full_usage "\n\n" \ 951 "Print first 10 lines of each FILE (or stdin) to stdout.\n" \ 952 "With more than one FILE, precede each with a filename header.\n" \ 953 "\n -n N[kbm] Print first N lines" \ 954 IF_FEATURE_FANCY_HEAD( \ 955 "\n -c N[kbm] Print first N bytes" \ 956 "\n -q Never print headers" \ 957 "\n -v Always print headers" \ 958 ) \ 959 "\n" \ 960 "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ 961 962 #define head_example_usage \ 963 "$ head -n 2 /etc/passwd\n" \ 964 "root:x:0:0:root:/root:/bin/bash\n" \ 965 "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" \ 966 967 #define hostid_trivial_usage \ 968 "" \ 969 970 #define hostid_full_usage "\n\n" \ 971 "Print out a unique 32-bit identifier for the machine" \ 972 973 #define id_trivial_usage \ 974 "[OPTIONS] [USER]" \ 975 976 #define id_full_usage "\n\n" \ 977 "Print information about USER or the current user\n" \ 978 IF_SELINUX( \ 979 "\n -Z Security context" \ 980 ) \ 981 "\n -u User ID" \ 982 "\n -g Group ID" \ 983 "\n -G Supplementary group IDs" \ 984 "\n -n Print names instead of numbers" \ 985 "\n -r Print real ID instead of effective ID" \ 986 987 #define id_example_usage \ 988 "$ id\n" \ 989 "uid=1000(andersen) gid=1000(andersen)\n" \ 990 991 #define groups_trivial_usage \ 992 "[USER]" \ 993 994 #define groups_full_usage "\n\n" \ 995 "Print the group memberships of USER or for the current process" \ 996 997 #define groups_example_usage \ 998 "$ groups\n" \ 999 "andersen lp dialout cdrom floppy\n" \ 1000 1001 #define install_trivial_usage \ 1002 "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST" \ 1003 1004 #define install_full_usage "\n\n" \ 1005 "Copy files and set attributes\n" \ 1006 "\n -c Just copy (default)" \ 1007 "\n -d Create directories" \ 1008 "\n -D Create leading target directories" \ 1009 "\n -s Strip symbol table" \ 1010 "\n -p Preserve date" \ 1011 "\n -o USER Set ownership" \ 1012 "\n -g GRP Set group ownership" \ 1013 "\n -m MODE Set permissions" \ 1014 IF_SELINUX( \ 1015 "\n -Z Set security context" \ 1016 ) \ 1017 1018 #define ln_trivial_usage \ 1019 "[OPTIONS] TARGET... LINK|DIR" \ 1020 1021 #define ln_full_usage "\n\n" \ 1022 "Create a link LINK or DIR/TARGET to the specified TARGET(s)\n" \ 1023 "\n -s Make symlinks instead of hardlinks" \ 1024 "\n -f Remove existing destinations" \ 1025 "\n -n Don't dereference symlinks - treat like normal file" \ 1026 "\n -b Make a backup of the target (if exists) before link operation" \ 1027 "\n -S suf Use suffix instead of ~ when making backup files" \ 1028 "\n -T 2nd arg must be a DIR" \ 1029 "\n -v Verbose" \ 1030 1031 #define ln_example_usage \ 1032 "$ ln -s BusyBox /tmp/ls\n" \ 1033 "$ ls -l /tmp/ls\n" \ 1034 "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n" \ 1035 1036 #define logname_trivial_usage \ 1037 "" \ 1038 1039 #define logname_full_usage "\n\n" \ 1040 "Print the name of the current user" \ 1041 1042 #define logname_example_usage \ 1043 "$ logname\n" \ 1044 "root\n" \ 1045 1046 #define ls_trivial_usage \ 1047 "[-1AaCxd" \ 1048 IF_FEATURE_LS_FOLLOWLINKS("LH") \ 1049 IF_FEATURE_LS_RECURSIVE("R") \ 1050 IF_FEATURE_LS_FILETYPES("Fp") "lins" \ 1051 IF_FEATURE_LS_TIMESTAMPS("e") \ 1052 IF_FEATURE_HUMAN_READABLE("h") \ 1053 IF_FEATURE_LS_SORTFILES("rSXv") \ 1054 IF_FEATURE_LS_TIMESTAMPS("ctu") \ 1055 IF_SELINUX("kKZ") "]" \ 1056 IF_FEATURE_AUTOWIDTH(" [-w WIDTH]") " [FILE]..." \ 1057 1058 #define ls_full_usage "\n\n" \ 1059 "List directory contents\n" \ 1060 "\n -1 One column output" \ 1061 "\n -a Include entries which start with ." \ 1062 "\n -A Like -a, but exclude . and .." \ 1063 "\n -C List by columns" \ 1064 "\n -x List by lines" \ 1065 "\n -d List directory entries instead of contents" \ 1066 IF_FEATURE_LS_FOLLOWLINKS( \ 1067 "\n -L Follow symlinks" \ 1068 "\n -H Follow symlinks on command line" \ 1069 ) \ 1070 IF_FEATURE_LS_RECURSIVE( \ 1071 "\n -R Recurse" \ 1072 ) \ 1073 IF_FEATURE_LS_FILETYPES( \ 1074 "\n -p Append / to dir entries" \ 1075 "\n -F Append indicator (one of */=@|) to entries" \ 1076 ) \ 1077 "\n -l Long listing format" \ 1078 "\n -i List inode numbers" \ 1079 "\n -n List numeric UIDs and GIDs instead of names" \ 1080 "\n -s List allocated blocks" \ 1081 IF_FEATURE_LS_TIMESTAMPS( \ 1082 "\n -e List full date and time" \ 1083 ) \ 1084 IF_FEATURE_HUMAN_READABLE( \ 1085 "\n -h List sizes in human readable format (1K 243M 2G)" \ 1086 ) \ 1087 IF_FEATURE_LS_SORTFILES( \ 1088 "\n -r Sort in reverse order" \ 1089 "\n -S Sort by size" \ 1090 "\n -X Sort by extension" \ 1091 "\n -v Sort by version" \ 1092 ) \ 1093 IF_FEATURE_LS_TIMESTAMPS( \ 1094 "\n -c With -l: sort by ctime" \ 1095 "\n -t With -l: sort by mtime" \ 1096 "\n -u With -l: sort by atime" \ 1097 ) \ 1098 IF_SELINUX( \ 1099 "\n -k List security context" \ 1100 "\n -K List security context in long format" \ 1101 "\n -Z List security context and permission" \ 1102 ) \ 1103 IF_FEATURE_AUTOWIDTH( \ 1104 "\n -w N Assume the terminal is N columns wide" \ 1105 ) \ 1106 IF_FEATURE_LS_COLOR( \ 1107 "\n --color[={always,never,auto}] Control coloring" \ 1108 ) \ 1109 1110 #define md5sum_trivial_usage \ 1111 IF_FEATURE_MD5_SHA1_SUM_CHECK("[-c[sw]] ")"[FILE]..." \ 1112 1113 #define md5sum_full_usage "\n\n" \ 1114 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ 1115 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 1116 "\n -c Check sums against list in FILEs" \ 1117 "\n -s Don't output anything, status code shows success" \ 1118 "\n -w Warn about improperly formatted checksum lines" \ 1119 ) \ 1120 1121 #define md5sum_example_usage \ 1122 "$ md5sum < busybox\n" \ 1123 "6fd11e98b98a58f64ff3398d7b324003\n" \ 1124 "$ md5sum busybox\n" \ 1125 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 1126 "$ md5sum -c -\n" \ 1127 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 1128 "busybox: OK\n" \ 1129 "^D\n" \ 1130 1131 #define sha1sum_trivial_usage \ 1132 IF_FEATURE_MD5_SHA1_SUM_CHECK("[-c[sw]] ")"[FILE]..." \ 1133 1134 #define sha1sum_full_usage "\n\n" \ 1135 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums" \ 1136 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 1137 "\n -c Check sums against list in FILEs" \ 1138 "\n -s Don't output anything, status code shows success" \ 1139 "\n -w Warn about improperly formatted checksum lines" \ 1140 ) \ 1141 1142 #define sha256sum_trivial_usage \ 1143 IF_FEATURE_MD5_SHA1_SUM_CHECK("[-c[sw]] ")"[FILE]..." \ 1144 1145 #define sha256sum_full_usage "\n\n" \ 1146 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA256 checksums" \ 1147 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 1148 "\n -c Check sums against list in FILEs" \ 1149 "\n -s Don't output anything, status code shows success" \ 1150 "\n -w Warn about improperly formatted checksum lines" \ 1151 ) \ 1152 1153 #define sha512sum_trivial_usage \ 1154 IF_FEATURE_MD5_SHA1_SUM_CHECK("[-c[sw]] ")"[FILE]..." \ 1155 1156 #define sha512sum_full_usage "\n\n" \ 1157 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA512 checksums" \ 1158 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 1159 "\n -c Check sums against list in FILEs" \ 1160 "\n -s Don't output anything, status code shows success" \ 1161 "\n -w Warn about improperly formatted checksum lines" \ 1162 ) \ 1163 1164 #define sha3sum_trivial_usage \ 1165 IF_FEATURE_MD5_SHA1_SUM_CHECK("[-c[sw]] ")"[FILE]..." \ 1166 1167 #define sha3sum_full_usage "\n\n" \ 1168 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA3-512 checksums" \ 1169 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 1170 "\n -c Check sums against list in FILEs" \ 1171 "\n -s Don't output anything, status code shows success" \ 1172 "\n -w Warn about improperly formatted checksum lines" \ 1173 ) \ 1174 1175 #define mkdir_trivial_usage \ 1176 "[OPTIONS] DIRECTORY..." \ 1177 1178 #define mkdir_full_usage "\n\n" \ 1179 "Create DIRECTORY\n" \ 1180 "\n -m MODE Mode" \ 1181 "\n -p No error if exists; make parent directories as needed" \ 1182 IF_SELINUX( \ 1183 "\n -Z Set security context" \ 1184 ) \ 1185 1186 #define mkdir_example_usage \ 1187 "$ mkdir /tmp/foo\n" \ 1188 "$ mkdir /tmp/foo\n" \ 1189 "/tmp/foo: File exists\n" \ 1190 "$ mkdir /tmp/foo/bar/baz\n" \ 1191 "/tmp/foo/bar/baz: No such file or directory\n" \ 1192 "$ mkdir -p /tmp/foo/bar/baz\n" \ 1193 1194 #define mkfifo_trivial_usage \ 1195 "[-m MODE] " IF_SELINUX("[-Z] ") "NAME" \ 1196 1197 #define mkfifo_full_usage "\n\n" \ 1198 "Create named pipe\n" \ 1199 "\n -m MODE Mode (default a=rw)" \ 1200 IF_SELINUX( \ 1201 "\n -Z Set security context" \ 1202 ) \ 1203 1204 #define mknod_trivial_usage \ 1205 "[-m MODE] " IF_SELINUX("[-Z] ") "NAME TYPE MAJOR MINOR" \ 1206 1207 #define mknod_full_usage "\n\n" \ 1208 "Create a special file (block, character, or pipe)\n" \ 1209 "\n -m MODE Creation mode (default a=rw)" \ 1210 IF_SELINUX( \ 1211 "\n -Z Set security context" \ 1212 ) \ 1213 "\nTYPE:" \ 1214 "\n b Block device" \ 1215 "\n c or u Character device" \ 1216 "\n p Named pipe (MAJOR and MINOR are ignored)" \ 1217 1218 #define mknod_example_usage \ 1219 "$ mknod /dev/fd0 b 2 0\n" \ 1220 "$ mknod -m 644 /tmp/pipe p\n" \ 1221 129 1222 #define mv_trivial_usage \ 130 1223 "[-fin] SOURCE DEST\n" \ … … 133 1226 #define mv_full_usage "\n\n" \ 134 1227 "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY\n" \ 135 "\nOptions:" \136 1228 "\n -f Don't prompt before overwriting" \ 137 1229 "\n -i Interactive, prompt before overwrite" \ … … 141 1233 "$ mv /tmp/foo /bin/bar\n" \ 142 1234 1235 #define nice_trivial_usage \ 1236 "[-n ADJUST] [PROG ARGS]" \ 1237 1238 #define nice_full_usage "\n\n" \ 1239 "Change scheduling priority, run PROG\n" \ 1240 "\n -n ADJUST Adjust priority by ADJUST" \ 1241 1242 #define nohup_trivial_usage \ 1243 "PROG ARGS" \ 1244 1245 #define nohup_full_usage "\n\n" \ 1246 "Run PROG immune to hangups, with output to a non-tty" \ 1247 1248 #define nohup_example_usage \ 1249 "$ nohup make &" \ 1250 1251 #if ENABLE_DESKTOP \ 1252 1253 #define od_trivial_usage \ 1254 "[-abcdfhilovxs] [-t TYPE] [-A RADIX] [-N SIZE] [-j SKIP] [-S MINSTR] [-w WIDTH] [FILE]..." \ 1255 1256 #define od_full_usage "\n\n" \ 1257 "Print FILEs (or stdin) unambiguously, as octal bytes by default" \ 1258 1259 #endif \ 1260 1261 #if !ENABLE_DESKTOP \ 1262 1263 #define od_trivial_usage \ 1264 "[-aBbcDdeFfHhIiLlOovXx] [FILE]" \ 1265 1266 #define od_full_usage "\n\n" \ 1267 "Print FILE (or stdin) unambiguously, as octal bytes by default" \ 1268 1269 #endif \ 1270 1271 #define printenv_trivial_usage \ 1272 "[VARIABLE]..." \ 1273 1274 #define printenv_full_usage "\n\n" \ 1275 "Print environment VARIABLEs.\n" \ 1276 "If no VARIABLE specified, print all." \ 1277 1278 #define printf_trivial_usage \ 1279 "FORMAT [ARG]..." \ 1280 1281 #define printf_full_usage "\n\n" \ 1282 "Format and print ARG(s) according to FORMAT (a-la C printf)" \ 1283 1284 #define printf_example_usage \ 1285 "$ printf \"Val=%d\\n\" 5\n" \ 1286 "Val=5\n" \ 1287 1288 #define pwd_trivial_usage \ 1289 "" \ 1290 1291 #define pwd_full_usage "\n\n" \ 1292 "Print the full filename of the current working directory" \ 1293 1294 #define pwd_example_usage \ 1295 "$ pwd\n" \ 1296 "/root\n" \ 1297 1298 #define readlink_trivial_usage \ 1299 IF_FEATURE_READLINK_FOLLOW("[-fnv] ") "FILE" \ 1300 1301 #define readlink_full_usage "\n\n" \ 1302 "Display the value of a symlink" \ 1303 IF_FEATURE_READLINK_FOLLOW( "\n" \ 1304 "\n -f Canonicalize by following all symlinks" \ 1305 "\n -n Don't add newline" \ 1306 "\n -v Verbose" \ 1307 ) \ 1308 1309 #define realpath_trivial_usage \ 1310 "FILE..." \ 1311 1312 #define realpath_full_usage "\n\n" \ 1313 "Return the absolute pathnames of given FILE" \ 1314 1315 #define rm_trivial_usage \ 1316 "[-irf] FILE..." \ 1317 1318 #define rm_full_usage "\n\n" \ 1319 "Remove (unlink) FILEs\n" \ 1320 "\n -i Always prompt before removing" \ 1321 "\n -f Never prompt" \ 1322 "\n -R,-r Recurse" \ 1323 1324 #define rm_example_usage \ 1325 "$ rm -rf /tmp/foo\n" \ 1326 1327 #define rmdir_trivial_usage \ 1328 "[OPTIONS] DIRECTORY..." \ 1329 1330 #define rmdir_full_usage "\n\n" \ 1331 "Remove DIRECTORY if it is empty\n" \ 1332 IF_FEATURE_RMDIR_LONG_OPTIONS( \ 1333 "\n -p|--parents Include parents" \ 1334 "\n --ignore-fail-on-non-empty" \ 1335 ) \ 1336 IF_NOT_FEATURE_RMDIR_LONG_OPTIONS( \ 1337 "\n -p Include parents" \ 1338 ) \ 1339 1340 #define rmdir_example_usage \ 1341 "# rmdir /tmp/foo\n" \ 1342 1343 #define seq_trivial_usage \ 1344 "[-w] [-s SEP] [FIRST [INC]] LAST" \ 1345 1346 #define seq_full_usage "\n\n" \ 1347 "Print numbers from FIRST to LAST, in steps of INC.\n" \ 1348 "FIRST, INC default to 1.\n" \ 1349 "\n -w Pad to last with leading zeros" \ 1350 "\n -s SEP String separator" \ 1351 1352 #define sleep_trivial_usage \ 1353 IF_FEATURE_FANCY_SLEEP("[") "N" IF_FEATURE_FANCY_SLEEP("]...") \ 1354 1355 #define sleep_full_usage "\n\n" \ 1356 IF_NOT_FEATURE_FANCY_SLEEP("Pause for N seconds") \ 1357 IF_FEATURE_FANCY_SLEEP( \ 1358 "Pause for a time equal to the total of the args given, where each arg can\n" \ 1359 "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") \ 1360 1361 #define sleep_example_usage \ 1362 "$ sleep 2\n" \ 1363 "[2 second delay results]\n" \ 1364 IF_FEATURE_FANCY_SLEEP( \ 1365 "$ sleep 1d 3h 22m 8s\n" \ 1366 "[98528 second delay results]\n") \ 1367 1368 #define sort_trivial_usage \ 1369 "[-nru" \ 1370 IF_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ 1371 "] [FILE]..." \ 1372 1373 #define sort_full_usage "\n\n" \ 1374 "Sort lines of text\n" \ 1375 IF_FEATURE_SORT_BIG( \ 1376 "\n -b Ignore leading blanks" \ 1377 "\n -c Check whether input is sorted" \ 1378 "\n -d Dictionary order (blank or alphanumeric only)" \ 1379 "\n -f Ignore case" \ 1380 "\n -g General numerical sort" \ 1381 "\n -i Ignore unprintable characters" \ 1382 "\n -k Sort key" \ 1383 "\n -M Sort month" \ 1384 ) \ 1385 "\n -n Sort numbers" \ 1386 IF_FEATURE_SORT_BIG( \ 1387 "\n -o Output to file" \ 1388 "\n -k Sort by key" \ 1389 "\n -t CHAR Key separator" \ 1390 ) \ 1391 "\n -r Reverse sort order" \ 1392 IF_FEATURE_SORT_BIG( \ 1393 "\n -s Stable (don't sort ties alphabetically)" \ 1394 ) \ 1395 "\n -u Suppress duplicate lines" \ 1396 IF_FEATURE_SORT_BIG( \ 1397 "\n -z Lines are terminated by NUL, not newline" \ 1398 "\n -mST Ignored for GNU compatibility") \ 1399 1400 #define sort_example_usage \ 1401 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ 1402 "a\n" \ 1403 "b\n" \ 1404 "c\n" \ 1405 "d\n" \ 1406 "e\n" \ 1407 "f\n" \ 1408 IF_FEATURE_SORT_BIG( \ 1409 "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ 1410 "d 2\n" \ 1411 "b 2\n" \ 1412 "c 3\n" \ 1413 ) \ 1414 "" \ 1415 1416 #define split_trivial_usage \ 1417 "[OPTIONS] [INPUT [PREFIX]]" \ 1418 1419 #define split_full_usage "\n\n" \ 1420 " -b N[k|m] Split by N (kilo|mega)bytes" \ 1421 "\n -l N Split by N lines" \ 1422 "\n -a N Use N letters as suffix" \ 1423 1424 #define split_example_usage \ 1425 "$ split TODO foo\n" \ 1426 "$ cat TODO | split -a 2 -l 2 TODO_\n" \ 1427 1428 #define stat_trivial_usage \ 1429 "[OPTIONS] FILE..." \ 1430 1431 #define stat_full_usage "\n\n" \ 1432 "Display file (default) or filesystem status\n" \ 1433 IF_FEATURE_STAT_FORMAT( \ 1434 "\n -c fmt Use the specified format" \ 1435 ) \ 1436 "\n -f Display filesystem status" \ 1437 "\n -L Follow links" \ 1438 "\n -t Display info in terse form" \ 1439 IF_SELINUX( \ 1440 "\n -Z Print security context" \ 1441 ) \ 1442 IF_FEATURE_STAT_FORMAT( \ 1443 "\n\nValid format sequences for files:\n" \ 1444 " %a Access rights in octal\n" \ 1445 " %A Access rights in human readable form\n" \ 1446 " %b Number of blocks allocated (see %B)\n" \ 1447 " %B The size in bytes of each block reported by %b\n" \ 1448 " %d Device number in decimal\n" \ 1449 " %D Device number in hex\n" \ 1450 " %f Raw mode in hex\n" \ 1451 " %F File type\n" \ 1452 " %g Group ID of owner\n" \ 1453 " %G Group name of owner\n" \ 1454 " %h Number of hard links\n" \ 1455 " %i Inode number\n" \ 1456 " %n File name\n" \ 1457 " %N File name, with -> TARGET if symlink\n" \ 1458 " %o I/O block size\n" \ 1459 " %s Total size, in bytes\n" \ 1460 " %t Major device type in hex\n" \ 1461 " %T Minor device type in hex\n" \ 1462 " %u User ID of owner\n" \ 1463 " %U User name of owner\n" \ 1464 " %x Time of last access\n" \ 1465 " %X Time of last access as seconds since Epoch\n" \ 1466 " %y Time of last modification\n" \ 1467 " %Y Time of last modification as seconds since Epoch\n" \ 1468 " %z Time of last change\n" \ 1469 " %Z Time of last change as seconds since Epoch\n" \ 1470 "\nValid format sequences for file systems:\n" \ 1471 " %a Free blocks available to non-superuser\n" \ 1472 " %b Total data blocks in file system\n" \ 1473 " %c Total file nodes in file system\n" \ 1474 " %d Free file nodes in file system\n" \ 1475 " %f Free blocks in file system\n" \ 1476 IF_SELINUX( \ 1477 " %C Security context in selinux\n" \ 1478 ) \ 1479 " %i File System ID in hex\n" \ 1480 " %l Maximum length of filenames\n" \ 1481 " %n File name\n" \ 1482 " %s Block size (for faster transfer)\n" \ 1483 " %S Fundamental block size (for block counts)\n" \ 1484 " %t Type in hex\n" \ 1485 " %T Type in human readable form" \ 1486 ) \ 1487 1488 #define stty_trivial_usage \ 1489 "[-a|g] [-F DEVICE] [SETTING]..." \ 1490 1491 #define stty_full_usage "\n\n" \ 1492 "Without arguments, prints baud rate, line discipline,\n" \ 1493 "and deviations from stty sane\n" \ 1494 "\n -F DEVICE Open device instead of stdin" \ 1495 "\n -a Print all current settings in human-readable form" \ 1496 "\n -g Print in stty-readable form" \ 1497 "\n [SETTING] See manpage" \ 1498 1499 #define sum_trivial_usage \ 1500 "[-rs] [FILE]..." \ 1501 1502 #define sum_full_usage "\n\n" \ 1503 "Checksum and count the blocks in a file\n" \ 1504 "\n -r Use BSD sum algorithm (1K blocks)" \ 1505 "\n -s Use System V sum algorithm (512byte blocks)" \ 1506 1507 #define sync_trivial_usage \ 1508 "" \ 1509 1510 #define sync_full_usage "\n\n" \ 1511 "Write all buffered blocks to disk" \ 1512 1513 #define tac_trivial_usage \ 1514 "[FILE]..." \ 1515 1516 #define tac_full_usage "\n\n" \ 1517 "Concatenate FILEs and print them in reverse" \ 1518 1519 #define tail_trivial_usage \ 1520 "[OPTIONS] [FILE]..." \ 1521 1522 #define tail_full_usage "\n\n" \ 1523 "Print last 10 lines of each FILE (or stdin) to stdout.\n" \ 1524 "With more than one FILE, precede each with a filename header.\n" \ 1525 "\n -f Print data as file grows" \ 1526 IF_FEATURE_FANCY_TAIL( \ 1527 "\n -s SECONDS Wait SECONDS between reads with -f" \ 1528 ) \ 1529 "\n -n N[kbm] Print last N lines" \ 1530 IF_FEATURE_FANCY_TAIL( \ 1531 "\n -c N[kbm] Print last N bytes" \ 1532 "\n -q Never print headers" \ 1533 "\n -v Always print headers" \ 1534 "\n" \ 1535 "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ 1536 "\nIf N starts with a '+', output begins with the Nth item from the start" \ 1537 "\nof each file, not from the end." \ 1538 ) \ 1539 1540 #define tail_example_usage \ 1541 "$ tail -n 1 /etc/resolv.conf\n" \ 1542 "nameserver 10.0.0.1\n" \ 1543 1544 #define tee_trivial_usage \ 1545 "[-ai] [FILE]..." \ 1546 1547 #define tee_full_usage "\n\n" \ 1548 "Copy stdin to each FILE, and also to stdout\n" \ 1549 "\n -a Append to the given FILEs, don't overwrite" \ 1550 "\n -i Ignore interrupt signals (SIGINT)" \ 1551 1552 #define tee_example_usage \ 1553 "$ echo \"Hello\" | tee /tmp/foo\n" \ 1554 "$ cat /tmp/foo\n" \ 1555 "Hello\n" \ 1556 1557 #define test_trivial_usage \ 1558 "EXPRESSION ]" \ 1559 1560 #define test_full_usage "\n\n" \ 1561 "Check file types, compare values etc. Return a 0/1 exit code\n" \ 1562 "depending on logical value of EXPRESSION" \ 1563 1564 #define test_example_usage \ 1565 "$ test 1 -eq 2\n" \ 1566 "$ echo $?\n" \ 1567 "1\n" \ 1568 "$ test 1 -eq 1\n" \ 1569 "$ echo $?\n" \ 1570 "0\n" \ 1571 "$ [ -d /etc ]\n" \ 1572 "$ echo $?\n" \ 1573 "0\n" \ 1574 "$ [ -d /junk ]\n" \ 1575 "$ echo $?\n" \ 1576 "1\n" \ 1577 1578 #define touch_trivial_usage \ 1579 "[-c]" IF_FEATURE_TOUCH_SUSV3(" [-d DATE] [-t DATE] [-r FILE]") " FILE..." \ 1580 1581 #define touch_full_usage "\n\n" \ 1582 "Update the last-modified date on the given FILE[s]\n" \ 1583 "\n -c Don't create files" \ 1584 IF_FEATURE_TOUCH_SUSV3( \ 1585 "\n -d DT Date/time to use" \ 1586 "\n -t DT Date/time to use" \ 1587 "\n -r FILE Use FILE's date/time" \ 1588 ) \ 1589 1590 #define touch_example_usage \ 1591 "$ ls -l /tmp/foo\n" \ 1592 "/bin/ls: /tmp/foo: No such file or directory\n" \ 1593 "$ touch /tmp/foo\n" \ 1594 "$ ls -l /tmp/foo\n" \ 1595 "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n" \ 1596 1597 #define tr_trivial_usage \ 1598 "[-cds] STRING1 [STRING2]" \ 1599 1600 #define tr_full_usage "\n\n" \ 1601 "Translate, squeeze, or delete characters from stdin, writing to stdout\n" \ 1602 "\n -c Take complement of STRING1" \ 1603 "\n -d Delete input characters coded STRING1" \ 1604 "\n -s Squeeze multiple output characters of STRING2 into one character" \ 1605 1606 #define tr_example_usage \ 1607 "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \ 1608 "hello world\n" \ 1609 1610 #define true_trivial_usage \ 1611 "" \ 1612 1613 #define true_full_usage "\n\n" \ 1614 "Return an exit code of TRUE (0)" \ 1615 1616 #define true_example_usage \ 1617 "$ true\n" \ 1618 "$ echo $?\n" \ 1619 "0\n" \ 1620 1621 #define tty_trivial_usage \ 1622 "" \ 1623 1624 #define tty_full_usage "\n\n" \ 1625 "Print file name of stdin's terminal" \ 1626 IF_INCLUDE_SUSv2( "\n" \ 1627 "\n -s Print nothing, only return exit status" \ 1628 ) \ 1629 1630 #define tty_example_usage \ 1631 "$ tty\n" \ 1632 "/dev/tty2\n" \ 1633 1634 #define uname_trivial_usage \ 1635 "[-amnrspv]" \ 1636 1637 #define uname_full_usage "\n\n" \ 1638 "Print system information\n" \ 1639 "\n -a Print all" \ 1640 "\n -m The machine (hardware) type" \ 1641 "\n -n Hostname" \ 1642 "\n -r OS release" \ 1643 "\n -s OS name (default)" \ 1644 "\n -p Processor type" \ 1645 "\n -v OS version" \ 1646 1647 #define uname_example_usage \ 1648 "$ uname -a\n" \ 1649 "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n" \ 1650 1651 #define uniq_trivial_usage \ 1652 "[-cdu][-f,s,w N] [INPUT [OUTPUT]]" \ 1653 1654 #define uniq_full_usage "\n\n" \ 1655 "Discard duplicate lines\n" \ 1656 "\n -c Prefix lines by the number of occurrences" \ 1657 "\n -d Only print duplicate lines" \ 1658 "\n -u Only print unique lines" \ 1659 "\n -f N Skip first N fields" \ 1660 "\n -s N Skip first N chars (after any skipped fields)" \ 1661 "\n -w N Compare N characters in line" \ 1662 1663 #define uniq_example_usage \ 1664 "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \ 1665 "a\n" \ 1666 "b\n" \ 1667 "c\n" \ 1668 1669 #define usleep_trivial_usage \ 1670 "N" \ 1671 1672 #define usleep_full_usage "\n\n" \ 1673 "Pause for N microseconds" \ 1674 1675 #define usleep_example_usage \ 1676 "$ usleep 1000000\n" \ 1677 "[pauses for 1 second]\n" \ 1678 1679 #define uudecode_trivial_usage \ 1680 "[-o OUTFILE] [INFILE]" \ 1681 1682 #define uudecode_full_usage "\n\n" \ 1683 "Uudecode a file\n" \ 1684 "Finds OUTFILE in uuencoded source unless -o is given" \ 1685 1686 #define uudecode_example_usage \ 1687 "$ uudecode -o busybox busybox.uu\n" \ 1688 "$ ls -l busybox\n" \ 1689 "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n" \ 1690 143 1691 #define base64_trivial_usage \ 144 1692 "[-d] [FILE]" \ … … 146 1694 #define base64_full_usage "\n\n" \ 147 1695 "Base64 encode or decode FILE to standard output" \ 148 "\nOptions:" \149 1696 "\n -d Decode data" \ 1697 1698 #define uuencode_trivial_usage \ 1699 "[-m] [FILE] STORED_FILENAME" \ 1700 1701 #define uuencode_full_usage "\n\n" \ 1702 "Uuencode FILE (or stdin) to stdout\n" \ 1703 "\n -m Use base64 encoding per RFC1521" \ 1704 1705 #define uuencode_example_usage \ 1706 "$ uuencode busybox busybox\n" \ 1707 "begin 755 busybox\n" \ 1708 "<encoded file snipped>\n" \ 1709 "$ uudecode busybox busybox > busybox.uu\n" \ 1710 "$\n" \ 150 1711 151 1712 #define wc_trivial_usage \ … … 154 1715 #define wc_full_usage "\n\n" \ 155 1716 "Count lines, words, and bytes for each FILE (or stdin)\n" \ 156 "\nOptions:" \157 1717 "\n -c Count bytes" \ 158 1718 IF_UNICODE_SUPPORT( \ … … 167 1727 " 31 46 1365 /etc/passwd\n" \ 168 1728 1729 #define whoami_trivial_usage \ 1730 "" \ 1731 1732 #define whoami_full_usage "\n\n" \ 1733 "Print the user name associated with the current effective user id" \ 1734 1735 #define users_trivial_usage \ 1736 "" \ 1737 1738 #define users_full_usage "\n\n" \ 1739 "Print the users currently logged on" \ 1740 1741 #define who_trivial_usage \ 1742 "[-a]" \ 1743 1744 #define who_full_usage "\n\n" \ 1745 "Show who is logged on\n" \ 1746 "\n -a Show all" \ 1747 "\n -H Print column headers" \ 1748 169 1749 #define yes_trivial_usage \ 170 1750 "[STRING]" \ … … 173 1753 "Repeatedly output a line with STRING, or 'y'" \ 174 1754 1755 #define mktemp_trivial_usage \ 1756 "[-dt] [-p DIR] [TEMPLATE]" \ 1757 1758 #define mktemp_full_usage "\n\n" \ 1759 "Create a temporary file with name based on TEMPLATE and print its name.\n" \ 1760 "TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).\n" \ 1761 "Without TEMPLATE, -t tmp.XXXXXX is assumed.\n" \ 1762 "\n -d Make directory, not file" \ 1763 "\n -q Fail silently on errors" \ 1764 "\n -t Prepend base directory name to TEMPLATE" \ 1765 "\n -p DIR Use DIR as a base directory (implies -t)" \ 1766 "\n -u Do not create anything; print a name" \ 1767 "\n" \ 1768 "\nBase directory is: -p DIR, else $TMPDIR, else /tmp" \ 1769 1770 #define mktemp_example_usage \ 1771 "$ mktemp /tmp/temp.XXXXXX\n" \ 1772 "/tmp/temp.mWiLjM\n" \ 1773 "$ ls -la /tmp/temp.mWiLjM\n" \ 1774 "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n" \ 1775 1776 #define pipe_progress_trivial_usage NOUSAGE_STR \ 1777 1778 #define pipe_progress_full_usage "" \ 1779 1780 #define run_parts_trivial_usage \ 1781 "[-t"IF_FEATURE_RUN_PARTS_FANCY("l")"] [-a ARG]... [-u MASK] DIRECTORY" \ 1782 1783 #define run_parts_full_usage "\n\n" \ 1784 "Run a bunch of scripts in DIRECTORY\n" \ 1785 "\n -t Dry run" \ 1786 IF_FEATURE_RUN_PARTS_FANCY( \ 1787 "\n -l Print names of matching files even if they are not executable" \ 1788 ) \ 1789 "\n -a ARG Pass ARG as argument to programs" \ 1790 "\n -u MASK Set umask to MASK before running programs" \ 1791 1792 #define run_parts_example_usage \ 1793 "$ run-parts -a start /etc/init.d\n" \ 1794 "$ run-parts -a stop=now /etc/init.d\n\n" \ 1795 "Let's assume you have a script foo/dosomething:\n" \ 1796 "#!/bin/sh\n" \ 1797 "for i in $*; do eval $i; done; unset i\n" \ 1798 "case \"$1\" in\n" \ 1799 "start*) echo starting something;;\n" \ 1800 "stop*) set -x; shutdown -h $stop;;\n" \ 1801 "esac\n\n" \ 1802 "Running this yields:\n" \ 1803 "$run-parts -a stop=+4m foo/\n" \ 1804 "+ shutdown -h +4m" \ 1805 1806 #define start_stop_daemon_trivial_usage \ 1807 "[OPTIONS] [-S|-K] ... [-- ARGS...]" \ 1808 1809 #define start_stop_daemon_full_usage "\n\n" \ 1810 "Search for matching processes, and then\n" \ 1811 "-K: stop all matching processes.\n" \ 1812 "-S: start a process unless a matching process is found.\n" \ 1813 IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ 1814 "\nProcess matching:" \ 1815 "\n -u,--user USERNAME|UID Match only this user's processes" \ 1816 "\n -n,--name NAME Match processes with NAME" \ 1817 "\n in comm field in /proc/PID/stat" \ 1818 "\n -x,--exec EXECUTABLE Match processes with this command" \ 1819 "\n in /proc/PID/{exe,cmdline}" \ 1820 "\n -p,--pidfile FILE Match a process with PID from the file" \ 1821 "\n All specified conditions must match" \ 1822 "\n-S only:" \ 1823 "\n -x,--exec EXECUTABLE Program to run" \ 1824 "\n -a,--startas NAME Zeroth argument" \ 1825 "\n -b,--background Background" \ 1826 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 1827 "\n -N,--nicelevel N Change nice level" \ 1828 ) \ 1829 "\n -c,--chuid USER[:[GRP]] Change to user/group" \ 1830 "\n -m,--make-pidfile Write PID to the pidfile specified by -p" \ 1831 "\n-K only:" \ 1832 "\n -s,--signal SIG Signal to send" \ 1833 "\n -t,--test Match only, exit with 0 if a process is found" \ 1834 "\nOther:" \ 1835 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 1836 "\n -o,--oknodo Exit with status 0 if nothing is done" \ 1837 "\n -v,--verbose Verbose" \ 1838 ) \ 1839 "\n -q,--quiet Quiet" \ 1840 ) \ 1841 IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ 1842 "\nProcess matching:" \ 1843 "\n -u USERNAME|UID Match only this user's processes" \ 1844 "\n -n NAME Match processes with NAME" \ 1845 "\n in comm field in /proc/PID/stat" \ 1846 "\n -x EXECUTABLE Match processes with this command" \ 1847 "\n command in /proc/PID/cmdline" \ 1848 "\n -p FILE Match a process with PID from the file" \ 1849 "\n All specified conditions must match" \ 1850 "\n-S only:" \ 1851 "\n -x EXECUTABLE Program to run" \ 1852 "\n -a NAME Zeroth argument" \ 1853 "\n -b Background" \ 1854 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 1855 "\n -N N Change nice level" \ 1856 ) \ 1857 "\n -c USER[:[GRP]] Change to user/group" \ 1858 "\n -m Write PID to the pidfile specified by -p" \ 1859 "\n-K only:" \ 1860 "\n -s SIG Signal to send" \ 1861 "\n -t Match only, exit with 0 if a process is found" \ 1862 "\nOther:" \ 1863 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 1864 "\n -o Exit with status 0 if nothing is done" \ 1865 "\n -v Verbose" \ 1866 ) \ 1867 "\n -q Quiet" \ 1868 ) \ 1869 1870 #define which_trivial_usage \ 1871 "[COMMAND]..." \ 1872 1873 #define which_full_usage "\n\n" \ 1874 "Locate a COMMAND" \ 1875 1876 #define which_example_usage \ 1877 "$ which login\n" \ 1878 "/bin/login\n" \ 1879 1880 #define chattr_trivial_usage \ 1881 "[-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]..." \ 1882 1883 #define chattr_full_usage "\n\n" \ 1884 "Change file attributes on an ext2 fs\n" \ 1885 "\nModifiers:" \ 1886 "\n - Remove attributes" \ 1887 "\n + Add attributes" \ 1888 "\n = Set attributes" \ 1889 "\nAttributes:" \ 1890 "\n A Don't track atime" \ 1891 "\n a Append mode only" \ 1892 "\n c Enable compress" \ 1893 "\n D Write dir contents synchronously" \ 1894 "\n d Don't backup with dump" \ 1895 "\n i Cannot be modified (immutable)" \ 1896 "\n j Write all data to journal first" \ 1897 "\n s Zero disk storage when deleted" \ 1898 "\n S Write file contents synchronously" \ 1899 "\n t Disable tail-merging of partial blocks with other files" \ 1900 "\n u Allow file to be undeleted" \ 1901 "\n -R Recurse" \ 1902 "\n -v Set the file's version/generation number" \ 1903 1904 #define fsck_trivial_usage \ 1905 "[-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]..." \ 1906 1907 #define fsck_full_usage "\n\n" \ 1908 "Check and repair filesystems\n" \ 1909 "\n -A Walk /etc/fstab and check all filesystems" \ 1910 "\n -N Don't execute, just show what would be done" \ 1911 "\n -P With -A, check filesystems in parallel" \ 1912 "\n -R With -A, skip the root filesystem" \ 1913 "\n -T Don't show title on startup" \ 1914 "\n -V Verbose" \ 1915 "\n -C n Write status information to specified filedescriptor" \ 1916 "\n -t TYPE List of filesystem types to check" \ 1917 1918 #define lsattr_trivial_usage \ 1919 "[-Radlv] [FILE]..." \ 1920 1921 #define lsattr_full_usage "\n\n" \ 1922 "List file attributes on an ext2 fs\n" \ 1923 "\n -R Recurse" \ 1924 "\n -a Don't hide entries starting with ." \ 1925 "\n -d List directory entries instead of contents" \ 1926 "\n -l List long flag names" \ 1927 "\n -v List the file's version/generation number" \ 1928 175 1929 #define tune2fs_trivial_usage \ 176 "[-c M OUNT_CNT] " \1930 "[-c MAX_MOUNT_COUNT] " \ 177 1931 "[-i DAYS] " \ 1932 "[-C MOUNT_COUNT] " \ 178 1933 "[-L LABEL] " \ 179 1934 "BLOCKDEV" \ … … 181 1936 #define tune2fs_full_usage "\n\n" \ 182 1937 "Adjust filesystem options on ext[23] filesystems" \ 1938 1939 #define awk_trivial_usage \ 1940 "[OPTIONS] [AWK_PROGRAM] [FILE]..." \ 1941 1942 #define awk_full_usage "\n\n" \ 1943 " -v VAR=VAL Set variable" \ 1944 "\n -F SEP Use SEP as field separator" \ 1945 "\n -f FILE Read program from FILE" \ 1946 1947 #define cmp_trivial_usage \ 1948 "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]]") "]" \ 1949 1950 #define cmp_full_usage "\n\n" \ 1951 "Compare FILE1 with FILE2 (or stdin)\n" \ 1952 "\n -l Write the byte numbers (decimal) and values (octal)" \ 1953 "\n for all differing bytes" \ 1954 "\n -s Quiet" \ 1955 1956 #define diff_trivial_usage \ 1957 "[-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" \ 1958 1959 #define diff_full_usage "\n\n" \ 1960 "Compare files line by line and output the differences between them.\n" \ 1961 "This implementation supports unified diffs only.\n" \ 1962 "\n -a Treat all files as text" \ 1963 "\n -b Ignore changes in the amount of whitespace" \ 1964 "\n -B Ignore changes whose lines are all blank" \ 1965 "\n -d Try hard to find a smaller set of changes" \ 1966 "\n -i Ignore case differences" \ 1967 "\n -L Use LABEL instead of the filename in the unified header" \ 1968 "\n -N Treat absent files as empty" \ 1969 "\n -q Output only whether files differ" \ 1970 "\n -r Recurse" \ 1971 "\n -S Start with FILE when comparing directories" \ 1972 "\n -T Make tabs line up by prefixing a tab when necessary" \ 1973 "\n -s Report when two files are the same" \ 1974 "\n -t Expand tabs to spaces in output" \ 1975 "\n -U Output LINES lines of context" \ 1976 "\n -w Ignore all whitespace" \ 1977 1978 #define ed_trivial_usage "" \ 1979 1980 #define ed_full_usage "" \ 183 1981 184 1982 #define patch_trivial_usage \ … … 191 1989 "\n -R,--reverse Reverse patch" \ 192 1990 "\n -N,--forward Ignore already applied patches" \ 193 "\n --dry-run Don't actually change files" \194 1991 "\n -E,--remove-empty-files Remove output files if they become empty" \ 195 1992 ) \ … … 206 2003 "$ patch -p0 -i example.diff" \ 207 2004 2005 #define sed_trivial_usage \ 2006 "[-inr] [-f FILE]... [-e CMD]... [FILE]...\n" \ 2007 "or: sed [-inr] CMD [FILE]..." \ 2008 2009 #define sed_full_usage "\n\n" \ 2010 " -e CMD Add CMD to sed commands to be executed" \ 2011 "\n -f FILE Add FILE contents to sed commands to be executed" \ 2012 "\n -i[SFX] Edit files in-place (otherwise sends to stdout)" \ 2013 "\n Optionally back files up, appending SFX" \ 2014 "\n -n Suppress automatic printing of pattern space" \ 2015 "\n -r Use extended regex syntax" \ 2016 "\n" \ 2017 "\nIf no -e or -f, the first non-option argument is the sed command string." \ 2018 "\nRemaining arguments are input files (stdin if none)." \ 2019 2020 #define sed_example_usage \ 2021 "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ 2022 "bar\n" \ 2023 2024 #define vi_trivial_usage \ 2025 "[OPTIONS] [FILE]..." \ 2026 2027 #define vi_full_usage "\n\n" \ 2028 "Edit FILE\n" \ 2029 IF_FEATURE_VI_COLON( \ 2030 "\n -c CMD Initial command to run ($EXINIT also available)" \ 2031 ) \ 2032 IF_FEATURE_VI_READONLY( \ 2033 "\n -R Read-only" \ 2034 ) \ 2035 "\n -H List available features" \ 2036 208 2037 #define find_trivial_usage \ 209 "[PATH]... [ EXPRESSION]" \2038 "[PATH]... [OPTIONS] [ACTIONS]" \ 210 2039 211 2040 #define find_full_usage "\n\n" \ 212 "Search for files . The default PATH is the current directory,\n" \213 " default EXPRESSION is '-print'\n" \214 "\nEXPRESSION may consist of:" \2041 "Search for files and perform actions on them.\n" \ 2042 "First failed action stops processing of current file.\n" \ 2043 "Defaults: PATH is current directory, action is '-print'\n" \ 215 2044 "\n -follow Follow symlinks" \ 216 2045 IF_FEATURE_FIND_XDEV( \ … … 219 2048 IF_FEATURE_FIND_MAXDEPTH( \ 220 2049 "\n -maxdepth N Descend at most N levels. -maxdepth 0 applies" \ 221 "\n tests/actions to command line arguments only" \ 222 ) \ 2050 "\n actions to command line arguments only" \ 223 2051 "\n -mindepth N Don't act on first N levels" \ 224 "\n -name PATTERN File name (w/o directory name) matches PATTERN" \ 2052 ) \ 2053 IF_FEATURE_FIND_DEPTH( \ 2054 "\n -depth Act on directory *after* traversing it" \ 2055 ) \ 2056 "\n" \ 2057 "\nActions:" \ 2058 IF_FEATURE_FIND_PAREN( \ 2059 "\n ( ACTIONS ) Group actions for -o / -a" \ 2060 ) \ 2061 IF_FEATURE_FIND_NOT( \ 2062 "\n ! ACT Invert ACT's success/failure" \ 2063 ) \ 2064 "\n ACT1 [-a] ACT2 If ACT1 fails, stop, else do ACT2" \ 2065 "\n ACT1 -o ACT2 If ACT1 succeeds, stop, else do ACT2" \ 2066 "\n Note: -a has higher priority than -o" \ 2067 "\n -name PATTERN Match file name (w/o directory name) to PATTERN" \ 225 2068 "\n -iname PATTERN Case insensitive -name" \ 226 2069 IF_FEATURE_FIND_PATH( \ 227 "\n -path PATTERN Path matches PATTERN" \ 2070 "\n -path PATTERN Match path to PATTERN" \ 2071 "\n -ipath PATTERN Case insensitive -path" \ 228 2072 ) \ 229 2073 IF_FEATURE_FIND_REGEX( \ 230 "\n -regex PATTERN Path matchesregex PATTERN" \2074 "\n -regex PATTERN Match path to regex PATTERN" \ 231 2075 ) \ 232 2076 IF_FEATURE_FIND_TYPE( \ 233 "\n -type X File type is X ( X isone of: f,d,l,b,c,...)" \2077 "\n -type X File type is X (one of: f,d,l,b,c,...)" \ 234 2078 ) \ 235 2079 IF_FEATURE_FIND_PERM( \ 236 "\n -perm NNN Permissions match any of (+NNN), all of (-NNN)," \237 "\n or exactly NNN" \2080 "\n -perm MASK At least one mask bit (+MASK), all bits (-MASK)," \ 2081 "\n or exactly MASK bits are set in file's mode" \ 238 2082 ) \ 239 2083 IF_FEATURE_FIND_MTIME( \ 240 "\n -mtime DAYS Modifiedtime is greater than (+N), less than (-N)," \241 "\n or exactly N days " \2084 "\n -mtime DAYS mtime is greater than (+N), less than (-N)," \ 2085 "\n or exactly N days in the past" \ 242 2086 ) \ 243 2087 IF_FEATURE_FIND_MMIN( \ 244 "\n -mmin MINS Modifiedtime is greater than (+N), less than (-N)," \245 "\n or exactly N minutes " \2088 "\n -mmin MINS mtime is greater than (+N), less than (-N)," \ 2089 "\n or exactly N minutes in the past" \ 246 2090 ) \ 247 2091 IF_FEATURE_FIND_NEWER( \ 248 "\n -newer FILE Modifiedtime is more recent than FILE's" \2092 "\n -newer FILE mtime is more recent than FILE's" \ 249 2093 ) \ 250 2094 IF_FEATURE_FIND_INUM( \ … … 252 2096 ) \ 253 2097 IF_FEATURE_FIND_USER( \ 254 "\n -user NAME File is owned by user NAME (numeric user ID allowed)" \2098 "\n -user NAME/ID File is owned by given user" \ 255 2099 ) \ 256 2100 IF_FEATURE_FIND_GROUP( \ 257 "\n -group NAME File belongs to group NAME (numeric group ID allowed)" \ 258 ) \ 259 IF_FEATURE_FIND_DEPTH( \ 260 "\n -depth Process directory name after traversing it" \ 2101 "\n -group NAME/ID File is owned by given group" \ 261 2102 ) \ 262 2103 IF_FEATURE_FIND_SIZE( \ … … 268 2109 "\n or exactly N" \ 269 2110 ) \ 270 "\n -print Print (default and assumed)" \ 2111 IF_FEATURE_FIND_CONTEXT( \ 2112 "\n -context CTX File has specified security context" \ 2113 ) \ 2114 IF_FEATURE_FIND_PRUNE( \ 2115 "\n -prune If current file is directory, don't descend into it" \ 2116 ) \ 2117 "\nIf none of the following actions is specified, -print is assumed" \ 2118 "\n -print Print file name" \ 271 2119 IF_FEATURE_FIND_PRINT0( \ 272 "\n -print0 Delimit output with null characters rather than" \ 273 "\n newlines" \ 274 ) \ 275 IF_FEATURE_FIND_CONTEXT( \ 276 "\n -context File has specified security context" \ 2120 "\n -print0 Print file name, NUL terminated" \ 277 2121 ) \ 278 2122 IF_FEATURE_FIND_EXEC( \ 279 "\n -exec CMD ARG ; Run CMD with all instances of {} replaced by the" \ 280 "\n matching files" \ 281 ) \ 282 IF_FEATURE_FIND_PRUNE( \ 283 "\n -prune Stop traversing current subtree" \ 2123 "\n -exec CMD ARG ; Run CMD with all instances of {} replaced by" \ 2124 "\n file name. Fails if CMD exits with nonzero" \ 284 2125 ) \ 285 2126 IF_FEATURE_FIND_DELETE( \ 286 "\n -delete Delete files, turns on -depth option" \ 287 ) \ 288 IF_FEATURE_FIND_PAREN( \ 289 "\n (EXPR) Group an expression" \ 2127 "\n -delete Delete current file/directory. Turns on -depth option" \ 290 2128 ) \ 291 2129 … … 305 2143 #define grep_full_usage "\n\n" \ 306 2144 "Search for PATTERN in FILEs (or stdin)\n" \ 307 "\nOptions:" \308 2145 "\n -H Add 'filename:' prefix" \ 309 2146 "\n -h Do not add 'filename:' prefix" \ … … 319 2156 "\n -i Ignore case" \ 320 2157 "\n -w Match whole words only" \ 2158 "\n -x Match whole lines only" \ 321 2159 "\n -F PATTERN is a literal (not regexp)" \ 322 2160 IF_FEATURE_GREP_EGREP_ALIAS( \ … … 354 2192 #define xargs_full_usage "\n\n" \ 355 2193 "Run PROG on every item given by stdin\n" \ 356 "\nOptions:" \357 2194 IF_FEATURE_XARGS_SUPPORT_CONFIRMATION( \ 358 2195 "\n -p Ask user whether to run each command" \ … … 379 2216 #define bootchartd_full_usage "\n\n" \ 380 2217 "Create /var/log/bootchart.tgz with boot chart data\n" \ 381 "\nOptions:" \382 2218 "\nstart: start background logging; with PROG, run PROG, then kill logging with USR1" \ 383 2219 "\nstop: send USR1 to all bootchartd processes" \ … … 390 2226 #define halt_full_usage "\n\n" \ 391 2227 "Halt the system\n" \ 392 "\nOptions:" \393 2228 "\n -d SEC Delay interval" \ 394 2229 "\n -n Do not sync" \ … … 403 2238 #define poweroff_full_usage "\n\n" \ 404 2239 "Halt and shut off power\n" \ 405 "\nOptions:" \406 2240 "\n -d SEC Delay interval" \ 407 2241 "\n -n Do not sync" \ … … 413 2247 #define reboot_full_usage "\n\n" \ 414 2248 "Reboot the system\n" \ 415 "\nOptions:" \416 2249 "\n -d SEC Delay interval" \ 417 2250 "\n -n Do not sync" \ … … 563 2396 " n Disallow write access to your terminal" \ 564 2397 2398 #define parse_trivial_usage \ 2399 "[-x] [-n MAXTOKENS] [-m MINTOKENS] [-d DELIMS] [-f FLAGS] FILE..." \ 2400 2401 #define parse_full_usage "\n\n" \ 2402 " -x Suppress output (for benchmarking)" \ 2403 2404 #define addgroup_trivial_usage \ 2405 "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[USER] ") "GROUP" \ 2406 2407 #define addgroup_full_usage "\n\n" \ 2408 "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \ 2409 "\n -g GID Group id" \ 2410 "\n -S Create a system group" \ 2411 565 2412 #define add_shell_trivial_usage \ 566 2413 "SHELL..." \ … … 575 2422 "Remove SHELLs from /etc/shells" \ 576 2423 2424 #define adduser_trivial_usage \ 2425 "[OPTIONS] USER [GROUP]" \ 2426 2427 #define adduser_full_usage "\n\n" \ 2428 "Create new user, or add USER to GROUP\n" \ 2429 "\n -h DIR Home directory" \ 2430 "\n -g GECOS GECOS field" \ 2431 "\n -s SHELL Login shell" \ 2432 "\n -G GRP Add user to existing group" \ 2433 "\n -S Create a system user" \ 2434 "\n -D Don't assign a password" \ 2435 "\n -H Don't create home directory" \ 2436 "\n -u UID User id" \ 2437 2438 #define chpasswd_trivial_usage \ 2439 IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]") \ 2440 2441 #define chpasswd_full_usage "\n\n" \ 2442 "Read user:password from stdin and update /etc/passwd\n" \ 2443 IF_LONG_OPTS( \ 2444 "\n -e,--encrypted Supplied passwords are in encrypted form" \ 2445 "\n -m,--md5 Use MD5 encryption instead of DES" \ 2446 ) \ 2447 IF_NOT_LONG_OPTS( \ 2448 "\n -e Supplied passwords are in encrypted form" \ 2449 "\n -m Use MD5 encryption instead of DES" \ 2450 ) \ 2451 2452 #define cryptpw_trivial_usage \ 2453 "[OPTIONS] [PASSWORD] [SALT]" \ 2454 2455 #define cryptpw_full_usage "\n\n" \ 2456 "Crypt PASSWORD using crypt(3)\n" \ 2457 IF_LONG_OPTS( \ 2458 "\n -P,--password-fd=N Read password from fd N" \ 2459 "\n -m,--method=TYPE Encryption method" \ 2460 "\n -S,--salt=SALT" \ 2461 ) \ 2462 IF_NOT_LONG_OPTS( \ 2463 "\n -P N Read password from fd N" \ 2464 "\n -m TYPE Encryption method TYPE" \ 2465 "\n -S SALT" \ 2466 ) \ 2467 2468 #define mkpasswd_trivial_usage \ 2469 "[OPTIONS] [PASSWORD] [SALT]" \ 2470 2471 #define mkpasswd_full_usage "\n\n" \ 2472 "Crypt PASSWORD using crypt(3)\n" \ 2473 IF_LONG_OPTS( \ 2474 "\n -P,--password-fd=N Read password from fd N" \ 2475 "\n -m,--method=TYPE Encryption method" \ 2476 "\n -S,--salt=SALT" \ 2477 ) \ 2478 IF_NOT_LONG_OPTS( \ 2479 "\n -P N Read password from fd N" \ 2480 "\n -m TYPE Encryption method TYPE" \ 2481 "\n -S SALT" \ 2482 ) \ 2483 2484 #define deluser_trivial_usage \ 2485 "USER" \ 2486 2487 #define deluser_full_usage "\n\n" \ 2488 "Delete USER from the system" \ 2489 2490 #define delgroup_trivial_usage \ 2491 IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" \ 2492 2493 #define delgroup_full_usage "\n\n" \ 2494 "Delete group GROUP from the system" \ 2495 IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") \ 2496 2497 #define getty_trivial_usage \ 2498 "[OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]" \ 2499 2500 #define getty_full_usage "\n\n" \ 2501 "Open TTY, prompt for login name, then invoke /bin/login\n" \ 2502 "\n -h Enable hardware RTS/CTS flow control" \ 2503 "\n -L Set CLOCAL (ignore Carrier Detect state)" \ 2504 "\n -m Get baud rate from modem's CONNECT status message" \ 2505 "\n -n Don't prompt for login name" \ 2506 "\n -w Wait for CR or LF before sending /etc/issue" \ 2507 "\n -i Don't display /etc/issue" \ 2508 "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ 2509 "\n -l LOGIN Invoke LOGIN instead of /bin/login" \ 2510 "\n -t SEC Terminate after SEC if no login name is read" \ 2511 "\n -I INITSTR Send INITSTR before anything else" \ 2512 "\n -H HOST Log HOST into the utmp file as the hostname" \ 2513 "\n" \ 2514 "\nBAUD_RATE of 0 leaves it unchanged" \ 2515 2516 #define login_trivial_usage \ 2517 "[-p] [-h HOST] [[-f] USER]" \ 2518 2519 #define login_full_usage "\n\n" \ 2520 "Begin a new session on the system\n" \ 2521 "\n -f Don't authenticate (user already authenticated)" \ 2522 "\n -h Name of the remote host" \ 2523 "\n -p Preserve environment" \ 2524 2525 #define passwd_trivial_usage \ 2526 "[OPTIONS] [USER]" \ 2527 2528 #define passwd_full_usage "\n\n" \ 2529 "Change USER's password (default: current user)" \ 2530 "\n" \ 2531 "\n -a ALG Encryption method" \ 2532 "\n -d Set password to ''" \ 2533 "\n -l Lock (disable) account" \ 2534 "\n -u Unlock (enable) account" \ 2535 2536 #define su_trivial_usage \ 2537 "[OPTIONS] [-] [USER]" \ 2538 2539 #define su_full_usage "\n\n" \ 2540 "Run shell under USER (by default, root)\n" \ 2541 "\n -,-l Clear environment, run shell as login shell" \ 2542 "\n -p,-m Do not set new $HOME, $SHELL, $USER, $LOGNAME" \ 2543 "\n -c CMD Command to pass to 'sh -c'" \ 2544 "\n -s SH Shell to use instead of user's default" \ 2545 2546 #define sulogin_trivial_usage \ 2547 "[-t N] [TTY]" \ 2548 2549 #define sulogin_full_usage "\n\n" \ 2550 "Single user login\n" \ 2551 "\n -t N Timeout" \ 2552 2553 #define vlock_trivial_usage \ 2554 "[-a]" \ 2555 2556 #define vlock_full_usage "\n\n" \ 2557 "Lock a virtual terminal. A password is required to unlock.\n" \ 2558 "\n -a Lock all VTs" \ 2559 2560 #define popmaildir_trivial_usage \ 2561 "[OPTIONS] MAILDIR [CONN_HELPER ARGS]" \ 2562 2563 #define popmaildir_full_usage "\n\n" \ 2564 "Fetch content of remote mailbox to local maildir\n" \ 2565 "\n -s Skip authorization" \ 2566 "\n -T Get messages with TOP instead of RETR" \ 2567 "\n -k Keep retrieved messages on the server" \ 2568 "\n -t SEC Network timeout" \ 2569 IF_FEATURE_POPMAILDIR_DELIVERY( \ 2570 "\n -F \"PROG ARGS\" Filter program (may be repeated)" \ 2571 "\n -M \"PROG ARGS\" Delivery program" \ 2572 ) \ 2573 "\n" \ 2574 "\nFetch from plain POP3 server:" \ 2575 "\npopmaildir -k DIR nc pop3.server.com 110 <user_and_pass.txt" \ 2576 "\nFetch from SSLed POP3 server and delete fetched emails:" \ 2577 "\npopmaildir DIR -- openssl s_client -quiet -connect pop3.server.com:995 <user_and_pass.txt" \ 2578 2579 #define popmaildir_example_usage \ 2580 "$ popmaildir -k ~/Maildir -- nc pop.drvv.ru 110 [<password_file]\n" \ 2581 "$ popmaildir ~/Maildir -- openssl s_client -quiet -connect pop.gmail.com:995 [<password_file]\n" \ 2582 2583 #define sendmail_trivial_usage \ 2584 "[OPTIONS] [RECIPIENT_EMAIL]..." \ 2585 2586 #define sendmail_full_usage "\n\n" \ 2587 "Read email from stdin and send it\n" \ 2588 "\nStandard options:" \ 2589 "\n -t Read additional recipients from message body" \ 2590 "\n -f SENDER Sender (required)" \ 2591 "\n -o OPTIONS Various options. -oi implied, others are ignored" \ 2592 "\n -i -oi synonym. implied and ignored" \ 2593 "\n" \ 2594 "\nBusybox specific options:" \ 2595 "\n -v Verbose" \ 2596 "\n -w SECS Network timeout" \ 2597 "\n -H 'PROG ARGS' Run connection helper" \ 2598 "\n Examples:" \ 2599 "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \ 2600 "\n -connect smtp.gmail.com:25' <email.txt" \ 2601 "\n [4<username_and_passwd.txt | -auUSER -apPASS]" \ 2602 "\n -H 'exec openssl s_client -quiet -tls1" \ 2603 "\n -connect smtp.gmail.com:465' <email.txt" \ 2604 "\n [4<username_and_passwd.txt | -auUSER -apPASS]" \ 2605 "\n -S HOST[:PORT] Server" \ 2606 "\n -auUSER Username for AUTH LOGIN" \ 2607 "\n -apPASS Password for AUTH LOGIN" \ 2608 "\n" \ 2609 "\nOther options are silently ignored; -oi -t is implied" \ 2610 IF_MAKEMIME( \ 2611 "\nUse makemime to create emails with attachments" \ 2612 ) \ 2613 2614 #define adjtimex_trivial_usage \ 2615 "[-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]" \ 2616 2617 #define adjtimex_full_usage "\n\n" \ 2618 "Read and optionally set system timebase parameters. See adjtimex(2)\n" \ 2619 "\n -q Quiet" \ 2620 "\n -o OFF Time offset, microseconds" \ 2621 "\n -f FREQ Frequency adjust, integer kernel units (65536 is 1ppm)" \ 2622 "\n (positive values make clock run faster)" \ 2623 "\n -t TICK Microseconds per tick, usually 10000" \ 2624 "\n -p TCONST" \ 2625 2626 #define bbconfig_trivial_usage \ 2627 "" \ 2628 2629 #define bbconfig_full_usage "\n\n" \ 2630 "Print the config file used by busybox build" \ 2631 2632 #define beep_trivial_usage \ 2633 "-f FREQ -l LEN -d DELAY -r COUNT -n" \ 2634 2635 #define beep_full_usage "\n\n" \ 2636 " -f Frequency in Hz" \ 2637 "\n -l Length in ms" \ 2638 "\n -d Delay in ms" \ 2639 "\n -r Repetitions" \ 2640 "\n -n Start new tone" \ 2641 2642 #define chat_trivial_usage \ 2643 "EXPECT [SEND [EXPECT [SEND...]]]" \ 2644 2645 #define chat_full_usage "\n\n" \ 2646 "Useful for interacting with a modem connected to stdin/stdout.\n" \ 2647 "A script consists of one or more \"expect-send\" pairs of strings,\n" \ 2648 "each pair is a pair of arguments. Example:\n" \ 2649 "chat '' ATZ OK ATD123456 CONNECT '' ogin: pppuser word: ppppass '~'" \ 2650 2651 #define chrt_trivial_usage \ 2652 "[-prfom] [PRIO] [PID | PROG ARGS]" \ 2653 2654 #define chrt_full_usage "\n\n" \ 2655 "Change scheduling priority and class for a process\n" \ 2656 "\n -p Operate on PID" \ 2657 "\n -r Set SCHED_RR class" \ 2658 "\n -f Set SCHED_FIFO class" \ 2659 "\n -o Set SCHED_OTHER class" \ 2660 "\n -m Show min/max priorities" \ 2661 2662 #define chrt_example_usage \ 2663 "$ chrt -r 4 sleep 900; x=$!\n" \ 2664 "$ chrt -f -p 3 $x\n" \ 2665 "You need CAP_SYS_NICE privileges to set scheduling attributes of a process" \ 2666 577 2667 #define conspy_trivial_usage \ 578 "[-vcsndf ] [-x COL] [-y LINE] [CONSOLE_NO]" \2668 "[-vcsndfFQ] [-x COL] [-y LINE] [CONSOLE_NO]" \ 579 2669 580 2670 #define conspy_full_usage "\n\n" \ … … 582 2672 "\nTo exit, quickly press ESC 3 times." \ 583 2673 "\n" \ 584 "\nOptions:" \585 2674 "\n -v Don't send keystrokes to the console" \ 586 "\n -c Create missing devices in /dev" \2675 "\n -c Create missing /dev/{tty,vcsa}N" \ 587 2676 "\n -s Open a SHELL session" \ 588 2677 "\n -n Black & white" \ 589 2678 "\n -d Dump console to stdout" \ 590 2679 "\n -f Follow cursor" \ 2680 "\n -F Assume console is on a framebuffer device" \ 2681 "\n -Q Disable exit on ESC-ESC-ESC" \ 591 2682 "\n -x COL Starting column" \ 592 2683 "\n -y LINE Starting line" \ 593 2684 2685 #define crond_trivial_usage \ 2686 "-fbS -l N " IF_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" \ 2687 2688 #define crond_full_usage "\n\n" \ 2689 " -f Foreground" \ 2690 "\n -b Background (default)" \ 2691 "\n -S Log to syslog (default)" \ 2692 "\n -l Set log level. 0 is the most verbose, default 8" \ 2693 IF_FEATURE_CROND_D( \ 2694 "\n -d Set log level, log to stderr" \ 2695 ) \ 2696 "\n -L Log to file" \ 2697 "\n -c Working dir" \ 2698 2699 #define crontab_trivial_usage \ 2700 "[-c DIR] [-u USER] [-ler]|[FILE]" \ 2701 2702 #define crontab_full_usage "\n\n" \ 2703 " -c Crontab directory" \ 2704 "\n -u User" \ 2705 "\n -l List crontab" \ 2706 "\n -e Edit crontab" \ 2707 "\n -r Delete crontab" \ 2708 "\n FILE Replace crontab by FILE ('-': stdin)" \ 2709 594 2710 #define dc_trivial_usage \ 595 2711 "EXPRESSION..." \ … … 597 2713 #define dc_full_usage "\n\n" \ 598 2714 "Tiny RPN calculator. Operations:\n" \ 599 "+, add, -, sub, *, mul, /, div, %, mod, **, exp, and, or, not, eor,\n" \2715 "+, add, -, sub, *, mul, /, div, %, mod, "IF_FEATURE_DC_LIBM("**, exp, ")"and, or, not, xor,\n" \ 600 2716 "p - print top of the stack (without popping),\n" \ 601 2717 "f - print entire stack,\n" \ 602 2718 "o - pop the value and set output radix (must be 10, 16, 8 or 2).\n" \ 603 "Examples: 'dc 2 2 add ' -> 4, 'dc 8 8 * 2 2 + /' -> 16" \2719 "Examples: 'dc 2 2 add p' -> 4, 'dc 8 8 mul 2 2 + / p' -> 16" \ 604 2720 605 2721 #define dc_example_usage \ … … 615 2731 "64\n" \ 616 2732 2733 #define devfsd_trivial_usage \ 2734 "mntpnt [-v]" IF_DEVFSD_FG_NP("[-fg][-np]") \ 2735 2736 #define devfsd_full_usage "\n\n" \ 2737 "Manage devfs permissions and old device name symlinks\n" \ 2738 "\n mntpnt The mount point where devfs is mounted" \ 2739 "\n -v Print the protocol version numbers for devfsd" \ 2740 "\n and the kernel-side protocol version and exit" \ 2741 IF_DEVFSD_FG_NP( \ 2742 "\n -fg Run in foreground" \ 2743 "\n -np Exit after parsing the configuration file" \ 2744 "\n and processing synthetic REGISTER events," \ 2745 "\n don't poll for events" \ 2746 ) \ 2747 2748 #define devmem_trivial_usage \ 2749 "ADDRESS [WIDTH [VALUE]]" \ 2750 2751 #define devmem_full_usage "\n\n" \ 2752 "Read/write from physical address\n" \ 2753 "\n ADDRESS Address to act upon" \ 2754 "\n WIDTH Width (8/16/...)" \ 2755 "\n VALUE Data to be written" \ 2756 2757 #define eject_trivial_usage \ 2758 "[-t] [-T] [DEVICE]" \ 2759 2760 #define eject_full_usage "\n\n" \ 2761 "Eject DEVICE or default /dev/cdrom\n" \ 2762 IF_FEATURE_EJECT_SCSI( \ 2763 "\n -s SCSI device" \ 2764 ) \ 2765 "\n -t Close tray" \ 2766 "\n -T Open/close tray (toggle)" \ 2767 2768 #define fbsplash_trivial_usage \ 2769 "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" \ 2770 2771 #define fbsplash_full_usage "\n\n" \ 2772 " -s Image" \ 2773 "\n -c Hide cursor" \ 2774 "\n -d Framebuffer device (default /dev/fb0)" \ 2775 "\n -i Config file (var=value):" \ 2776 "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" \ 2777 "\n BAR_R,BAR_G,BAR_B" \ 2778 "\n -f Control pipe (else exit after drawing image)" \ 2779 "\n commands: 'NN' (% for progress bar) or 'exit'" \ 2780 2781 #define flashcp_trivial_usage \ 2782 "-v FILE MTD_DEVICE" \ 2783 2784 #define flashcp_full_usage "\n\n" \ 2785 "Copy an image to MTD device\n" \ 2786 "\n -v Verbose" \ 2787 2788 #define flash_eraseall_trivial_usage \ 2789 "[-jq] MTD_DEVICE" \ 2790 2791 #define flash_eraseall_full_usage "\n\n" \ 2792 "Erase an MTD device\n" \ 2793 "\n -j Format the device for jffs2" \ 2794 "\n -q Don't display progress messages" \ 2795 2796 #define flash_lock_trivial_usage \ 2797 "MTD_DEVICE OFFSET SECTORS" \ 2798 2799 #define flash_lock_full_usage "\n\n" \ 2800 "Lock part or all of an MTD device. If SECTORS is -1, then all sectors\n" \ 2801 "will be locked, regardless of the value of OFFSET" \ 2802 2803 #define flash_unlock_trivial_usage \ 2804 "MTD_DEVICE" \ 2805 2806 #define flash_unlock_full_usage "\n\n" \ 2807 "Unlock an MTD device" \ 2808 2809 #define hdparm_trivial_usage \ 2810 "[OPTIONS] [DEVICE]" \ 2811 2812 #define hdparm_full_usage "\n\n" \ 2813 " -a Get/set fs readahead" \ 2814 "\n -A Set drive read-lookahead flag (0/1)" \ 2815 "\n -b Get/set bus state (0 == off, 1 == on, 2 == tristate)" \ 2816 "\n -B Set Advanced Power Management setting (1-255)" \ 2817 "\n -c Get/set IDE 32-bit IO setting" \ 2818 "\n -C Check IDE power mode status" \ 2819 IF_FEATURE_HDPARM_HDIO_GETSET_DMA( \ 2820 "\n -d Get/set using_dma flag") \ 2821 "\n -D Enable/disable drive defect-mgmt" \ 2822 "\n -f Flush buffer cache for device on exit" \ 2823 "\n -g Display drive geometry" \ 2824 "\n -h Display terse usage information" \ 2825 IF_FEATURE_HDPARM_GET_IDENTITY( \ 2826 "\n -i Display drive identification") \ 2827 IF_FEATURE_HDPARM_GET_IDENTITY( \ 2828 "\n -I Detailed/current information directly from drive") \ 2829 "\n -k Get/set keep_settings_over_reset flag (0/1)" \ 2830 "\n -K Set drive keep_features_over_reset flag (0/1)" \ 2831 "\n -L Set drive doorlock (0/1) (removable harddisks only)" \ 2832 "\n -m Get/set multiple sector count" \ 2833 "\n -n Get/set ignore-write-errors flag (0/1)" \ 2834 "\n -p Set PIO mode on IDE interface chipset (0,1,2,3,4,...)" \ 2835 "\n -P Set drive prefetch count" \ 2836 "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ 2837 "\n -r Get/set readonly flag (DANGEROUS to set)" \ 2838 IF_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ 2839 "\n -R Register an IDE interface (DANGEROUS)") \ 2840 "\n -S Set standby (spindown) timeout" \ 2841 "\n -t Perform device read timings" \ 2842 "\n -T Perform cache read timings" \ 2843 "\n -u Get/set unmaskirq flag (0/1)" \ 2844 IF_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ 2845 "\n -U Unregister an IDE interface (DANGEROUS)") \ 2846 "\n -v Defaults; same as -mcudkrag for IDE drives" \ 2847 "\n -V Display program version and exit immediately" \ 2848 IF_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ 2849 "\n -w Perform device reset (DANGEROUS)") \ 2850 "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ 2851 IF_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ 2852 "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ 2853 "\n -X Set IDE xfer mode (DANGEROUS)" \ 2854 "\n -y Put IDE drive in standby mode" \ 2855 "\n -Y Put IDE drive to sleep" \ 2856 "\n -Z Disable Seagate auto-powersaving mode" \ 2857 "\n -z Reread partition table" \ 2858 2859 #define inotifyd_trivial_usage \ 2860 "PROG FILE1[:MASK]..." \ 2861 2862 #define inotifyd_full_usage "\n\n" \ 2863 "Run PROG on filesystem changes." \ 2864 "\nWhen a filesystem event matching MASK occurs on FILEn," \ 2865 "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." \ 2866 "\nIf PROG is -, events are sent to stdout." \ 2867 "\nEvents:" \ 2868 "\n a File is accessed" \ 2869 "\n c File is modified" \ 2870 "\n e Metadata changed" \ 2871 "\n w Writable file is closed" \ 2872 "\n 0 Unwritable file is closed" \ 2873 "\n r File is opened" \ 2874 "\n D File is deleted" \ 2875 "\n M File is moved" \ 2876 "\n u Backing fs is unmounted" \ 2877 "\n o Event queue overflowed" \ 2878 "\n x File can't be watched anymore" \ 2879 "\nIf watching a directory:" \ 2880 "\n m Subfile is moved into dir" \ 2881 "\n y Subfile is moved out of dir" \ 2882 "\n n Subfile is created" \ 2883 "\n d Subfile is deleted" \ 2884 "\n" \ 2885 "\ninotifyd waits for PROG to exit." \ 2886 "\nWhen x event happens for all FILEs, inotifyd exits." \ 2887 2888 #define ionice_trivial_usage \ 2889 "[-c 1-3] [-n 0-7] [-p PID] [PROG]" \ 2890 2891 #define ionice_full_usage "\n\n" \ 2892 "Change I/O priority and class\n" \ 2893 "\n -c Class. 1:realtime 2:best-effort 3:idle" \ 2894 "\n -n Priority" \ 2895 2896 #define last_trivial_usage \ 2897 ""IF_FEATURE_LAST_FANCY("[-HW] [-f FILE]") \ 2898 2899 #define last_full_usage "\n\n" \ 2900 "Show listing of the last users that logged into the system" \ 2901 IF_FEATURE_LAST_FANCY( "\n" \ 2902 "\n -W Display with no host column truncation" \ 2903 "\n -f FILE Read from FILE instead of /var/log/wtmp" \ 2904 ) \ 2905 2906 #define less_trivial_usage \ 2907 "[-E" IF_FEATURE_LESS_FLAGS("Mm") "Nh~I?] [FILE]..." \ 2908 2909 #define less_full_usage "\n\n" \ 2910 "View FILE (or stdin) one screenful at a time\n" \ 2911 "\n -E Quit once the end of a file is reached" \ 2912 IF_FEATURE_LESS_FLAGS( \ 2913 "\n -M,-m Display status line with line numbers" \ 2914 "\n and percentage through the file" \ 2915 ) \ 2916 "\n -N Prefix line number to each line" \ 2917 "\n -I Ignore case in all searches" \ 2918 "\n -~ Suppress ~s displayed past EOF" \ 2919 2920 #if ENABLE_FEATURE_MAKEDEVS_LEAF \ 2921 2922 #define makedevs_trivial_usage \ 2923 "NAME TYPE MAJOR MINOR FIRST LAST [s]" \ 2924 2925 #define makedevs_full_usage "\n\n" \ 2926 "Create a range of block or character special files" \ 2927 "\n" \ 2928 "\nTYPE is:" \ 2929 "\n b Block device" \ 2930 "\n c Character device" \ 2931 "\n f FIFO, MAJOR and MINOR are ignored" \ 2932 "\n" \ 2933 "\nFIRST..LAST specify numbers appended to NAME." \ 2934 "\nIf 's' is the last argument, the base device is created as well." \ 2935 "\n" \ 2936 "\nExamples:" \ 2937 "\n makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63" \ 2938 "\n makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" \ 2939 2940 #define makedevs_example_usage \ 2941 "# makedevs /dev/ttyS c 4 66 2 63\n" \ 2942 "[creates ttyS2-ttyS63]\n" \ 2943 "# makedevs /dev/hda b 3 0 0 8 s\n" \ 2944 "[creates hda,hda1-hda8]\n" \ 2945 2946 #endif \ 2947 2948 #if ENABLE_FEATURE_MAKEDEVS_TABLE \ 2949 2950 #define makedevs_trivial_usage \ 2951 "[-d device_table] rootdir" \ 2952 2953 #define makedevs_full_usage "\n\n" \ 2954 "Create a range of special files as specified in a device table.\n" \ 2955 "Device table entries take the form of:\n" \ 2956 "<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>\n" \ 2957 "Where name is the file name, type can be one of:\n" \ 2958 " f Regular file\n" \ 2959 " d Directory\n" \ 2960 " c Character device\n" \ 2961 " b Block device\n" \ 2962 " p Fifo (named pipe)\n" \ 2963 "uid is the user id for the target file, gid is the group id for the\n" \ 2964 "target file. The rest of the entries (major, minor, etc) apply to\n" \ 2965 "to device special files. A '-' may be used for blank entries." \ 2966 2967 #define makedevs_example_usage \ 2968 "For example:\n" \ 2969 "<name> <type> <mode><uid><gid><major><minor><start><inc><count>\n" \ 2970 "/dev d 755 0 0 - - - - -\n" \ 2971 "/dev/console c 666 0 0 5 1 - - -\n" \ 2972 "/dev/null c 666 0 0 1 3 0 0 -\n" \ 2973 "/dev/zero c 666 0 0 1 5 0 0 -\n" \ 2974 "/dev/hda b 640 0 0 3 0 0 0 -\n" \ 2975 "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \ 2976 "Will Produce:\n" \ 2977 "/dev\n" \ 2978 "/dev/console\n" \ 2979 "/dev/null\n" \ 2980 "/dev/zero\n" \ 2981 "/dev/hda\n" \ 2982 "/dev/hda[0-15]\n" \ 2983 2984 #endif \ 2985 2986 #define man_trivial_usage \ 2987 "[-aw] [MANPAGE]..." \ 2988 2989 #define man_full_usage "\n\n" \ 2990 "Format and display manual page\n" \ 2991 "\n -a Display all pages" \ 2992 "\n -w Show page locations" \ 2993 2994 #define microcom_trivial_usage \ 2995 "[-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY" \ 2996 2997 #define microcom_full_usage "\n\n" \ 2998 "Copy bytes for stdin to TTY and from TTY to stdout\n" \ 2999 "\n -d Wait up to DELAY ms for TTY output before sending every" \ 3000 "\n next byte to it" \ 3001 "\n -t Exit if both stdin and TTY are silent for TIMEOUT ms" \ 3002 "\n -s Set serial line to SPEED" \ 3003 "\n -X Disable special meaning of NUL and Ctrl-X from stdin" \ 3004 3005 #define mountpoint_trivial_usage \ 3006 "[-q] <[-dn] DIR | -x DEVICE>" \ 3007 3008 #define mountpoint_full_usage "\n\n" \ 3009 "Check if the directory is a mountpoint\n" \ 3010 "\n -q Quiet" \ 3011 "\n -d Print major/minor device number of the filesystem" \ 3012 "\n -n Print device name of the filesystem" \ 3013 "\n -x Print major/minor device number of the blockdevice" \ 3014 3015 #define mountpoint_example_usage \ 3016 "$ mountpoint /proc\n" \ 3017 "/proc is not a mountpoint\n" \ 3018 "$ mountpoint /sys\n" \ 3019 "/sys is a mountpoint\n" \ 3020 3021 #define mt_trivial_usage \ 3022 "[-f device] opcode value" \ 3023 3024 #define mt_full_usage "\n\n" \ 3025 "Control magnetic tape drive operation\n" \ 3026 "\n" \ 3027 "Available Opcodes:\n" \ 3028 "\n" \ 3029 "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \ 3030 "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \ 3031 "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \ 3032 "setpart tell unload unlock weof wset" \ 3033 617 3034 #define nandwrite_trivial_usage \ 618 3035 "[-p] [-s ADDR] MTD_DEVICE [FILE]" \ … … 620 3037 #define nandwrite_full_usage "\n\n" \ 621 3038 "Write to the specified MTD device\n" \ 622 "\nOptions:" \623 3039 "\n -p Pad to page size" \ 624 3040 "\n -s ADDR Start address" \ … … 628 3044 629 3045 #define nanddump_full_usage "\n\n" \ 630 "Dump the sepcified MTD device\n" \ 631 "\nOptions:" \ 632 "\n -o Omit oob data" \ 3046 "Dump the specified MTD device\n" \ 3047 "\n -o Dump oob data" \ 633 3048 "\n -b Omit bad block from the dump" \ 634 3049 "\n -s ADDR Start address" \ 635 3050 "\n -l LEN Length" \ 636 3051 "\n -f FILE Dump to file ('-' for stdout)" \ 3052 3053 #define raidautorun_trivial_usage \ 3054 "DEVICE" \ 3055 3056 #define raidautorun_full_usage "\n\n" \ 3057 "Tell the kernel to automatically search and start RAID arrays" \ 3058 3059 #define raidautorun_example_usage \ 3060 "$ raidautorun /dev/md0" \ 3061 3062 #define readahead_trivial_usage \ 3063 "[FILE]..." \ 3064 3065 #define readahead_full_usage "\n\n" \ 3066 "Preload FILEs to RAM" \ 3067 3068 #define rfkill_trivial_usage \ 3069 "COMMAND [INDEX|TYPE]" \ 3070 3071 #define rfkill_full_usage "\n\n" \ 3072 "Enable/disable wireless devices\n" \ 3073 "\nCommands:" \ 3074 "\n list [INDEX|TYPE] List current state" \ 3075 "\n block INDEX|TYPE Disable device" \ 3076 "\n unblock INDEX|TYPE Enable device" \ 3077 "\n" \ 3078 "\n TYPE: all, wlan(wifi), bluetooth, uwb(ultrawideband)," \ 3079 "\n wimax, wwan, gps, fm" \ 3080 3081 #define runlevel_trivial_usage \ 3082 "[FILE]" \ 3083 3084 #define runlevel_full_usage "\n\n" \ 3085 "Find the current and previous system runlevel\n" \ 3086 "\n" \ 3087 "If no utmp FILE exists or if no runlevel record can be found,\n" \ 3088 "print \"unknown\"" \ 3089 3090 #define runlevel_example_usage \ 3091 "$ runlevel /var/run/utmp\n" \ 3092 "N 2" \ 3093 3094 #define rx_trivial_usage \ 3095 "FILE" \ 3096 3097 #define rx_full_usage "\n\n" \ 3098 "Receive a file using the xmodem protocol" \ 3099 3100 #define rx_example_usage \ 3101 "$ rx /tmp/foo\n" \ 3102 3103 #define setsid_trivial_usage \ 3104 "PROG ARGS" \ 3105 3106 #define setsid_full_usage "\n\n" \ 3107 "Run PROG in a new session. PROG will have no controlling terminal\n" \ 3108 "and will not be affected by keyboard signals (Ctrl-C etc).\n" \ 3109 "See setsid(2) for details." \ 3110 3111 #define strings_trivial_usage \ 3112 "[-afo] [-n LEN] [FILE]..." \ 3113 3114 #define strings_full_usage "\n\n" \ 3115 "Display printable strings in a binary file\n" \ 3116 "\n -a Scan whole file (default)" \ 3117 "\n -f Precede strings with filenames" \ 3118 "\n -n LEN At least LEN characters form a string (default 4)" \ 3119 "\n -o Precede strings with decimal offsets" \ 3120 3121 #define taskset_trivial_usage \ 3122 "[-p] [MASK] [PID | PROG ARGS]" \ 3123 3124 #define taskset_full_usage "\n\n" \ 3125 "Set or get CPU affinity\n" \ 3126 "\n -p Operate on an existing PID" \ 3127 3128 #define taskset_example_usage \ 3129 "$ taskset 0x7 ./dgemm_test&\n" \ 3130 "$ taskset -p 0x1 $!\n" \ 3131 "pid 4790's current affinity mask: 7\n" \ 3132 "pid 4790's new affinity mask: 1\n" \ 3133 "$ taskset 0x7 /bin/sh -c './taskset -p 0x1 $$'\n" \ 3134 "pid 6671's current affinity mask: 1\n" \ 3135 "pid 6671's new affinity mask: 1\n" \ 3136 "$ taskset -p 1\n" \ 3137 "pid 1's current affinity mask: 3\n" \ 3138 3139 #define time_trivial_usage \ 3140 "[-v] PROG ARGS" \ 3141 3142 #define time_full_usage "\n\n" \ 3143 "Run PROG, display resource usage when it exits\n" \ 3144 "\n -v Verbose" \ 3145 3146 #define timeout_trivial_usage \ 3147 "[-t SECS] [-s SIG] PROG ARGS" \ 3148 3149 #define timeout_full_usage "\n\n" \ 3150 "Runs PROG. Sends SIG to it if it is not gone in SECS seconds.\n" \ 3151 "Defaults: SECS: 10, SIG: TERM." \ 3152 3153 #define ttysize_trivial_usage \ 3154 "[w] [h]" \ 3155 3156 #define ttysize_full_usage "\n\n" \ 3157 "Print dimension(s) of stdin's terminal, on error return 80x25" \ 637 3158 638 3159 #define ubiattach_trivial_usage \ … … 653 3174 "\n -d UBI_NUM UBI device number" \ 654 3175 3176 #define volname_trivial_usage \ 3177 "[DEVICE]" \ 3178 3179 #define volname_full_usage "\n\n" \ 3180 "Show CD volume name of the DEVICE (default /dev/cdrom)" \ 3181 3182 #define wall_trivial_usage \ 3183 "[FILE]" \ 3184 3185 #define wall_full_usage "\n\n" \ 3186 "Write content of FILE or stdin to all logged-in users" \ 3187 3188 #define wall_sample_usage \ 3189 "echo foo | wall\n" \ 3190 "wall ./mymessage" \ 3191 3192 #define watchdog_trivial_usage \ 3193 "[-t N[ms]] [-T N[ms]] [-F] DEV" \ 3194 3195 #define watchdog_full_usage "\n\n" \ 3196 "Periodically write to watchdog device DEV\n" \ 3197 "\n -T N Reboot after N seconds if not reset (default 60)" \ 3198 "\n -t N Reset every N seconds (default 30)" \ 3199 "\n -F Run in foreground" \ 3200 "\n" \ 3201 "\nUse 500ms to specify period in milliseconds" \ 3202 655 3203 #if !ENABLE_MODPROBE_SMALL \ 656 3204 657 #define depmod_trivial_usage NOUSAGE_STR \ 658 659 #define depmod_full_usage "" \ 3205 #define depmod_trivial_usage "[-n] [-b BASE] [VERSION] [MODFILES]..." \ 3206 3207 #define depmod_full_usage "\n\n" \ 3208 "Generate modules.dep, alias, and symbols files" \ 3209 "\n" \ 3210 "\n -b BASE Use BASE/lib/modules/VERSION" \ 3211 "\n -n Dry run: print files to stdout" \ 660 3212 661 3213 #endif \ … … 671 3223 "Load the specified kernel modules into the kernel" \ 672 3224 IF_FEATURE_2_4_MODULES( "\n" \ 673 "\nOptions:" \674 3225 "\n -f Force module to load into the wrong kernel version" \ 675 3226 "\n -k Make module autoclean-able" \ … … 699 3250 700 3251 #define modinfo_full_usage "\n\n" \ 701 "Options:" \ 702 "\n -a Shortcut for '-F author'" \ 3252 " -a Shortcut for '-F author'" \ 703 3253 "\n -d Shortcut for '-F description'" \ 704 3254 "\n -l Shortcut for '-F license'" \ … … 774 3324 775 3325 #define modprobe_trivial_usage \ 776 "[-alrqvs" \ 777 IF_FEATURE_MODPROBE_BLACKLIST("b") \ 778 "] MODULE [symbol=value]..." \ 3326 "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" \ 3327 " MODULE [symbol=value]..." \ 779 3328 780 3329 #define modprobe_full_usage "\n\n" \ 781 "Options:" \ 782 "\n -a Load multiple MODULEs" \ 3330 " -a Load multiple MODULEs" \ 783 3331 "\n -l List (MODULE is a pattern)" \ 784 3332 "\n -r Remove MODULE (stacks) or do autoclean" \ … … 786 3334 "\n -v Verbose" \ 787 3335 "\n -s Log to syslog" \ 3336 "\n -D Show dependencies" \ 788 3337 IF_FEATURE_MODPROBE_BLACKLIST( \ 789 3338 "\n -b Apply blacklist to module names too" \ … … 812 3361 "Load the specified kernel modules into the kernel" \ 813 3362 IF_FEATURE_2_4_MODULES( "\n" \ 814 "\nOptions:" \815 3363 "\n -f Force module to load into the wrong kernel version" \ 816 3364 "\n -k Make module autoclean-able" \ … … 829 3377 #define rmmod_full_usage "\n\n" \ 830 3378 "Unload kernel modules\n" \ 831 "\nOptions:" \832 3379 "\n -w Wait until the module is no longer used" \ 833 3380 "\n -f Force unload" \ … … 841 3388 842 3389 #define modprobe_full_usage "\n\n" \ 843 "Options:" \ 844 "\n -r Remove MODULE (stacks) or do autoclean" \ 3390 " -r Remove MODULE (stacks) or do autoclean" \ 845 3391 "\n -q Quiet" \ 846 3392 "\n -v Verbose" \ … … 858 3404 #define rmmod_full_usage "\n\n" \ 859 3405 "Unload kernel modules\n" \ 860 "\nOptions:" \861 3406 "\n -w Wait until the module is no longer used" \ 862 3407 "\n -f Force unload" \ … … 867 3412 868 3413 #endif \ 869 870 #define nbdclient_trivial_usage \871 "HOST PORT BLOCKDEV" \872 873 #define nbdclient_full_usage "\n\n" \874 "Connect to HOST and provide a network block device on BLOCKDEV" \875 876 #if ENABLE_NC_110_COMPAT \877 878 #define nc_trivial_usage \879 "[OPTIONS] HOST PORT - connect" \880 IF_NC_SERVER("\n" \881 "nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen" \882 ) \883 884 #define nc_full_usage "\n\n" \885 "Options:" \886 "\n -e PROG Run PROG after connect (must be last)" \887 IF_NC_SERVER( \888 "\n -l Listen mode, for inbound connects" \889 ) \890 "\n -p PORT Local port" \891 "\n -s ADDR Local address" \892 "\n -w SEC Timeout for connects and final net reads" \893 IF_NC_EXTRA( \894 "\n -i SEC Delay interval for lines sent" /* ", ports scanned" */ \895 ) \896 "\n -n Don't do DNS resolution" \897 "\n -u UDP mode" \898 "\n -v Verbose" \899 IF_NC_EXTRA( \900 "\n -o FILE Hex dump traffic" \901 "\n -z Zero-I/O mode (scanning)" \902 ) \903 904 #endif \905 906 #if !ENABLE_NC_110_COMPAT \907 908 #if ENABLE_NC_SERVER || ENABLE_NC_EXTRA \909 910 #define NC_OPTIONS_STR "\n\nOptions:" \911 912 #else \913 914 #define NC_OPTIONS_STR \915 916 #endif \917 918 #define nc_trivial_usage \919 IF_NC_EXTRA("[-iN] [-wN] ")IF_NC_SERVER("[-l] [-p PORT] ") \920 "["IF_NC_EXTRA("-f FILE|")"IPADDR PORT]"IF_NC_EXTRA(" [-e PROG]") \921 922 #define nc_full_usage "\n\n" \923 "Open a pipe to IP:PORT" IF_NC_EXTRA(" or FILE") \924 NC_OPTIONS_STR \925 IF_NC_EXTRA( \926 "\n -e PROG Run PROG after connect" \927 IF_NC_SERVER( \928 "\n -l Listen mode, for inbound connects" \929 IF_NC_EXTRA( \930 "\n (use -l twice with -e for persistent server)") \931 "\n -p PORT Local port" \932 ) \933 "\n -w SEC Timeout for connect" \934 "\n -i SEC Delay interval for lines sent" \935 "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \936 ) \937 938 #define nc_notes_usage "" \939 IF_NC_EXTRA( \940 "To use netcat as a terminal emulator on a serial port:\n\n" \941 "$ stty 115200 -F /dev/ttyS0\n" \942 "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \943 ) \944 945 #define nc_example_usage \946 "$ nc foobar.somedomain.com 25\n" \947 "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \948 "help\n" \949 "214-Commands supported:\n" \950 "214- HELO EHLO MAIL RCPT DATA AUTH\n" \951 "214 NOOP QUIT RSET HELP\n" \952 "quit\n" \953 "221 foobar closing connection\n" \954 955 #endif \956 957 #define netstat_trivial_usage \958 "[-"IF_ROUTE("r")"al] [-tuwx] [-en"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]" \959 960 #define netstat_full_usage "\n\n" \961 "Display networking information\n" \962 "\nOptions:" \963 IF_ROUTE( \964 "\n -r Routing table" \965 ) \966 "\n -a All sockets" \967 "\n -l Listening sockets" \968 "\n Else: connected sockets" \969 "\n -t TCP sockets" \970 "\n -u UDP sockets" \971 "\n -w Raw sockets" \972 "\n -x Unix sockets" \973 "\n Else: all socket types" \974 "\n -e Other/more information" \975 "\n -n Don't resolve names" \976 IF_FEATURE_NETSTAT_WIDE( \977 "\n -W Wide display" \978 ) \979 IF_FEATURE_NETSTAT_PRG( \980 "\n -p Show PID/program name for sockets" \981 ) \982 983 #define iostat_trivial_usage \984 "[-c] [-d] [-t] [-z] [-k|-m] [ALL|BLOCKDEV...] [INTERVAL [COUNT]]" \985 986 #define iostat_full_usage "\n\n" \987 "Report CPU and I/O statistics\n" \988 "\nOptions:" \989 "\n -c Show CPU utilization" \990 "\n -d Show device utilization" \991 "\n -t Print current time" \992 "\n -z Omit devices with no activity" \993 "\n -k Use kb/s" \994 "\n -m Use Mb/s" \995 996 #define mpstat_trivial_usage \997 "[-A] [-I SUM|CPU|ALL|SCPU] [-u] [-P num|ALL] [INTERVAL [COUNT]]" \998 999 #define mpstat_full_usage "\n\n" \1000 "Per-processor statistics\n" \1001 "\nOptions:" \1002 "\n -A Same as -I ALL -u -P ALL" \1003 "\n -I SUM|CPU|ALL|SCPU Report interrupt statistics" \1004 "\n -P num|ALL Processor to monitor" \1005 "\n -u Report CPU utilization" \1006 1007 #define pmap_trivial_usage \1008 "[-x][-q] PID" \1009 1010 #define pmap_full_usage "\n\n" \1011 "Display detailed precesses' memory usage\n" \1012 "\nOptions:" \1013 "\n -x show details" \1014 "\n -q quiet" \1015 1016 #define powertop_trivial_usage \1017 "" \1018 1019 #define powertop_full_usage "\n\n" \1020 "Analyze power consumption on Intel-based laptops\n" \1021 1022 #define smemcap_trivial_usage ">SMEMDATA.TAR" \1023 1024 #define smemcap_full_usage "\n\n" \1025 "Collect memory usage data in /proc and write it to stdout" \1026 1027 #define ash_trivial_usage NOUSAGE_STR \1028 1029 #define ash_full_usage "" \1030 1031 #define sh_trivial_usage NOUSAGE_STR \1032 1033 #define sh_full_usage "" \1034 1035 #define bash_trivial_usage NOUSAGE_STR \1036 1037 #define bash_full_usage "" \1038 1039 #define cttyhack_trivial_usage \1040 "PROG ARGS" \1041 1042 #define cttyhack_full_usage "\n\n" \1043 "Give PROG a controlling tty if possible." \1044 "\nExample for /etc/inittab (for busybox init):" \1045 "\n ::respawn:/bin/cttyhack /bin/sh" \1046 "\nGiving controlling tty to shell running with PID 1:" \1047 "\n $ exec cttyhack sh" \1048 "\nStarting interactive shell from boot shell script:" \1049 "\n setsid cttyhack sh" \1050 1051 #define hush_trivial_usage NOUSAGE_STR \1052 1053 #define hush_full_usage "" \1054 1055 #define msh_trivial_usage NOUSAGE_STR \1056 1057 #define msh_full_usage "" \1058 1059 #define sh_trivial_usage NOUSAGE_STR \1060 1061 #define sh_full_usage "" \1062 1063 #define bash_trivial_usage NOUSAGE_STR \1064 1065 #define bash_full_usage "" \1066 1067 #define blockdev_trivial_usage \1068 "OPTION BLOCKDEV" \1069 1070 #define blockdev_full_usage "\n\n" \1071 "Options:" \1072 "\n --setro Set ro" \1073 "\n --setrw Set rw" \1074 "\n --getro Get ro" \1075 "\n --getss Get sector size" \1076 "\n --getbsz Get block size" \1077 "\n --setbsz BYTES Set block size" \1078 "\n --getsize Get device size in 512-byte sectors" \1079 "\n --getsize64 Get device size in bytes" \1080 "\n --flushbufs Flush buffers" \1081 "\n --rereadpt Reread partition table" \1082 1083 #define rev_trivial_usage \1084 "[FILE]..." \1085 1086 #define rev_full_usage "\n\n" \1087 "Reverse lines of FILE" \1088 1089 #if defined CONFIG_UDHCP_DEBUG && CONFIG_UDHCP_DEBUG >= 1 \1090 1091 # define IF_UDHCP_VERBOSE(...) __VA_ARGS__ \1092 1093 #else \1094 1095 # define IF_UDHCP_VERBOSE(...) \1096 1097 #endif \1098 1099 #define udhcpc_trivial_usage \1100 "[-fbnq"IF_UDHCP_VERBOSE("v")"oCR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n" \1101 " [-H HOSTNAME] [-V VENDOR] [-x OPT:VAL]... [-O OPT]..." IF_FEATURE_UDHCP_PORT(" [-P N]") \1102 1103 #define udhcpc_full_usage "\n" \1104 IF_LONG_OPTS( \1105 "\n -i,--interface IFACE Interface to use (default eth0)" \1106 "\n -p,--pidfile FILE Create pidfile" \1107 "\n -s,--script PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \1108 "\n -t,--retries N Send up to N discover packets" \1109 "\n -T,--timeout N Pause between packets (default 3 seconds)" \1110 "\n -A,--tryagain N Wait N seconds after failure (default 20)" \1111 "\n -f,--foreground Run in foreground" \1112 USE_FOR_MMU( \1113 "\n -b,--background Background if lease is not obtained" \1114 ) \1115 "\n -n,--now Exit if lease is not obtained" \1116 "\n -q,--quit Exit after obtaining lease" \1117 "\n -R,--release Release IP on exit" \1118 "\n -S,--syslog Log to syslog too" \1119 IF_FEATURE_UDHCP_PORT( \1120 "\n -P,--client-port N Use port N (default 68)" \1121 ) \1122 IF_FEATURE_UDHCPC_ARPING( \1123 "\n -a,--arping Use arping to validate offered address" \1124 ) \1125 "\n -O,--request-option OPT Request option OPT from server (cumulative)" \1126 "\n -o,--no-default-options Don't request any options (unless -O is given)" \1127 "\n -r,--request IP Request this IP address" \1128 "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \1129 "\n Examples of string, numeric, and hex byte opts:" \1130 "\n -x hostname:bbox - option 12" \1131 "\n -x lease:3600 - option 51 (lease time)" \1132 "\n -x 0x3d:0100BEEFC0FFEE - option 61 (client id)" \1133 "\n -F,--fqdn NAME Ask server to update DNS mapping for NAME" \1134 "\n -H,-h,--hostname NAME Send NAME as client hostname (default none)" \1135 "\n -V,--vendorclass VENDOR Vendor identifier (default 'udhcp VERSION')" \1136 "\n -C,--clientid-none Don't send MAC as client identifier" \1137 IF_UDHCP_VERBOSE( \1138 "\n -v Verbose" \1139 ) \1140 ) \1141 IF_NOT_LONG_OPTS( \1142 "\n -i IFACE Interface to use (default eth0)" \1143 "\n -p FILE Create pidfile" \1144 "\n -s PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \1145 "\n -t N Send up to N discover packets" \1146 "\n -T N Pause between packets (default 3 seconds)" \1147 "\n -A N Wait N seconds (default 20) after failure" \1148 "\n -f Run in foreground" \1149 USE_FOR_MMU( \1150 "\n -b Background if lease is not obtained" \1151 ) \1152 "\n -n Exit if lease is not obtained" \1153 "\n -q Exit after obtaining lease" \1154 "\n -R Release IP on exit" \1155 "\n -S Log to syslog too" \1156 IF_FEATURE_UDHCP_PORT( \1157 "\n -P N Use port N (default 68)" \1158 ) \1159 IF_FEATURE_UDHCPC_ARPING( \1160 "\n -a Use arping to validate offered address" \1161 ) \1162 "\n -O OPT Request option OPT from server (cumulative)" \1163 "\n -o Don't request any options (unless -O is given)" \1164 "\n -r IP Request this IP address" \1165 "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \1166 "\n Examples of string, numeric, and hex byte opts:" \1167 "\n -x hostname:bbox - option 12" \1168 "\n -x lease:3600 - option 51 (lease time)" \1169 "\n -x 0x3d:0100BEEFC0FFEE - option 61 (client id)" \1170 "\n -F NAME Ask server to update DNS mapping for NAME" \1171 "\n -H,-h NAME Send NAME as client hostname (default none)" \1172 "\n -V VENDOR Vendor identifier (default 'udhcp VERSION')" \1173 "\n -C Don't send MAC as client identifier" \1174 IF_UDHCP_VERBOSE( \1175 "\n -v Verbose" \1176 ) \1177 ) \1178 1179 #define acpid_trivial_usage \1180 "[-d] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE]"1181 #define acpid_full_usage "\n\n" \1182 "Listen to ACPI events and spawn specific helpers on event arrival\n" \1183 "\nOptions:" \1184 "\n -c DIR Config directory [/etc/acpi]" \1185 "\n -d Don't daemonize, (implies -f)" \1186 "\n -e FILE /proc event file [/proc/acpi/event]" \1187 "\n -f Run in foreground" \1188 "\n -l FILE Log file [/var/log/acpid.log]" \1189 "\n -p FILE Pid file [/var/run/acpid.pid]" \1190 "\n -a FILE Action file [/etc/acpid.conf]" \1191 "\n -M FILE Map file [/etc/acpi.map]" \1192 IF_FEATURE_ACPID_COMPAT( \1193 "\n\nAccept and ignore compatibility options -g -m -s -S -v" \1194 )1195 1196 #define acpid_example_usage \1197 "Without -e option, acpid uses all /dev/input/event* files\n" \1198 "# acpid\n" \1199 "# acpid -l /var/log/my-acpi-log\n" \1200 "# acpid -e /proc/acpi/event\n"1201 1202 #define addgroup_trivial_usage \1203 "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[USER] ") "GROUP"1204 #define addgroup_full_usage "\n\n" \1205 "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \1206 "\nOptions:" \1207 "\n -g GID Group id" \1208 "\n -S Create a system group" \1209 1210 #define adduser_trivial_usage \1211 "[OPTIONS] USER"1212 #define adduser_full_usage "\n\n" \1213 "Add a user\n" \1214 "\nOptions:" \1215 "\n -h DIR Home directory" \1216 "\n -g GECOS GECOS field" \1217 "\n -s SHELL Login shell" \1218 "\n -G GRP Add user to existing group" \1219 "\n -S Create a system user" \1220 "\n -D Don't assign a password" \1221 "\n -H Don't create home directory" \1222 "\n -u UID User id" \1223 1224 #define adjtimex_trivial_usage \1225 "[-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]"1226 #define adjtimex_full_usage "\n\n" \1227 "Read and optionally set system timebase parameters. See adjtimex(2)\n" \1228 "\nOptions:" \1229 "\n -q Quiet" \1230 "\n -o OFF Time offset, microseconds" \1231 "\n -f FREQ Frequency adjust, integer kernel units (65536 is 1ppm)" \1232 "\n (positive values make clock run faster)" \1233 "\n -t TICK Microseconds per tick, usually 10000" \1234 "\n -p TCONST" \1235 1236 #define ar_trivial_usage \1237 "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES"1238 #define ar_full_usage "\n\n" \1239 "Extract or list FILES from an ar archive\n" \1240 "\nOptions:" \1241 "\n -o Preserve original dates" \1242 "\n -p Extract to stdout" \1243 "\n -t List" \1244 "\n -x Extract" \1245 "\n -v Verbose" \1246 3414 1247 3415 #define arp_trivial_usage \ … … 1250 3418 "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]" \ 1251 3419 "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub" \ 1252 "\n[-v] [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub" 3420 "\n[-v] [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub" \ 3421 1253 3422 #define arp_full_usage "\n\n" \ 1254 3423 "Manipulate ARP cache\n" \ 1255 "\nOptions:" \1256 3424 "\n -a Display (all) hosts" \ 1257 3425 "\n -s Set new ARP entry" \ … … 1265 3433 1266 3434 #define arping_trivial_usage \ 1267 "[-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP" 3435 "[-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP" \ 3436 1268 3437 #define arping_full_usage "\n\n" \ 1269 3438 "Send ARP requests/replies\n" \ 1270 "\nOptions:" \1271 3439 "\n -f Quit on first ARP reply" \ 1272 3440 "\n -q Quiet" \ … … 1281 3449 "\n DST_IP Target IP address" \ 1282 3450 1283 #define awk_trivial_usage \1284 "[OPTIONS] [AWK_PROGRAM] [FILE]..."1285 #define awk_full_usage "\n\n" \1286 "Options:" \1287 "\n -v VAR=VAL Set variable" \1288 "\n -F SEP Use SEP as field separator" \1289 "\n -f FILE Read program from FILE" \1290 1291 #define basename_trivial_usage \1292 "FILE [SUFFIX]"1293 #define basename_full_usage "\n\n" \1294 "Strip directory path and .SUFFIX from FILE\n"1295 #define basename_example_usage \1296 "$ basename /usr/local/bin/foo\n" \1297 "foo\n" \1298 "$ basename /usr/local/bin/\n" \1299 "bin\n" \1300 "$ basename /foo/bar.txt .txt\n" \1301 "bar"1302 1303 #define beep_trivial_usage \1304 "-f FREQ -l LEN -d DELAY -r COUNT -n"1305 #define beep_full_usage "\n\n" \1306 "Options:" \1307 "\n -f Frequency in Hz" \1308 "\n -l Length in ms" \1309 "\n -d Delay in ms" \1310 "\n -r Repetitions" \1311 "\n -n Start new tone" \1312 1313 #define blkid_trivial_usage \1314 ""1315 #define blkid_full_usage "\n\n" \1316 "Print UUIDs of all filesystems"1317 1318 3451 #define brctl_trivial_usage \ 1319 "COMMAND [BRIDGE [INTERFACE]]" 3452 "COMMAND [BRIDGE [INTERFACE]]" \ 3453 1320 3454 #define brctl_full_usage "\n\n" \ 1321 3455 "Manage ethernet bridges\n" \ … … 1339 3473 ) \ 1340 3474 1341 #define bzip2_trivial_usage \ 1342 "[OPTIONS] [FILE]..." 1343 #define bzip2_full_usage "\n\n" \ 1344 "Compress FILEs (or stdin) with bzip2 algorithm\n" \ 1345 "\nOptions:" \ 1346 "\n -1..9 Compression level" \ 1347 "\n -d Decompress" \ 1348 "\n -c Write to stdout" \ 1349 "\n -f Force" \ 1350 1351 #define busybox_notes_usage \ 1352 "Hello world!\n" 1353 1354 #define lzop_trivial_usage \ 1355 "[-cfvd123456789CF] [FILE]..." 1356 #define lzop_full_usage "\n\n" \ 1357 "Options:" \ 1358 "\n -1..9 Compression level" \ 1359 "\n -d Decompress" \ 1360 "\n -c Write to stdout" \ 1361 "\n -f Force" \ 3475 #define dnsd_trivial_usage \ 3476 "[-dvs] [-c CONFFILE] [-t TTL_SEC] [-p PORT] [-i ADDR]" \ 3477 3478 #define dnsd_full_usage "\n\n" \ 3479 "Small static DNS server daemon\n" \ 3480 "\n -c FILE Config file" \ 3481 "\n -t SEC TTL" \ 3482 "\n -p PORT Listen on PORT" \ 3483 "\n -i ADDR Listen on ADDR" \ 3484 "\n -d Daemonize" \ 1362 3485 "\n -v Verbose" \ 1363 "\n -F Don't store or verify checksum" \ 1364 "\n -C Also write checksum of compressed block" \ 1365 1366 #define lzopcat_trivial_usage \ 1367 "[-vCF] [FILE]..." 1368 #define lzopcat_full_usage "\n\n" \ 1369 " -v Verbose" \ 1370 "\n -F Don't store or verify checksum" \ 1371 1372 #define unlzop_trivial_usage \ 1373 "[-cfvCF] [FILE]..." 1374 #define unlzop_full_usage "\n\n" \ 1375 "Options:" \ 1376 "\n -c Write to stdout" \ 1377 "\n -f Force" \ 3486 "\n -s Send successful replies only. Use this if you want" \ 3487 "\n to use /etc/resolv.conf with two nameserver lines:" \ 3488 "\n nameserver DNSD_SERVER" \ 3489 "\n nameserver NORMAL_DNS_SERVER" \ 3490 3491 #define ether_wake_trivial_usage \ 3492 "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC" \ 3493 3494 #define ether_wake_full_usage "\n\n" \ 3495 "Send a magic packet to wake up sleeping machines.\n" \ 3496 "MAC must be a station address (00:11:22:33:44:55) or\n" \ 3497 "a hostname with a known 'ethers' entry.\n" \ 3498 "\n -b Send wake-up packet to the broadcast address" \ 3499 "\n -i iface Interface to use (default eth0)" \ 3500 "\n -p pass Append four or six byte password PW to the packet" \ 3501 3502 #define ftpd_trivial_usage \ 3503 "[-wvS] [-t N] [-T N] [DIR]" \ 3504 3505 #define ftpd_full_usage "\n\n" \ 3506 "Anonymous FTP server\n" \ 3507 "\n" \ 3508 "ftpd should be used as an inetd service.\n" \ 3509 "ftpd's line for inetd.conf:\n" \ 3510 " 21 stream tcp nowait root ftpd ftpd /files/to/serve\n" \ 3511 "It also can be ran from tcpsvd:\n" \ 3512 " tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve\n" \ 3513 "\n -w Allow upload" \ 3514 "\n -v Log errors to stderr. -vv: verbose log" \ 3515 "\n -S Log errors to syslog. -SS: verbose log" \ 3516 "\n -t,-T Idle and absolute timeouts" \ 3517 "\n DIR Change root to this directory" \ 3518 3519 #define ftpget_trivial_usage \ 3520 "[OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE" \ 3521 3522 #define ftpget_full_usage "\n\n" \ 3523 "Download a file via FTP\n" \ 3524 IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ 3525 "\n -c,--continue Continue previous transfer" \ 3526 "\n -v,--verbose Verbose" \ 3527 "\n -u,--username USER Username" \ 3528 "\n -p,--password PASS Password" \ 3529 "\n -P,--port NUM Port" \ 3530 ) \ 3531 IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ 3532 "\n -c Continue previous transfer" \ 1378 3533 "\n -v Verbose" \ 1379 "\n -F Don't store or verify checksum" \ 1380 1381 #define unlzma_trivial_usage \ 1382 "[-cf] [FILE]..." 1383 #define unlzma_full_usage "\n\n" \ 1384 "Decompress FILE (or stdin)\n" \ 1385 "\nOptions:" \ 1386 "\n -c Write to stdout" \ 1387 "\n -f Force" \ 1388 1389 #define lzma_trivial_usage \ 1390 "-d [-cf] [FILE]..." 1391 #define lzma_full_usage "\n\n" \ 1392 "Decompress FILE (or stdin)\n" \ 1393 "\nOptions:" \ 1394 "\n -d Decompress" \ 1395 "\n -c Write to stdout" \ 1396 "\n -f Force" \ 1397 1398 #define lzcat_trivial_usage \ 1399 "FILE" 1400 #define lzcat_full_usage "\n\n" \ 1401 "Decompress to stdout" 1402 1403 #define unxz_trivial_usage \ 1404 "[-cf] [FILE]..." 1405 #define unxz_full_usage "\n\n" \ 1406 "Decompress FILE (or stdin)\n" \ 1407 "\nOptions:" \ 1408 "\n -c Write to stdout" \ 1409 "\n -f Force" \ 1410 1411 #define xz_trivial_usage \ 1412 "-d [-cf] [FILE]..." 1413 #define xz_full_usage "\n\n" \ 1414 "Decompress FILE (or stdin)\n" \ 1415 "\nOptions:" \ 1416 "\n -d Decompress" \ 1417 "\n -c Write to stdout" \ 1418 "\n -f Force" \ 1419 1420 #define xzcat_trivial_usage \ 1421 "FILE" 1422 #define xzcat_full_usage "\n\n" \ 1423 "Decompress to stdout" 1424 1425 #define cal_trivial_usage \ 1426 "[-jy] [[MONTH] YEAR]" 1427 #define cal_full_usage "\n\n" \ 1428 "Display a calendar\n" \ 1429 "\nOptions:" \ 1430 "\n -j Use julian dates" \ 1431 "\n -y Display the entire year" \ 1432 1433 #define cat_trivial_usage \ 1434 "[FILE]..." 1435 #define cat_full_usage "\n\n" \ 1436 "Concatenate FILEs and print them to stdout" \ 1437 1438 #define cat_example_usage \ 1439 "$ cat /proc/uptime\n" \ 1440 "110716.72 17.67" 1441 1442 #define catv_trivial_usage \ 1443 "[-etv] [FILE]..." 1444 #define catv_full_usage "\n\n" \ 1445 "Display nonprinting characters as ^x or M-x\n" \ 1446 "\nOptions:" \ 1447 "\n -e End each line with $" \ 1448 "\n -t Show tabs as ^I" \ 1449 "\n -v Don't use ^x or M-x escapes" \ 1450 1451 #define chat_trivial_usage \ 1452 "EXPECT [SEND [EXPECT [SEND...]]]" 1453 #define chat_full_usage "\n\n" \ 1454 "Useful for interacting with a modem connected to stdin/stdout.\n" \ 1455 "A script consists of one or more \"expect-send\" pairs of strings,\n" \ 1456 "each pair is a pair of arguments. Example:\n" \ 1457 "chat '' ATZ OK ATD123456 CONNECT '' ogin: pppuser word: ppppass '~'" \ 1458 1459 #define chattr_trivial_usage \ 1460 "[-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]..." 1461 #define chattr_full_usage "\n\n" \ 1462 "Change file attributes on an ext2 fs\n" \ 1463 "\nModifiers:" \ 1464 "\n - Remove attributes" \ 1465 "\n + Add attributes" \ 1466 "\n = Set attributes" \ 1467 "\nAttributes:" \ 1468 "\n A Don't track atime" \ 1469 "\n a Append mode only" \ 1470 "\n c Enable compress" \ 1471 "\n D Write dir contents synchronously" \ 1472 "\n d Don't backup with dump" \ 1473 "\n i Cannot be modified (immutable)" \ 1474 "\n j Write all data to journal first" \ 1475 "\n s Zero disk storage when deleted" \ 1476 "\n S Write file contents synchronously" \ 1477 "\n t Disable tail-merging of partial blocks with other files" \ 1478 "\n u Allow file to be undeleted" \ 1479 "\nOptions:" \ 1480 "\n -R Recurse" \ 1481 "\n -v Set the file's version/generation number" \ 1482 1483 #define chcon_trivial_usage \ 1484 "[OPTIONS] CONTEXT FILE..." \ 1485 "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ 1486 IF_FEATURE_CHCON_LONG_OPTIONS( \ 1487 "\n chcon [OPTIONS] --reference=RFILE FILE..." \ 1488 ) 1489 #define chcon_full_usage "\n\n" \ 1490 "Change the security context of each FILE to CONTEXT\n" \ 1491 IF_FEATURE_CHCON_LONG_OPTIONS( \ 3534 "\n -u USER Username" \ 3535 "\n -p PASS Password" \ 3536 "\n -P NUM Port" \ 3537 ) \ 3538 3539 #define ftpput_trivial_usage \ 3540 "[OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE" \ 3541 3542 #define ftpput_full_usage "\n\n" \ 3543 "Upload a file to a FTP server\n" \ 3544 IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ 1492 3545 "\n -v,--verbose Verbose" \ 1493 "\n -c,--changes Report changes made" \ 1494 "\n -h,--no-dereference Affect symlinks instead of their targets" \ 1495 "\n -f,--silent,--quiet Suppress most error messages" \ 1496 "\n --reference=RFILE Use RFILE's group instead of using a CONTEXT value" \ 1497 "\n -u,--user=USER Set user/role/type/range in the target" \ 1498 "\n -r,--role=ROLE security context" \ 1499 "\n -t,--type=TYPE" \ 1500 "\n -l,--range=RANGE" \ 1501 "\n -R,--recursive Recurse" \ 1502 ) \ 1503 IF_NOT_FEATURE_CHCON_LONG_OPTIONS( \ 3546 "\n -u,--username USER Username" \ 3547 "\n -p,--password PASS Password" \ 3548 "\n -P,--port NUM Port" \ 3549 ) \ 3550 IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ 1504 3551 "\n -v Verbose" \ 1505 "\n -c Report changes made" \ 1506 "\n -h Affect symlinks instead of their targets" \ 1507 "\n -f Suppress most error messages" \ 1508 "\n -u USER Set user/role/type/range in the target security context" \ 1509 "\n -r ROLE" \ 1510 "\n -t TYPE" \ 1511 "\n -l RNG" \ 1512 "\n -R Recurse" \ 1513 ) 1514 1515 #define chmod_trivial_usage \ 1516 "[-R"IF_DESKTOP("cvf")"] MODE[,MODE]... FILE..." 1517 #define chmod_full_usage "\n\n" \ 1518 "Each MODE is one or more of the letters ugoa, one of the\n" \ 1519 "symbols +-= and one or more of the letters rwxst\n" \ 1520 "\nOptions:" \ 1521 "\n -R Recurse" \ 1522 IF_DESKTOP( \ 1523 "\n -c List changed files" \ 1524 "\n -v List all files" \ 1525 "\n -f Hide errors" \ 1526 ) 1527 #define chmod_example_usage \ 1528 "$ ls -l /tmp/foo\n" \ 1529 "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ 1530 "$ chmod u+x /tmp/foo\n" \ 1531 "$ ls -l /tmp/foo\n" \ 1532 "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \ 1533 "$ chmod 444 /tmp/foo\n" \ 1534 "$ ls -l /tmp/foo\n" \ 1535 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" 1536 1537 #define chgrp_trivial_usage \ 1538 "[-RhLHP"IF_DESKTOP("cvf")"]... GROUP FILE..." 1539 #define chgrp_full_usage "\n\n" \ 1540 "Change the group membership of each FILE to GROUP\n" \ 1541 "\nOptions:" \ 1542 "\n -R Recurse" \ 1543 "\n -h Affect symlinks instead of symlink targets" \ 1544 "\n -L Traverse all symlinks to directories" \ 1545 "\n -H Traverse symlinks on command line only" \ 1546 "\n -P Don't traverse symlinks (default)" \ 1547 IF_DESKTOP( \ 1548 "\n -c List changed files" \ 3552 "\n -u USER Username" \ 3553 "\n -p PASS Password" \ 3554 "\n -P NUM Port number" \ 3555 ) \ 3556 3557 #define hostname_trivial_usage \ 3558 "[OPTIONS] [HOSTNAME | -F FILE]" \ 3559 3560 #define hostname_full_usage "\n\n" \ 3561 "Get or set hostname or DNS domain name\n" \ 3562 "\n -s Short" \ 3563 "\n -i Addresses for the hostname" \ 3564 "\n -d DNS domain name" \ 3565 "\n -f Fully qualified domain name" \ 3566 "\n -F FILE Use FILE's content as hostname" \ 3567 3568 #define hostname_example_usage \ 3569 "$ hostname\n" \ 3570 "sage\n" \ 3571 3572 #define dnsdomainname_trivial_usage NOUSAGE_STR \ 3573 3574 #define dnsdomainname_full_usage "" \ 3575 3576 #define httpd_trivial_usage \ 3577 "[-ifv[v]]" \ 3578 " [-c CONFFILE]" \ 3579 " [-p [IP:]PORT]" \ 3580 IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \ 3581 IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \ 3582 " [-h HOME]\n" \ 3583 "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING" \ 3584 3585 #define httpd_full_usage "\n\n" \ 3586 "Listen for incoming HTTP requests\n" \ 3587 "\n -i Inetd mode" \ 3588 "\n -f Don't daemonize" \ 3589 "\n -v[v] Verbose" \ 3590 "\n -p [IP:]PORT Bind to IP:PORT (default *:80)" \ 3591 IF_FEATURE_HTTPD_SETUID( \ 3592 "\n -u USER[:GRP] Set uid/gid after binding to port") \ 3593 IF_FEATURE_HTTPD_BASIC_AUTH( \ 3594 "\n -r REALM Authentication Realm for Basic Authentication") \ 3595 "\n -h HOME Home directory (default .)" \ 3596 "\n -c FILE Configuration file (default {/etc,HOME}/httpd.conf)" \ 3597 IF_FEATURE_HTTPD_AUTH_MD5( \ 3598 "\n -m STRING MD5 crypt STRING") \ 3599 "\n -e STRING HTML encode STRING" \ 3600 "\n -d STRING URL decode STRING" \ 3601 3602 #define ifconfig_trivial_usage \ 3603 IF_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]" \ 3604 3605 #define ifconfig_full_usage "\n\n" \ 3606 "Configure a network interface\n" \ 3607 "\n" \ 3608 IF_FEATURE_IPV6( \ 3609 " [add ADDRESS[/PREFIXLEN]]\n") \ 3610 IF_FEATURE_IPV6( \ 3611 " [del ADDRESS[/PREFIXLEN]]\n") \ 3612 " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \ 3613 " [netmask ADDRESS] [dstaddr ADDRESS]\n" \ 3614 IF_FEATURE_IFCONFIG_SLIP( \ 3615 " [outfill NN] [keepalive NN]\n") \ 3616 " " IF_FEATURE_IFCONFIG_HW("[hw ether" IF_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \ 3617 " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ 3618 " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \ 3619 IF_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \ 3620 " [mem_start NN] [io_addr NN] [irq NN]\n") \ 3621 " [up|down] ..." \ 3622 3623 #define ifenslave_trivial_usage \ 3624 "[-cdf] MASTER_IFACE SLAVE_IFACE..." \ 3625 3626 #define ifenslave_full_usage "\n\n" \ 3627 "Configure network interfaces for parallel routing\n" \ 3628 "\n -c,--change-active Change active slave" \ 3629 "\n -d,--detach Remove slave interface from bonding device" \ 3630 "\n -f,--force Force, even if interface is not Ethernet" \ 3631 3632 #define ifenslave_example_usage \ 3633 "To create a bond device, simply follow these three steps:\n" \ 3634 "- ensure that the required drivers are properly loaded:\n" \ 3635 " # modprobe bonding ; modprobe <3c59x|eepro100|pcnet32|tulip|...>\n" \ 3636 "- assign an IP address to the bond device:\n" \ 3637 " # ifconfig bond0 <addr> netmask <mask> broadcast <bcast>\n" \ 3638 "- attach all the interfaces you need to the bond device:\n" \ 3639 " # ifenslave bond0 eth0 eth1 eth2\n" \ 3640 " If bond0 didn't have a MAC address, it will take eth0's. Then, all\n" \ 3641 " interfaces attached AFTER this assignment will get the same MAC addr.\n\n" \ 3642 " To detach a dead interface without setting the bond device down:\n" \ 3643 " # ifenslave -d bond0 eth1\n\n" \ 3644 " To set the bond device down and automatically release all the slaves:\n" \ 3645 " # ifconfig bond0 down\n\n" \ 3646 " To change active slave:\n" \ 3647 " # ifenslave -c bond0 eth0\n" \ 3648 3649 #define ifplugd_trivial_usage \ 3650 "[OPTIONS]" \ 3651 3652 #define ifplugd_full_usage "\n\n" \ 3653 "Network interface plug detection daemon\n" \ 3654 "\n -n Don't daemonize" \ 3655 "\n -s Don't log to syslog" \ 3656 "\n -i IFACE Interface" \ 3657 "\n -f/-F Treat link detection error as link down/link up" \ 3658 "\n (otherwise exit on error)" \ 3659 "\n -a Don't up interface at each link probe" \ 3660 "\n -M Monitor creation/destruction of interface" \ 3661 "\n (otherwise it must exist)" \ 3662 "\n -r PROG Script to run" \ 3663 "\n -x ARG Extra argument for script" \ 3664 "\n -I Don't exit on nonzero exit code from script" \ 3665 "\n -p Don't run \"up\" script on startup" \ 3666 "\n -q Don't run \"down\" script on exit" \ 3667 "\n -l Always run script on startup" \ 3668 "\n -t SECS Poll time in seconds" \ 3669 "\n -u SECS Delay before running script after link up" \ 3670 "\n -d SECS Delay after link down" \ 3671 "\n -m MODE API mode (mii, priv, ethtool, wlan, iff, auto)" \ 3672 "\n -k Kill running daemon" \ 3673 3674 #define ifup_trivial_usage \ 3675 "[-an"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] [-i FILE] IFACE..." \ 3676 3677 #define ifup_full_usage "\n\n" \ 3678 " -a De/configure all interfaces automatically" \ 3679 "\n -i FILE Use FILE for interface definitions" \ 3680 "\n -n Print out what would happen, but don't do it" \ 3681 IF_FEATURE_IFUPDOWN_MAPPING( \ 3682 "\n (note: doesn't disable mappings)" \ 3683 "\n -m Don't run any mappings" \ 3684 ) \ 3685 "\n -v Print out what would happen before doing it" \ 3686 "\n -f Force de/configuration" \ 3687 3688 #define ifdown_trivial_usage \ 3689 "[-an"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] [-i FILE] IFACE..." \ 3690 3691 #define ifdown_full_usage "\n\n" \ 3692 " -a De/configure all interfaces automatically" \ 3693 "\n -i FILE Use FILE for interface definitions" \ 3694 "\n -n Print out what would happen, but don't do it" \ 3695 IF_FEATURE_IFUPDOWN_MAPPING( \ 3696 "\n (note: doesn't disable mappings)" \ 3697 "\n -m Don't run any mappings" \ 3698 ) \ 3699 "\n -v Print out what would happen before doing it" \ 3700 "\n -f Force de/configuration" \ 3701 3702 #define inetd_trivial_usage \ 3703 "[-fe] [-q N] [-R N] [CONFFILE]" \ 3704 3705 #define inetd_full_usage "\n\n" \ 3706 "Listen for network connections and launch programs\n" \ 3707 "\n -f Run in foreground" \ 3708 "\n -e Log to stderr" \ 3709 "\n -q N Socket listen queue (default: 128)" \ 3710 "\n -R N Pause services after N connects/min" \ 3711 "\n (default: 0 - disabled)" \ 3712 3713 #define ip_trivial_usage \ 3714 "[OPTIONS] {" \ 3715 IF_FEATURE_IP_ADDRESS("address | ") \ 3716 IF_FEATURE_IP_ROUTE("route | ") \ 3717 IF_FEATURE_IP_LINK("link | ") \ 3718 IF_FEATURE_IP_TUNNEL("tunnel | ") \ 3719 IF_FEATURE_IP_RULE("rule") \ 3720 "} {COMMAND}" \ 3721 3722 #define ip_full_usage "\n\n" \ 3723 "ip [OPTIONS] OBJECT {COMMAND}\n" \ 3724 "where OBJECT := {" \ 3725 IF_FEATURE_IP_ADDRESS("address | ") \ 3726 IF_FEATURE_IP_ROUTE("route | ") \ 3727 IF_FEATURE_IP_LINK("link | ") \ 3728 IF_FEATURE_IP_TUNNEL("tunnel | ") \ 3729 IF_FEATURE_IP_RULE("rule") \ 3730 "}\n" \ 3731 "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \ 3732 3733 #define ipaddr_trivial_usage \ 3734 "{ {add|del} IFADDR dev STRING | {show|flush}\n" \ 3735 " [dev STRING] [to PREFIX] }" \ 3736 3737 #define ipaddr_full_usage "\n\n" \ 3738 "ipaddr {add|delete} IFADDR dev STRING\n" \ 3739 "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n" \ 3740 " [to PREFIX] [label PATTERN]\n" \ 3741 " IFADDR := PREFIX | ADDR peer PREFIX\n" \ 3742 " [broadcast ADDR] [anycast ADDR]\n" \ 3743 " [label STRING] [scope SCOPE-ID]\n" \ 3744 " SCOPE-ID := [host | link | global | NUMBER]" \ 3745 3746 #define iplink_trivial_usage \ 3747 "{ set DEVICE { up | down | arp { on | off } | show [DEVICE] }" \ 3748 3749 #define iplink_full_usage "\n\n" \ 3750 "iplink set DEVICE { up | down | arp | multicast { on | off } |\n" \ 3751 " dynamic { on | off } |\n" \ 3752 " mtu MTU }\n" \ 3753 "iplink show [DEVICE]" \ 3754 3755 #define iproute_trivial_usage \ 3756 "{ list | flush | add | del | change | append |\n" \ 3757 " replace | test } ROUTE" \ 3758 3759 #define iproute_full_usage "\n\n" \ 3760 "iproute { list | flush } SELECTOR\n" \ 3761 "iproute get ADDRESS [from ADDRESS iif STRING]\n" \ 3762 " [oif STRING] [tos TOS]\n" \ 3763 "iproute { add | del | change | append | replace | test } ROUTE\n" \ 3764 " SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO]\n" \ 3765 " ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO] [metric METRIC]" \ 3766 3767 #define iprule_trivial_usage \ 3768 "{[list | add | del] RULE}" \ 3769 3770 #define iprule_full_usage "\n\n" \ 3771 "iprule [list | add | del] SELECTOR ACTION\n" \ 3772 " SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]\n" \ 3773 " [dev STRING] [pref NUMBER]\n" \ 3774 " ACTION := [table TABLE_ID] [nat ADDRESS]\n" \ 3775 " [prohibit | reject | unreachable]\n" \ 3776 " [realms [SRCREALM/]DSTREALM]\n" \ 3777 " TABLE_ID := [local | main | default | NUMBER]" \ 3778 3779 #define iptunnel_trivial_usage \ 3780 "{ add | change | del | show } [NAME]\n" \ 3781 " [mode { ipip | gre | sit }]\n" \ 3782 " [remote ADDR] [local ADDR] [ttl TTL]" \ 3783 3784 #define iptunnel_full_usage "\n\n" \ 3785 "iptunnel { add | change | del | show } [NAME]\n" \ 3786 " [mode { ipip | gre | sit }] [remote ADDR] [local ADDR]\n" \ 3787 " [[i|o]seq] [[i|o]key KEY] [[i|o]csum]\n" \ 3788 " [ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]" \ 3789 3790 #define ipcalc_trivial_usage \ 3791 "[OPTIONS] ADDRESS[[/]NETMASK] [NETMASK]" \ 3792 3793 #define ipcalc_full_usage "\n\n" \ 3794 "Calculate IP network settings from a IP address\n" \ 3795 IF_FEATURE_IPCALC_LONG_OPTIONS( \ 3796 "\n -b,--broadcast Display calculated broadcast address" \ 3797 "\n -n,--network Display calculated network address" \ 3798 "\n -m,--netmask Display default netmask for IP" \ 3799 IF_FEATURE_IPCALC_FANCY( \ 3800 "\n -p,--prefix Display the prefix for IP/NETMASK" \ 3801 "\n -h,--hostname Display first resolved host name" \ 3802 "\n -s,--silent Don't ever display error messages" \ 3803 ) \ 3804 ) \ 3805 IF_NOT_FEATURE_IPCALC_LONG_OPTIONS( \ 3806 "\n -b Display calculated broadcast address" \ 3807 "\n -n Display calculated network address" \ 3808 "\n -m Display default netmask for IP" \ 3809 IF_FEATURE_IPCALC_FANCY( \ 3810 "\n -p Display the prefix for IP/NETMASK" \ 3811 "\n -h Display first resolved host name" \ 3812 "\n -s Don't ever display error messages" \ 3813 ) \ 3814 ) \ 3815 3816 #define fakeidentd_trivial_usage \ 3817 "[-fiw] [-b ADDR] [STRING]" \ 3818 3819 #define fakeidentd_full_usage "\n\n" \ 3820 "Provide fake ident (auth) service\n" \ 3821 "\n -f Run in foreground" \ 3822 "\n -i Inetd mode" \ 3823 "\n -w Inetd 'wait' mode" \ 3824 "\n -b ADDR Bind to specified address" \ 3825 "\n STRING Ident answer string (default: nobody)" \ 3826 3827 #define nameif_trivial_usage \ 3828 IF_NOT_FEATURE_NAMEIF_EXTENDED( \ 3829 "[-s] [-c FILE] [IFNAME HWADDR]..." \ 3830 ) \ 3831 IF_FEATURE_NAMEIF_EXTENDED( \ 3832 "[-s] [-c FILE] [IFNAME SELECTOR]..." \ 3833 ) \ 3834 3835 #define nameif_full_usage "\n\n" \ 3836 "Rename network interface while it in the down state." \ 3837 IF_NOT_FEATURE_NAMEIF_EXTENDED( \ 3838 "\nThe device with address HWADDR is renamed to IFACE." \ 3839 ) \ 3840 IF_FEATURE_NAMEIF_EXTENDED( \ 3841 "\nThe device matched by SELECTOR is renamed to IFACE." \ 3842 "\nSELECTOR can be a combination of:" \ 3843 "\n driver=STRING" \ 3844 "\n bus=STRING" \ 3845 "\n phy_address=NUM" \ 3846 "\n [mac=]XX:XX:XX:XX:XX:XX" \ 3847 ) \ 3848 "\n" \ 3849 "\n -c FILE Configuration file (default: /etc/mactab)" \ 3850 "\n -s Log to syslog" \ 3851 3852 #define nameif_example_usage \ 3853 "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \ 3854 " or\n" \ 3855 "$ nameif -c /etc/my_mactab_file\n" \ 3856 3857 #define nbdclient_trivial_usage \ 3858 "HOST PORT BLOCKDEV" \ 3859 3860 #define nbdclient_full_usage "\n\n" \ 3861 "Connect to HOST and provide a network block device on BLOCKDEV" \ 3862 3863 #if ENABLE_NC_110_COMPAT \ 3864 3865 #define nc_trivial_usage \ 3866 "[OPTIONS] HOST PORT - connect" \ 3867 IF_NC_SERVER("\n" \ 3868 "nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen" \ 3869 ) \ 3870 3871 #define nc_full_usage "\n\n" \ 3872 " -e PROG Run PROG after connect (must be last)" \ 3873 IF_NC_SERVER( \ 3874 "\n -l Listen mode, for inbound connects" \ 3875 ) \ 3876 "\n -p PORT Local port" \ 3877 "\n -s ADDR Local address" \ 3878 "\n -w SEC Timeout for connects and final net reads" \ 3879 IF_NC_EXTRA( \ 3880 "\n -i SEC Delay interval for lines sent" /* ", ports scanned" */ \ 3881 ) \ 3882 "\n -n Don't do DNS resolution" \ 3883 "\n -u UDP mode" \ 1549 3884 "\n -v Verbose" \ 1550 "\n -f Hide errors" \ 1551 ) 1552 #define chgrp_example_usage \ 1553 "$ ls -l /tmp/foo\n" \ 1554 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 1555 "$ chgrp root /tmp/foo\n" \ 1556 "$ ls -l /tmp/foo\n" \ 1557 "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" 1558 1559 #define chown_trivial_usage \ 1560 "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." 1561 #define chown_full_usage "\n\n" \ 1562 "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ 1563 "\nOptions:" \ 1564 "\n -R Recurse" \ 1565 "\n -h Affect symlinks instead of symlink targets" \ 1566 "\n -L Traverse all symlinks to directories" \ 1567 "\n -H Traverse symlinks on command line only" \ 1568 "\n -P Don't traverse symlinks (default)" \ 1569 IF_DESKTOP( \ 1570 "\n -c List changed files" \ 1571 "\n -v List all files" \ 1572 "\n -f Hide errors" \ 1573 ) 1574 #define chown_example_usage \ 1575 "$ ls -l /tmp/foo\n" \ 1576 "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ 1577 "$ chown root /tmp/foo\n" \ 1578 "$ ls -l /tmp/foo\n" \ 1579 "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \ 1580 "$ chown root.root /tmp/foo\n" \ 1581 "ls -l /tmp/foo\n" \ 1582 "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" 3885 IF_NC_EXTRA( \ 3886 "\n -o FILE Hex dump traffic" \ 3887 "\n -z Zero-I/O mode (scanning)" \ 3888 ) \ 3889 3890 #endif \ 3891 3892 #if !ENABLE_NC_110_COMPAT \ 3893 3894 #if ENABLE_NC_SERVER || ENABLE_NC_EXTRA \ 3895 3896 #define NC_OPTIONS_STR "\n" \ 3897 3898 #else \ 3899 3900 #define NC_OPTIONS_STR \ 3901 3902 #endif \ 3903 3904 #define nc_trivial_usage \ 3905 IF_NC_EXTRA("[-iN] [-wN] ")IF_NC_SERVER("[-l] [-p PORT] ") \ 3906 "["IF_NC_EXTRA("-f FILE|")"IPADDR PORT]"IF_NC_EXTRA(" [-e PROG]") \ 3907 3908 #define nc_full_usage "\n\n" \ 3909 "Open a pipe to IP:PORT" IF_NC_EXTRA(" or FILE") \ 3910 NC_OPTIONS_STR \ 3911 IF_NC_EXTRA( \ 3912 "\n -e PROG Run PROG after connect" \ 3913 IF_NC_SERVER( \ 3914 "\n -l Listen mode, for inbound connects" \ 3915 IF_NC_EXTRA( \ 3916 "\n (use -l twice with -e for persistent server)") \ 3917 "\n -p PORT Local port" \ 3918 ) \ 3919 "\n -w SEC Timeout for connect" \ 3920 "\n -i SEC Delay interval for lines sent" \ 3921 "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \ 3922 ) \ 3923 3924 #define nc_notes_usage "" \ 3925 IF_NC_EXTRA( \ 3926 "To use netcat as a terminal emulator on a serial port:\n\n" \ 3927 "$ stty 115200 -F /dev/ttyS0\n" \ 3928 "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \ 3929 ) \ 3930 3931 #define nc_example_usage \ 3932 "$ nc foobar.somedomain.com 25\n" \ 3933 "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \ 3934 "help\n" \ 3935 "214-Commands supported:\n" \ 3936 "214- HELO EHLO MAIL RCPT DATA AUTH\n" \ 3937 "214 NOOP QUIT RSET HELP\n" \ 3938 "quit\n" \ 3939 "221 foobar closing connection\n" \ 3940 3941 #endif \ 3942 3943 #define netstat_trivial_usage \ 3944 "[-"IF_ROUTE("r")"al] [-tuwx] [-en"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]" \ 3945 3946 #define netstat_full_usage "\n\n" \ 3947 "Display networking information\n" \ 3948 IF_ROUTE( \ 3949 "\n -r Routing table" \ 3950 ) \ 3951 "\n -a All sockets" \ 3952 "\n -l Listening sockets" \ 3953 "\n Else: connected sockets" \ 3954 "\n -t TCP sockets" \ 3955 "\n -u UDP sockets" \ 3956 "\n -w Raw sockets" \ 3957 "\n -x Unix sockets" \ 3958 "\n Else: all socket types" \ 3959 "\n -e Other/more information" \ 3960 "\n -n Don't resolve names" \ 3961 IF_FEATURE_NETSTAT_WIDE( \ 3962 "\n -W Wide display" \ 3963 ) \ 3964 IF_FEATURE_NETSTAT_PRG( \ 3965 "\n -p Show PID/program name for sockets" \ 3966 ) \ 3967 3968 #define nslookup_trivial_usage \ 3969 "[HOST] [SERVER]" \ 3970 3971 #define nslookup_full_usage "\n\n" \ 3972 "Query the nameserver for the IP address of the given HOST\n" \ 3973 "optionally using a specified DNS server" \ 3974 3975 #define nslookup_example_usage \ 3976 "$ nslookup localhost\n" \ 3977 "Server: default\n" \ 3978 "Address: default\n" \ 3979 "\n" \ 3980 "Name: debian\n" \ 3981 "Address: 127.0.0.1\n" \ 3982 3983 #define ntpd_trivial_usage \ 3984 "[-dnqNw"IF_FEATURE_NTPD_SERVER("l")"] [-S PROG] [-p PEER]..." \ 3985 3986 #define ntpd_full_usage "\n\n" \ 3987 "NTP client/server\n" \ 3988 "\n -d Verbose" \ 3989 "\n -n Do not daemonize" \ 3990 "\n -q Quit after clock is set" \ 3991 "\n -N Run at high priority" \ 3992 "\n -w Do not set time (only query peers), implies -n" \ 3993 IF_FEATURE_NTPD_SERVER( \ 3994 "\n -l Run as server on port 123" \ 3995 ) \ 3996 "\n -S PROG Run PROG after stepping time, stratum change, and every 11 mins" \ 3997 "\n -p PEER Obtain time from PEER (may be repeated)" \ 3998 3999 #if !ENABLE_FEATURE_FANCY_PING \ 4000 4001 # define ping_trivial_usage \ 4002 "HOST" \ 4003 4004 # define ping_full_usage "\n\n" \ 4005 "Send ICMP ECHO_REQUEST packets to network hosts" \ 4006 4007 # define ping6_trivial_usage \ 4008 "HOST" \ 4009 4010 # define ping6_full_usage "\n\n" \ 4011 "Send ICMP ECHO_REQUEST packets to network hosts" \ 4012 4013 #else \ 4014 4015 # define ping_trivial_usage \ 4016 "[OPTIONS] HOST" \ 4017 4018 # define ping_full_usage "\n\n" \ 4019 "Send ICMP ECHO_REQUEST packets to network hosts\n" \ 4020 "\n -4,-6 Force IP or IPv6 name resolution" \ 4021 "\n -c CNT Send only CNT pings" \ 4022 "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ 4023 "\n -t TTL Set TTL" \ 4024 "\n -I IFACE/IP Use interface or IP address as source" \ 4025 "\n -W SEC Seconds to wait for the first response (default:10)" \ 4026 "\n (after all -c CNT packets are sent)" \ 4027 "\n -w SEC Seconds until ping exits (default:infinite)" \ 4028 "\n (can exit earlier with -c CNT)" \ 4029 "\n -q Quiet, only displays output at start" \ 4030 "\n and when finished" \ 4031 4032 # define ping6_trivial_usage \ 4033 "[OPTIONS] HOST" \ 4034 4035 # define ping6_full_usage "\n\n" \ 4036 "Send ICMP ECHO_REQUEST packets to network hosts\n" \ 4037 "\n -c CNT Send only CNT pings" \ 4038 "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ 4039 "\n -I IFACE/IP Use interface or IP address as source" \ 4040 "\n -q Quiet, only displays output at start" \ 4041 "\n and when finished" \ 4042 4043 #endif \ 4044 4045 #define ping_example_usage \ 4046 "$ ping localhost\n" \ 4047 "PING slag (127.0.0.1): 56 data bytes\n" \ 4048 "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \ 4049 "\n" \ 4050 "--- debian ping statistics ---\n" \ 4051 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 4052 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" \ 4053 4054 #define ping6_example_usage \ 4055 "$ ping6 ip6-localhost\n" \ 4056 "PING ip6-localhost (::1): 56 data bytes\n" \ 4057 "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \ 4058 "\n" \ 4059 "--- ip6-localhost ping statistics ---\n" \ 4060 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 4061 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" \ 4062 4063 #define pscan_trivial_usage \ 4064 "[-cb] [-p MIN_PORT] [-P MAX_PORT] [-t TIMEOUT] [-T MIN_RTT] HOST" \ 4065 4066 #define pscan_full_usage "\n\n" \ 4067 "Scan a host, print all open ports\n" \ 4068 "\n -c Show closed ports too" \ 4069 "\n -b Show blocked ports too" \ 4070 "\n -p Scan from this port (default 1)" \ 4071 "\n -P Scan up to this port (default 1024)" \ 4072 "\n -t Timeout (default 5000 ms)" \ 4073 "\n -T Minimum rtt (default 5 ms, increase for congested hosts)" \ 4074 4075 #define route_trivial_usage \ 4076 "[{add|del|delete}]" \ 4077 4078 #define route_full_usage "\n\n" \ 4079 "Edit kernel routing tables\n" \ 4080 "\n -n Don't resolve names" \ 4081 "\n -e Display other/more information" \ 4082 "\n -A inet" IF_FEATURE_IPV6("{6}") " Select address family" \ 4083 4084 #define slattach_trivial_usage \ 4085 "[-cehmLF] [-s SPEED] [-p PROTOCOL] DEVICE" \ 4086 4087 #define slattach_full_usage "\n\n" \ 4088 "Attach network interface(s) to serial line(s)\n" \ 4089 "\n -p PROT Set protocol (slip, cslip, slip6, clisp6 or adaptive)" \ 4090 "\n -s SPD Set line speed" \ 4091 "\n -e Exit after initializing device" \ 4092 "\n -h Exit when the carrier is lost" \ 4093 "\n -c PROG Run PROG when the line is hung up" \ 4094 "\n -m Do NOT initialize the line in raw 8 bits mode" \ 4095 "\n -L Enable 3-wire operation" \ 4096 "\n -F Disable RTS/CTS flow control" \ 4097 4098 #define tc_trivial_usage \ 4099 "OBJECT CMD [dev STRING]" \ 4100 4101 #define tc_full_usage "\n\n" \ 4102 "OBJECT: {qdisc|class|filter}\n" \ 4103 "CMD: {add|del|change|replace|show}\n" \ 4104 "\n" \ 4105 "qdisc [ handle QHANDLE ] [ root |"IF_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ 4106 " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ 4107 " QDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ 4108 "qdisc show [ dev STRING ]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" \ 4109 "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ 4110 " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ 4111 "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ 4112 "filter [ pref PRIO ] [ protocol PROTO ]\n" \ 4113 " [ root | classid CLASSID ] [ handle FILTERID ]\n" \ 4114 " [ [ FILTER_TYPE ] [ help | OPTIONS ] ]\n" \ 4115 "filter show [ dev STRING ] [ root | parent CLASSID ]" \ 4116 4117 #define tcpsvd_trivial_usage \ 4118 "[-hEv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] IP PORT PROG" \ 4119 4120 #define tcpsvd_full_usage "\n\n" \ 4121 "Create TCP socket, bind to IP:PORT and listen\n" \ 4122 "for incoming connection. Run PROG for each connection.\n" \ 4123 "\n IP IP to listen on, 0 = all" \ 4124 "\n PORT Port to listen on" \ 4125 "\n PROG ARGS Program to run" \ 4126 "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ 4127 "\n -u USER[:GRP] Change to user/group after bind" \ 4128 "\n -c N Handle up to N connections simultaneously" \ 4129 "\n -b N Allow a backlog of approximately N TCP SYNs" \ 4130 "\n -C N[:MSG] Allow only up to N connections from the same IP" \ 4131 "\n New connections from this IP address are closed" \ 4132 "\n immediately. MSG is written to the peer before close" \ 4133 "\n -h Look up peer's hostname" \ 4134 "\n -E Don't set up environment variables" \ 4135 "\n -v Verbose" \ 4136 4137 #define udpsvd_trivial_usage \ 4138 "[-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROG" \ 4139 4140 #define udpsvd_full_usage "\n\n" \ 4141 "Create UDP socket, bind to IP:PORT and wait\n" \ 4142 "for incoming packets. Run PROG for each packet,\n" \ 4143 "redirecting all further packets with same peer ip:port to it.\n" \ 4144 "\n IP IP to listen on, 0 = all" \ 4145 "\n PORT Port to listen on" \ 4146 "\n PROG ARGS Program to run" \ 4147 "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ 4148 "\n -u USER[:GRP] Change to user/group after bind" \ 4149 "\n -c N Handle up to N connections simultaneously" \ 4150 "\n -h Look up peer's hostname" \ 4151 "\n -E Don't set up environment variables" \ 4152 "\n -v Verbose" \ 4153 4154 #if ENABLE_FEATURE_TELNET_AUTOLOGIN \ 4155 4156 #define telnet_trivial_usage \ 4157 "[-a] [-l USER] HOST [PORT]" \ 4158 4159 #define telnet_full_usage "\n\n" \ 4160 "Connect to telnet server\n" \ 4161 "\n -a Automatic login with $USER variable" \ 4162 "\n -l USER Automatic login as USER" \ 4163 4164 #else \ 4165 4166 #define telnet_trivial_usage \ 4167 "HOST [PORT]" \ 4168 4169 #define telnet_full_usage "\n\n" \ 4170 "Connect to telnet server" \ 4171 4172 #endif \ 4173 4174 #define telnetd_trivial_usage \ 4175 "[OPTIONS]" \ 4176 4177 #define telnetd_full_usage "\n\n" \ 4178 "Handle incoming telnet connections" \ 4179 IF_NOT_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ 4180 "\n -l LOGIN Exec LOGIN on connect" \ 4181 "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ 4182 "\n -K Close connection as soon as login exits" \ 4183 "\n (normally wait until all programs close slave pty)" \ 4184 IF_FEATURE_TELNETD_STANDALONE( \ 4185 "\n -p PORT Port to listen on" \ 4186 "\n -b ADDR[:PORT] Address to bind to" \ 4187 "\n -F Run in foreground" \ 4188 "\n -i Inetd mode" \ 4189 IF_FEATURE_TELNETD_INETD_WAIT( \ 4190 "\n -w SEC Inetd 'wait' mode, linger time SEC" \ 4191 "\n -S Log to syslog (implied by -i or without -F and -w)" \ 4192 ) \ 4193 ) \ 4194 4195 #define tftp_trivial_usage \ 4196 "[OPTIONS] HOST [PORT]" \ 4197 4198 #define tftp_full_usage "\n\n" \ 4199 "Transfer a file from/to tftp server\n" \ 4200 "\n -l FILE Local FILE" \ 4201 "\n -r FILE Remote FILE" \ 4202 IF_FEATURE_TFTP_GET( \ 4203 "\n -g Get file" \ 4204 ) \ 4205 IF_FEATURE_TFTP_PUT( \ 4206 "\n -p Put file" \ 4207 ) \ 4208 IF_FEATURE_TFTP_BLOCKSIZE( \ 4209 "\n -b SIZE Transfer blocks of SIZE octets" \ 4210 ) \ 4211 4212 #define tftpd_trivial_usage \ 4213 "[-cr] [-u USER] [DIR]" \ 4214 4215 #define tftpd_full_usage "\n\n" \ 4216 "Transfer a file on tftp client's request\n" \ 4217 "\n" \ 4218 "tftpd should be used as an inetd service.\n" \ 4219 "tftpd's line for inetd.conf:\n" \ 4220 " 69 dgram udp nowait root tftpd tftpd -l /files/to/serve\n" \ 4221 "It also can be ran from udpsvd:\n" \ 4222 " udpsvd -vE 0.0.0.0 69 tftpd /files/to/serve\n" \ 4223 "\n -r Prohibit upload" \ 4224 "\n -c Allow file creation via upload" \ 4225 "\n -u Access files as USER" \ 4226 "\n -l Log to syslog (inetd mode requires this)" \ 4227 4228 #define traceroute_trivial_usage \ 4229 "[-"IF_TRACEROUTE6("46")"FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ 4230 " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]\n" \ 4231 " [-z PAUSE_MSEC] HOST [BYTES]" \ 4232 4233 #define traceroute_full_usage "\n\n" \ 4234 "Trace the route to HOST\n" \ 4235 IF_TRACEROUTE6( \ 4236 "\n -4,-6 Force IP or IPv6 name resolution" \ 4237 ) \ 4238 "\n -F Set the don't fragment bit" \ 4239 "\n -I Use ICMP ECHO instead of UDP datagrams" \ 4240 "\n -l Display the TTL value of the returned packet" \ 4241 "\n -d Set SO_DEBUG options to socket" \ 4242 "\n -n Print numeric addresses" \ 4243 "\n -r Bypass routing tables, send directly to HOST" \ 4244 "\n -v Verbose" \ 4245 "\n -m Max time-to-live (max number of hops)" \ 4246 "\n -p Base UDP port number used in probes" \ 4247 "\n (default 33434)" \ 4248 "\n -q Number of probes per TTL (default 3)" \ 4249 "\n -s IP address to use as the source address" \ 4250 "\n -t Type-of-service in probe packets (default 0)" \ 4251 "\n -w Time in seconds to wait for a response (default 3)" \ 4252 "\n -g Loose source route gateway (8 max)" \ 4253 4254 #define traceroute6_trivial_usage \ 4255 "[-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ 4256 " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE]\n" \ 4257 " HOST [BYTES]" \ 4258 4259 #define traceroute6_full_usage "\n\n" \ 4260 "Trace the route to HOST\n" \ 4261 "\n -d Set SO_DEBUG options to socket" \ 4262 "\n -n Print numeric addresses" \ 4263 "\n -r Bypass routing tables, send directly to HOST" \ 4264 "\n -v Verbose" \ 4265 "\n -m Max time-to-live (max number of hops)" \ 4266 "\n -p Base UDP port number used in probes" \ 4267 "\n (default is 33434)" \ 4268 "\n -q Number of probes per TTL (default 3)" \ 4269 "\n -s IP address to use as the source address" \ 4270 "\n -t Type-of-service in probe packets (default 0)" \ 4271 "\n -w Time in seconds to wait for a response (default 3)" \ 4272 4273 #define tunctl_trivial_usage \ 4274 "[-f device] ([-t name] | -d name)" IF_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") \ 4275 4276 #define tunctl_full_usage "\n\n" \ 4277 "Create or delete tun interfaces\n" \ 4278 "\n -f name tun device (/dev/net/tun)" \ 4279 "\n -t name Create iface 'name'" \ 4280 "\n -d name Delete iface 'name'" \ 4281 IF_FEATURE_TUNCTL_UG( \ 4282 "\n -u owner Set iface owner" \ 4283 "\n -g group Set iface group" \ 4284 "\n -b Brief output" \ 4285 ) \ 4286 4287 #define tunctl_example_usage \ 4288 "# tunctl\n" \ 4289 "# tunctl -d tun0\n" \ 4290 4291 #define vconfig_trivial_usage \ 4292 "COMMAND [OPTIONS]" \ 4293 4294 #define vconfig_full_usage "\n\n" \ 4295 "Create and remove virtual ethernet devices\n" \ 4296 "\n add IFACE VLAN_ID" \ 4297 "\n rem VLAN_NAME" \ 4298 "\n set_flag IFACE 0|1 VLAN_QOS" \ 4299 "\n set_egress_map VLAN_NAME SKB_PRIO VLAN_QOS" \ 4300 "\n set_ingress_map VLAN_NAME SKB_PRIO VLAN_QOS" \ 4301 "\n set_name_type NAME_TYPE" \ 4302 4303 #define wget_trivial_usage \ 4304 IF_FEATURE_WGET_LONG_OPTIONS( \ 4305 "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]\n" \ 4306 " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ 4307 " [-U|--user-agent AGENT]" IF_FEATURE_WGET_TIMEOUT(" [-T SEC]") " URL..." \ 4308 ) \ 4309 IF_NOT_FEATURE_WGET_LONG_OPTIONS( \ 4310 "[-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT]" \ 4311 IF_FEATURE_WGET_TIMEOUT(" [-T SEC]") " URL..." \ 4312 ) \ 4313 4314 #define wget_full_usage "\n\n" \ 4315 "Retrieve files via HTTP or FTP\n" \ 4316 "\n -s Spider mode - only check file existence" \ 4317 "\n -c Continue retrieval of aborted transfer" \ 4318 "\n -q Quiet" \ 4319 "\n -P DIR Save to DIR (default .)" \ 4320 IF_FEATURE_WGET_TIMEOUT( \ 4321 "\n -T SEC Network read timeout is SEC seconds" \ 4322 ) \ 4323 "\n -O FILE Save to FILE ('-' for stdout)" \ 4324 "\n -U STR Use STR for User-Agent header" \ 4325 "\n -Y Use proxy ('on' or 'off')" \ 4326 4327 #define zcip_trivial_usage \ 4328 "[OPTIONS] IFACE SCRIPT" \ 4329 4330 #define zcip_full_usage "\n\n" \ 4331 "Manage a ZeroConf IPv4 link-local address\n" \ 4332 "\n -f Run in foreground" \ 4333 "\n -q Quit after obtaining address" \ 4334 "\n -r 169.254.x.x Request this address first" \ 4335 "\n -v Verbose" \ 4336 "\n" \ 4337 "\nWith no -q, runs continuously monitoring for ARP conflicts," \ 4338 "\nexits only on I/O errors (link down etc)" \ 4339 4340 #define lpd_trivial_usage \ 4341 "SPOOLDIR [HELPER [ARGS]]" \ 4342 4343 #define lpd_full_usage "\n\n" \ 4344 "SPOOLDIR must contain (symlinks to) device nodes or directories" \ 4345 "\nwith names matching print queue names. In the first case, jobs are" \ 4346 "\nsent directly to the device. Otherwise each job is stored in queue" \ 4347 "\ndirectory and HELPER program is called. Name of file to print" \ 4348 "\nis passed in $DATAFILE variable." \ 4349 "\nExample:" \ 4350 "\n tcpsvd -E 0 515 softlimit -m 999999 lpd /var/spool ./print" \ 4351 4352 #define lpr_trivial_usage \ 4353 "-P queue[@host[:port]] -U USERNAME -J TITLE -Vmh [FILE]..." \ 4354 4355 #define lpr_full_usage "\n\n" \ 4356 " -P lp service to connect to (else uses $PRINTER)" \ 4357 "\n -m Send mail on completion" \ 4358 "\n -h Print banner page too" \ 4359 "\n -V Verbose" \ 4360 4361 #define lpq_trivial_usage \ 4362 "[-P queue[@host[:port]]] [-U USERNAME] [-d JOBID]... [-fs]" \ 4363 4364 #define lpq_full_usage "\n\n" \ 4365 " -P lp service to connect to (else uses $PRINTER)" \ 4366 "\n -d Delete jobs" \ 4367 "\n -f Force any waiting job to be printed" \ 4368 "\n -s Short display" \ 4369 4370 #define free_trivial_usage \ 4371 "" IF_DESKTOP("[-b/k/m/g]") \ 4372 4373 #define free_full_usage "\n\n" \ 4374 "Display the amount of free and used system memory" \ 4375 4376 #define free_example_usage \ 4377 "$ free\n" \ 4378 " total used free shared buffers\n" \ 4379 " Mem: 257628 248724 8904 59644 93124\n" \ 4380 " Swap: 128516 8404 120112\n" \ 4381 "Total: 386144 257128 129016\n" \ 4382 4383 #define fuser_trivial_usage \ 4384 "[OPTIONS] FILE or PORT/PROTO" \ 4385 4386 #define fuser_full_usage "\n\n" \ 4387 "Find processes which use FILEs or PORTs\n" \ 4388 "\n -m Find processes which use same fs as FILEs" \ 4389 "\n -4,-6 Search only IPv4/IPv6 space" \ 4390 "\n -s Don't display PIDs" \ 4391 "\n -k Kill found processes" \ 4392 "\n -SIGNAL Signal to send (default: KILL)" \ 4393 4394 #define iostat_trivial_usage \ 4395 "[-c] [-d] [-t] [-z] [-k|-m] [ALL|BLOCKDEV...] [INTERVAL [COUNT]]" \ 4396 4397 #define iostat_full_usage "\n\n" \ 4398 "Report CPU and I/O statistics\n" \ 4399 "\n -c Show CPU utilization" \ 4400 "\n -d Show device utilization" \ 4401 "\n -t Print current time" \ 4402 "\n -z Omit devices with no activity" \ 4403 "\n -k Use kb/s" \ 4404 "\n -m Use Mb/s" \ 4405 4406 #define kill_trivial_usage \ 4407 "[-l] [-SIG] PID..." \ 4408 4409 #define kill_full_usage "\n\n" \ 4410 "Send a signal (default: TERM) to given PIDs\n" \ 4411 "\n -l List all signal names and numbers" \ 4412 4413 #define kill_example_usage \ 4414 "$ ps | grep apache\n" \ 4415 "252 root root S [apache]\n" \ 4416 "263 www-data www-data S [apache]\n" \ 4417 "264 www-data www-data S [apache]\n" \ 4418 "265 www-data www-data S [apache]\n" \ 4419 "266 www-data www-data S [apache]\n" \ 4420 "267 www-data www-data S [apache]\n" \ 4421 "$ kill 252\n" \ 4422 4423 #define killall_trivial_usage \ 4424 "[-l] [-q] [-SIG] PROCESS_NAME..." \ 4425 4426 #define killall_full_usage "\n\n" \ 4427 "Send a signal (default: TERM) to given processes\n" \ 4428 "\n -l List all signal names and numbers" \ 4429 "\n -q Don't complain if no processes were killed" \ 4430 4431 #define killall_example_usage \ 4432 "$ killall apache\n" \ 4433 4434 #define killall5_trivial_usage \ 4435 "[-l] [-SIG] [-o PID]..." \ 4436 4437 #define killall5_full_usage "\n\n" \ 4438 "Send a signal (default: TERM) to all processes outside current session\n" \ 4439 "\n -l List all signal names and numbers" \ 4440 "\n -o PID Don't signal this PID" \ 4441 4442 #define mpstat_trivial_usage \ 4443 "[-A] [-I SUM|CPU|ALL|SCPU] [-u] [-P num|ALL] [INTERVAL [COUNT]]" \ 4444 4445 #define mpstat_full_usage "\n\n" \ 4446 "Per-processor statistics\n" \ 4447 "\n -A Same as -I ALL -u -P ALL" \ 4448 "\n -I SUM|CPU|ALL|SCPU Report interrupt statistics" \ 4449 "\n -P num|ALL Processor to monitor" \ 4450 "\n -u Report CPU utilization" \ 4451 4452 #define nmeter_trivial_usage \ 4453 "[-d MSEC] FORMAT_STRING" \ 4454 4455 #define nmeter_full_usage "\n\n" \ 4456 "Monitor system in real time" \ 4457 "\n" \ 4458 "\n -d MSEC Milliseconds between updates (default:1000)" \ 4459 "\n" \ 4460 "\nFormat specifiers:" \ 4461 "\n %Nc or %[cN] CPU. N - bar size (default:10)" \ 4462 "\n (displays: S:system U:user N:niced D:iowait I:irq i:softirq)" \ 4463 "\n %[nINTERFACE] Network INTERFACE" \ 4464 "\n %m Allocated memory" \ 4465 "\n %[mf] Free memory" \ 4466 "\n %[mt] Total memory" \ 4467 "\n %s Allocated swap" \ 4468 "\n %f Number of used file descriptors" \ 4469 "\n %Ni Total/specific IRQ rate" \ 4470 "\n %x Context switch rate" \ 4471 "\n %p Forks" \ 4472 "\n %[pn] # of processes" \ 4473 "\n %b Block io" \ 4474 "\n %Nt Time (with N decimal points)" \ 4475 "\n %r Print <cr> instead of <lf> at EOL" \ 4476 4477 #define pgrep_trivial_usage \ 4478 "[-flnovx] [-s SID|-P PPID|PATTERN]" \ 4479 4480 #define pgrep_full_usage "\n\n" \ 4481 "Display process(es) selected by regex PATTERN\n" \ 4482 "\n -l Show command name too" \ 4483 "\n -f Match against entire command line" \ 4484 "\n -n Show the newest process only" \ 4485 "\n -o Show the oldest process only" \ 4486 "\n -v Negate the match" \ 4487 "\n -x Match whole name (not substring)" \ 4488 "\n -s Match session ID (0 for current)" \ 4489 "\n -P Match parent process ID" \ 4490 4491 #define pkill_trivial_usage \ 4492 "[-l|-SIGNAL] [-fnovx] [-s SID|-P PPID|PATTERN]" \ 4493 4494 #define pkill_full_usage "\n\n" \ 4495 "Send a signal to process(es) selected by regex PATTERN\n" \ 4496 "\n -l List all signals" \ 4497 "\n -f Match against entire command line" \ 4498 "\n -n Signal the newest process only" \ 4499 "\n -o Signal the oldest process only" \ 4500 "\n -v Negate the match" \ 4501 "\n -x Match whole name (not substring)" \ 4502 "\n -s Match session ID (0 for current)" \ 4503 "\n -P Match parent process ID" \ 4504 4505 #if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT) \ 4506 4507 #define pidof_trivial_usage \ 4508 "[OPTIONS] [NAME]..." \ 4509 4510 #define USAGE_PIDOF "\n" \ 4511 4512 #else \ 4513 4514 #define pidof_trivial_usage \ 4515 "[NAME]..." \ 4516 4517 #define USAGE_PIDOF /* none */ \ 4518 4519 #endif \ 4520 4521 #define pidof_full_usage "\n\n" \ 4522 "List PIDs of all processes with names that match NAMEs" \ 4523 USAGE_PIDOF \ 4524 IF_FEATURE_PIDOF_SINGLE( \ 4525 "\n -s Show only one PID" \ 4526 ) \ 4527 IF_FEATURE_PIDOF_OMIT( \ 4528 "\n -o PID Omit given pid" \ 4529 "\n Use %PPID to omit pid of pidof's parent" \ 4530 ) \ 4531 4532 #define pidof_example_usage \ 4533 "$ pidof init\n" \ 4534 "1\n" \ 4535 IF_FEATURE_PIDOF_OMIT( \ 4536 "$ pidof /bin/sh\n20351 5973 5950\n") \ 4537 IF_FEATURE_PIDOF_OMIT( \ 4538 "$ pidof /bin/sh -o %PPID\n20351 5950") \ 4539 4540 #define pmap_trivial_usage \ 4541 "[-xq] PID" \ 4542 4543 #define pmap_full_usage "\n\n" \ 4544 "Display detailed process memory usage" \ 4545 "\n" \ 4546 "\n -x Show details" \ 4547 "\n -q Quiet" \ 4548 4549 #define powertop_trivial_usage \ 4550 "" \ 4551 4552 #define powertop_full_usage "\n\n" \ 4553 "Analyze power consumption on Intel-based laptops\n" \ 4554 4555 #if ENABLE_DESKTOP \ 4556 4557 #define ps_trivial_usage \ 4558 "[-o COL1,COL2=HEADER]" IF_FEATURE_SHOW_THREADS(" [-T]") \ 4559 4560 #define ps_full_usage "\n\n" \ 4561 "Show list of processes\n" \ 4562 "\n -o COL1,COL2=HEADER Select columns for display" \ 4563 IF_FEATURE_SHOW_THREADS( \ 4564 "\n -T Show threads" \ 4565 ) \ 4566 4567 #else /* !ENABLE_DESKTOP */ \ 4568 4569 #if !ENABLE_SELINUX && !ENABLE_FEATURE_PS_WIDE \ 4570 4571 #define USAGE_PS "\nThis version of ps accepts no options" \ 4572 4573 #else \ 4574 4575 #define USAGE_PS "" \ 4576 4577 #endif \ 4578 4579 #define ps_trivial_usage \ 4580 "" \ 4581 4582 #define ps_full_usage "\n\n" \ 4583 "Show list of processes\n" \ 4584 USAGE_PS \ 4585 IF_SELINUX( \ 4586 "\n -Z Show selinux context" \ 4587 ) \ 4588 IF_FEATURE_PS_WIDE( \ 4589 "\n w Wide output" \ 4590 ) \ 4591 IF_FEATURE_PS_LONG( \ 4592 "\n l Long output" \ 4593 ) \ 4594 IF_FEATURE_SHOW_THREADS( \ 4595 "\n T Show threads" \ 4596 ) \ 4597 4598 #endif /* ENABLE_DESKTOP */ \ 4599 4600 #define ps_example_usage \ 4601 "$ ps\n" \ 4602 " PID Uid Gid State Command\n" \ 4603 " 1 root root S init\n" \ 4604 " 2 root root S [kflushd]\n" \ 4605 " 3 root root S [kupdate]\n" \ 4606 " 4 root root S [kpiod]\n" \ 4607 " 5 root root S [kswapd]\n" \ 4608 " 742 andersen andersen S [bash]\n" \ 4609 " 743 andersen andersen S -bash\n" \ 4610 " 745 root root S [getty]\n" \ 4611 " 2990 andersen andersen R ps\n" \ 4612 4613 #define renice_trivial_usage \ 4614 "{{-n INCREMENT} | PRIORITY} [[-p | -g | -u] ID...]" \ 4615 4616 #define renice_full_usage "\n\n" \ 4617 "Change scheduling priority for a running process\n" \ 4618 "\n -n Adjust current nice value (smaller is faster)" \ 4619 "\n -p Process id(s) (default)" \ 4620 "\n -g Process group id(s)" \ 4621 "\n -u Process user name(s) and/or id(s)" \ 4622 4623 #define smemcap_trivial_usage ">SMEMDATA.TAR" \ 4624 4625 #define smemcap_full_usage "\n\n" \ 4626 "Collect memory usage data in /proc and write it to stdout" \ 4627 4628 #define sysctl_trivial_usage \ 4629 "[OPTIONS] [KEY[=VALUE]]..." \ 4630 4631 #define sysctl_full_usage "\n\n" \ 4632 "Show/set kernel parameters\n" \ 4633 "\n -e Don't warn about unknown keys" \ 4634 "\n -n Don't show key names" \ 4635 "\n -a Show all values" \ 4636 "\n -w Set values" \ 4637 "\n -p FILE Set values from FILE (default /etc/sysctl.conf)" \ 4638 "\n -q Set values silently" \ 4639 4640 #define sysctl_example_usage \ 4641 "sysctl [-n] [-e] variable...\n" \ 4642 "sysctl [-n] [-e] [-q] -w variable=value...\n" \ 4643 "sysctl [-n] [-e] -a\n" \ 4644 "sysctl [-n] [-e] [-q] -p file (default /etc/sysctl.conf)\n" \ 4645 "sysctl [-n] [-e] -A\n" \ 4646 4647 #if ENABLE_FEATURE_SHOW_THREADS || ENABLE_FEATURE_TOP_SMP_CPU \ 4648 4649 # define IF_SHOW_THREADS_OR_TOP_SMP(...) __VA_ARGS__ \ 4650 4651 #else \ 4652 4653 # define IF_SHOW_THREADS_OR_TOP_SMP(...) \ 4654 4655 #endif \ 4656 4657 #define top_trivial_usage \ 4658 "[-b] [-nCOUNT] [-dSECONDS]" IF_FEATURE_TOPMEM(" [-m]") \ 4659 4660 #define top_full_usage "\n\n" \ 4661 "Provide a view of process activity in real time." \ 4662 "\n""Read the status of all processes from /proc each SECONDS" \ 4663 "\n""and display a screenful of them." \ 4664 "\n""Keys:" \ 4665 "\n"" N/M" \ 4666 IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE("/P") \ 4667 IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE("/T") \ 4668 ": " IF_FEATURE_TOPMEM("show CPU usage, ") "sort by pid/mem" \ 4669 IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE("/cpu") \ 4670 IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE("/time") \ 4671 IF_FEATURE_TOPMEM( \ 4672 "\n"" S: show memory" \ 4673 ) \ 4674 "\n"" R: reverse sort" \ 4675 IF_SHOW_THREADS_OR_TOP_SMP( \ 4676 "\n"" " \ 4677 IF_FEATURE_SHOW_THREADS("H: toggle threads") \ 4678 IF_FEATURE_SHOW_THREADS(IF_FEATURE_TOP_SMP_CPU(", ")) \ 4679 IF_FEATURE_TOP_SMP_CPU("1: toggle SMP") \ 4680 ) \ 4681 "\n"" Q,^C: exit" \ 4682 "\n" \ 4683 "\n""Options:" \ 4684 "\n"" -b Batch mode" \ 4685 "\n"" -n N Exit after N iterations" \ 4686 "\n"" -d N Delay between updates" \ 4687 IF_FEATURE_TOPMEM( \ 4688 "\n"" -m Same as 's' key" \ 4689 ) \ 4690 4691 #define uptime_trivial_usage \ 4692 "" \ 4693 4694 #define uptime_full_usage "\n\n" \ 4695 "Display the time since the last boot" \ 4696 4697 #define uptime_example_usage \ 4698 "$ uptime\n" \ 4699 " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" \ 4700 4701 #define watch_trivial_usage \ 4702 "[-n SEC] [-t] PROG ARGS" \ 4703 4704 #define watch_full_usage "\n\n" \ 4705 "Run PROG periodically\n" \ 4706 "\n -n Loop period in seconds (default 2)" \ 4707 "\n -t Don't print header" \ 4708 4709 #define watch_example_usage \ 4710 "$ watch date\n" \ 4711 "Mon Dec 17 10:31:40 GMT 2000\n" \ 4712 "Mon Dec 17 10:31:42 GMT 2000\n" \ 4713 "Mon Dec 17 10:31:44 GMT 2000" \ 1583 4714 1584 4715 #define chpst_trivial_usage \ 1585 4716 "[-vP012] [-u USER[:GRP]] [-U USER[:GRP]] [-e DIR]\n" \ 1586 4717 " [-/ DIR] [-n NICE] [-m BYTES] [-d BYTES] [-o N]\n" \ 1587 " [-p N] [-f BYTES] [-c BYTES] PROG ARGS" 4718 " [-p N] [-f BYTES] [-c BYTES] PROG ARGS" \ 4719 1588 4720 #define chpst_full_usage "\n\n" \ 1589 4721 "Change the process state, run PROG\n" \ 1590 "\nOptions:" \1591 4722 "\n -u USER[:GRP] Set uid and gid" \ 1592 4723 "\n -U USER[:GRP] Set $UID and $GID in environment" \ … … 1607 4738 "\n -2 Close stderr" \ 1608 4739 4740 #define envdir_trivial_usage \ 4741 "DIR PROG ARGS" \ 4742 4743 #define envdir_full_usage "\n\n" \ 4744 "Set various environment variables as specified by files\n" \ 4745 "in the directory DIR, run PROG" \ 4746 4747 #define envuidgid_trivial_usage \ 4748 "USER PROG ARGS" \ 4749 4750 #define envuidgid_full_usage "\n\n" \ 4751 "Set $UID to USER's uid and $GID to USER's gid, run PROG" \ 4752 1609 4753 #define setuidgid_trivial_usage \ 1610 "USER PROG ARGS" 4754 "USER PROG ARGS" \ 4755 1611 4756 #define setuidgid_full_usage "\n\n" \ 1612 4757 "Set uid and gid to USER's uid and gid, drop supplementary group ids,\n" \ 1613 "run PROG" 1614 #define envuidgid_trivial_usage \ 1615 "USER PROG ARGS" 1616 #define envuidgid_full_usage "\n\n" \ 1617 "Set $UID to USER's uid and $GID to USER's gid, run PROG" 1618 #define envdir_trivial_usage \ 1619 "DIR PROG ARGS" 1620 #define envdir_full_usage "\n\n" \ 1621 "Set various environment variables as specified by files\n" \ 1622 "in the directory DIR, run PROG" 4758 "run PROG" \ 4759 1623 4760 #define softlimit_trivial_usage \ 1624 4761 "[-a BYTES] [-m BYTES] [-d BYTES] [-s BYTES] [-l BYTES]\n" \ 1625 4762 " [-f BYTES] [-c BYTES] [-r BYTES] [-o N] [-p N] [-t N]\n" \ 1626 " PROG ARGS" 4763 " PROG ARGS" \ 4764 1627 4765 #define softlimit_full_usage "\n\n" \ 1628 4766 "Set soft resource limits, then run PROG\n" \ 1629 "\nOptions:" \1630 4767 "\n -a BYTES Limit total size of all segments" \ 1631 4768 "\n -m BYTES Same as -d BYTES -s BYTES -l BYTES -a BYTES" \ … … 1643 4780 "\n a SIGXCPU after N seconds" \ 1644 4781 1645 #define chroot_trivial_usage \ 1646 "NEWROOT [PROG ARGS]" 1647 #define chroot_full_usage "\n\n" \ 1648 "Run PROG with root directory set to NEWROOT" 1649 #define chroot_example_usage \ 1650 "$ ls -l /bin/ls\n" \ 1651 "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \ 1652 "# mount /dev/hdc1 /mnt -t minix\n" \ 1653 "# chroot /mnt\n" \ 1654 "# ls -l /bin/ls\n" \ 1655 "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n" 1656 1657 #define chvt_trivial_usage \ 1658 "N" 1659 #define chvt_full_usage "\n\n" \ 1660 "Change the foreground virtual terminal to /dev/ttyN" 1661 1662 #define cksum_trivial_usage \ 1663 "FILES..." 1664 #define cksum_full_usage "\n\n" \ 1665 "Calculate the CRC32 checksums of FILES" 1666 1667 #define clear_trivial_usage \ 1668 "" 1669 #define clear_full_usage "\n\n" \ 1670 "Clear screen" 1671 1672 #define cmp_trivial_usage \ 1673 "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]]") "]" 1674 #define cmp_full_usage "\n\n" \ 1675 "Compare FILE1 with FILE2 (or stdin)\n" \ 1676 "\nOptions:" \ 1677 "\n -l Write the byte numbers (decimal) and values (octal)" \ 1678 "\n for all differing bytes" \ 1679 "\n -s Quiet" \ 1680 1681 #define comm_trivial_usage \ 1682 "[-123] FILE1 FILE2" 1683 #define comm_full_usage "\n\n" \ 1684 "Compare FILE1 with FILE2\n" \ 1685 "\nOptions:" \ 1686 "\n -1 Suppress lines unique to FILE1" \ 1687 "\n -2 Suppress lines unique to FILE2" \ 1688 "\n -3 Suppress lines common to both files" \ 1689 1690 #define bbconfig_trivial_usage \ 1691 "" 1692 #define bbconfig_full_usage "\n\n" \ 1693 "Print the config file used by busybox build" 1694 1695 #define chrt_trivial_usage \ 1696 "[-prfom] [PRIO] [PID | PROG ARGS]" 1697 #define chrt_full_usage "\n\n" \ 1698 "Change scheduling priority and class for a process\n" \ 1699 "\nOptions:" \ 1700 "\n -p Operate on PID" \ 1701 "\n -r Set SCHED_RR class" \ 1702 "\n -f Set SCHED_FIFO class" \ 1703 "\n -o Set SCHED_OTHER class" \ 1704 "\n -m Show min/max priorities" \ 1705 1706 #define chrt_example_usage \ 1707 "$ chrt -r 4 sleep 900; x=$!\n" \ 1708 "$ chrt -f -p 3 $x\n" \ 1709 "You need CAP_SYS_NICE privileges to set scheduling attributes of a process" 1710 1711 #define nice_trivial_usage \ 1712 "[-n ADJUST] [PROG ARGS]" 1713 #define nice_full_usage "\n\n" \ 1714 "Change scheduling priority, run PROG\n" \ 1715 "\nOptions:" \ 1716 "\n -n ADJUST Adjust priority by ADJUST" \ 1717 1718 #define renice_trivial_usage \ 1719 "{{-n INCREMENT} | PRIORITY} [[-p | -g | -u] ID...]" 1720 #define renice_full_usage "\n\n" \ 1721 "Change scheduling priority for a running process\n" \ 1722 "\nOptions:" \ 1723 "\n -n Adjust current nice value (smaller is faster)" \ 1724 "\n -p Process id(s) (default)" \ 1725 "\n -g Process group id(s)" \ 1726 "\n -u Process user name(s) and/or id(s)" \ 1727 1728 #define ionice_trivial_usage \ 1729 "[-c 1-3] [-n 0-7] [-p PID] [PROG]" 1730 #define ionice_full_usage "\n\n" \ 1731 "Change I/O priority and class\n" \ 1732 "\nOptions:" \ 1733 "\n -c Class. 1:realtime 2:best-effort 3:idle" \ 1734 "\n -n Priority" \ 1735 1736 #define cp_trivial_usage \ 1737 "[OPTIONS] SOURCE DEST" 1738 #define cp_full_usage "\n\n" \ 1739 "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" \ 1740 "\nOptions:" \ 1741 "\n -a Same as -dpR" \ 1742 IF_SELINUX( \ 1743 "\n -c Preserve security context" \ 1744 ) \ 4782 #define runsv_trivial_usage \ 4783 "DIR" \ 4784 4785 #define runsv_full_usage "\n\n" \ 4786 "Start and monitor a service and optionally an appendant log service" \ 4787 4788 #define runsvdir_trivial_usage \ 4789 "[-P] [-s SCRIPT] DIR" \ 4790 4791 #define runsvdir_full_usage "\n\n" \ 4792 "Start a runsv process for each subdirectory. If it exits, restart it.\n" \ 4793 "\n -P Put each runsv in a new session" \ 4794 "\n -s SCRIPT Run SCRIPT <signo> after signal is processed" \ 4795 4796 #define sv_trivial_usage \ 4797 "[-v] [-w SEC] CMD SERVICE_DIR..." \ 4798 4799 #define sv_full_usage "\n\n" \ 4800 "Control services monitored by runsv supervisor.\n" \ 4801 "Commands (only first character is enough):\n" \ 4802 "\n" \ 4803 "status: query service status\n" \ 4804 "up: if service isn't running, start it. If service stops, restart it\n" \ 4805 "once: like 'up', but if service stops, don't restart it\n" \ 4806 "down: send TERM and CONT signals. If ./run exits, start ./finish\n" \ 4807 " if it exists. After it stops, don't restart service\n" \ 4808 "exit: send TERM and CONT signals to service and log service. If they exit,\n" \ 4809 " runsv exits too\n" \ 4810 "pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: send\n" \ 4811 "STOP, CONT, HUP, ALRM, INT, QUIT, USR1, USR2, TERM, KILL signal to service" \ 4812 4813 #define svlogd_trivial_usage \ 4814 "[-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..." \ 4815 4816 #define svlogd_full_usage "\n\n" \ 4817 "Continuously read log data from stdin and write to rotated log files in DIRs" \ 4818 "\n" \ 4819 "\n""DIR/config file modifies behavior:" \ 4820 "\n""sSIZE - when to rotate logs" \ 4821 "\n""nNUM - number of files to retain" \ 4822 "\n""!PROG - process rotated log with PROG" \ 4823 "\n""+,-PATTERN - (de)select line for logging" \ 4824 "\n""E,ePATTERN - (de)select line for stderr" \ 4825 4826 #define chcon_trivial_usage \ 4827 "[OPTIONS] CONTEXT FILE..." \ 4828 "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ 4829 IF_FEATURE_CHCON_LONG_OPTIONS( \ 4830 "\n chcon [OPTIONS] --reference=RFILE FILE..." \ 4831 ) \ 4832 4833 #define chcon_full_usage "\n\n" \ 4834 "Change the security context of each FILE to CONTEXT\n" \ 4835 IF_FEATURE_CHCON_LONG_OPTIONS( \ 4836 "\n -v,--verbose Verbose" \ 4837 "\n -c,--changes Report changes made" \ 4838 "\n -h,--no-dereference Affect symlinks instead of their targets" \ 4839 "\n -f,--silent,--quiet Suppress most error messages" \ 4840 "\n --reference=RFILE Use RFILE's group instead of using a CONTEXT value" \ 4841 "\n -u,--user=USER Set user/role/type/range in the target" \ 4842 "\n -r,--role=ROLE security context" \ 4843 "\n -t,--type=TYPE" \ 4844 "\n -l,--range=RANGE" \ 4845 "\n -R,--recursive Recurse" \ 4846 ) \ 4847 IF_NOT_FEATURE_CHCON_LONG_OPTIONS( \ 4848 "\n -v Verbose" \ 4849 "\n -c Report changes made" \ 4850 "\n -h Affect symlinks instead of their targets" \ 4851 "\n -f Suppress most error messages" \ 4852 "\n -u USER Set user/role/type/range in the target security context" \ 4853 "\n -r ROLE" \ 4854 "\n -t TYPE" \ 4855 "\n -l RNG" \ 4856 "\n -R Recurse" \ 4857 ) \ 4858 4859 #define getenforce_trivial_usage NOUSAGE_STR \ 4860 4861 #define getenforce_full_usage "" \ 4862 4863 #define getsebool_trivial_usage \ 4864 "-a or getsebool boolean..." \ 4865 4866 #define getsebool_full_usage "\n\n" \ 4867 " -a Show all selinux booleans" \ 4868 4869 #define load_policy_trivial_usage NOUSAGE_STR \ 4870 4871 #define load_policy_full_usage "" \ 4872 4873 #define matchpathcon_trivial_usage \ 4874 "[-n] [-N] [-f file_contexts_file] [-p prefix] [-V]" \ 4875 4876 #define matchpathcon_full_usage "\n\n" \ 4877 " -n Don't display path" \ 4878 "\n -N Don't use translations" \ 4879 "\n -f Use alternate file_context file" \ 4880 "\n -p Use prefix to speed translations" \ 4881 "\n -V Verify file context on disk matches defaults" \ 4882 4883 #define runcon_trivial_usage \ 4884 "[-c] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] PROG ARGS\n" \ 4885 "runcon CONTEXT PROG ARGS" \ 4886 4887 #define runcon_full_usage "\n\n" \ 4888 "Run PROG in a different security context\n" \ 4889 "\n CONTEXT Complete security context\n" \ 4890 IF_FEATURE_RUNCON_LONG_OPTIONS( \ 4891 "\n -c,--compute Compute process transition context before modifying" \ 4892 "\n -t,--type=TYPE Type (for same role as parent)" \ 4893 "\n -u,--user=USER User identity" \ 4894 "\n -r,--role=ROLE Role" \ 4895 "\n -l,--range=RNG Levelrange" \ 4896 ) \ 4897 IF_NOT_FEATURE_RUNCON_LONG_OPTIONS( \ 4898 "\n -c Compute process transition context before modifying" \ 4899 "\n -t TYPE Type (for same role as parent)" \ 4900 "\n -u USER User identity" \ 4901 "\n -r ROLE Role" \ 4902 "\n -l RNG Levelrange" \ 4903 ) \ 4904 4905 #define selinuxenabled_trivial_usage NOUSAGE_STR \ 4906 4907 #define selinuxenabled_full_usage "" \ 4908 4909 #define sestatus_trivial_usage \ 4910 "[-vb]" \ 4911 4912 #define sestatus_full_usage "\n\n" \ 4913 " -v Verbose" \ 4914 "\n -b Display current state of booleans" \ 4915 4916 #define setenforce_trivial_usage \ 4917 "[Enforcing | Permissive | 1 | 0]" \ 4918 4919 #define setenforce_full_usage "" \ 4920 4921 #define setfiles_trivial_usage \ 4922 "[-dnpqsvW] [-e DIR]... [-o FILE] [-r alt_root_path]" \ 4923 IF_FEATURE_SETFILES_CHECK_OPTION( \ 4924 " [-c policyfile] spec_file" \ 4925 ) \ 4926 " pathname" \ 4927 4928 #define setfiles_full_usage "\n\n" \ 4929 "Reset file contexts under pathname according to spec_file\n" \ 4930 IF_FEATURE_SETFILES_CHECK_OPTION( \ 4931 "\n -c FILE Check the validity of the contexts against the specified binary policy" \ 4932 ) \ 4933 "\n -d Show which specification matched each file" \ 4934 "\n -l Log changes in file labels to syslog" \ 4935 "\n -n Don't change any file labels" \ 4936 "\n -q Suppress warnings" \ 4937 "\n -r DIR Use an alternate root path" \ 4938 "\n -e DIR Exclude DIR" \ 4939 "\n -F Force reset of context to match file_context for customizable files" \ 4940 "\n -o FILE Save list of files with incorrect context" \ 4941 "\n -s Take a list of files from stdin (instead of command line)" \ 4942 "\n -v Show changes in file labels, if type or role are changing" \ 4943 "\n -vv Show changes in file labels, if type, role, or user are changing" \ 4944 "\n -W Display warnings about entries that had no matching files" \ 4945 4946 #define restorecon_trivial_usage \ 4947 "[-iFnRv] [-e EXCLUDEDIR]... [-o FILE] [-f FILE]" \ 4948 4949 #define restorecon_full_usage "\n\n" \ 4950 "Reset security contexts of files in pathname\n" \ 4951 "\n -i Ignore files that don't exist" \ 4952 "\n -f FILE File with list of files to process" \ 4953 "\n -e DIR Directory to exclude" \ 1745 4954 "\n -R,-r Recurse" \ 1746 "\n -d,-P Preserve symlinks (default if -R)" \ 1747 "\n -L Follow all symlinks" \ 1748 "\n -H Follow symlinks on command line" \ 1749 "\n -p Preserve file attributes if possible" \ 1750 "\n -f Overwrite" \ 1751 "\n -i Prompt before overwrite" \ 1752 "\n -l,-s Create (sym)links" \ 1753 1754 #define cpio_trivial_usage \ 1755 "[-dmvu] [-F FILE]" IF_FEATURE_CPIO_O(" [-H newc]") \ 1756 " [-ti"IF_FEATURE_CPIO_O("o")"]" IF_FEATURE_CPIO_P(" [-p DIR]") 1757 #define cpio_full_usage "\n\n" \ 1758 "Extract or list files from a cpio archive" \ 1759 IF_FEATURE_CPIO_O(", or" \ 1760 "\ncreate an archive" IF_FEATURE_CPIO_P(" (-o) or copy files (-p)") \ 1761 " using file list on stdin" \ 1762 ) \ 1763 "\n" \ 1764 "\nMain operation mode:" \ 1765 "\n -t List" \ 1766 "\n -i Extract" \ 1767 IF_FEATURE_CPIO_O( \ 1768 "\n -o Create (requires -H newc)" \ 1769 ) \ 1770 IF_FEATURE_CPIO_P( \ 1771 "\n -p DIR Copy files to DIR" \ 1772 ) \ 1773 "\nOptions:" \ 1774 "\n -d Make leading directories" \ 1775 "\n -m Preserve mtime" \ 4955 "\n -n Don't change any file labels" \ 4956 "\n -o FILE Save list of files with incorrect context" \ 1776 4957 "\n -v Verbose" \ 1777 "\n -u Overwrite" \ 1778 "\n -F FILE Input (-t,-i,-p) or output (-o) file" \ 1779 IF_FEATURE_CPIO_O( \ 1780 "\n -H newc Archive format" \ 1781 ) \ 1782 1783 #define crond_trivial_usage \ 1784 "-fbS -l N " IF_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" 1785 #define crond_full_usage "\n\n" \ 1786 " -f Foreground" \ 1787 "\n -b Background (default)" \ 1788 "\n -S Log to syslog (default)" \ 1789 "\n -l Set log level. 0 is the most verbose, default 8" \ 1790 IF_FEATURE_CROND_D( \ 1791 "\n -d Set log level, log to stderr" \ 1792 ) \ 1793 "\n -L Log to file" \ 1794 "\n -c Working dir" \ 1795 1796 #define crontab_trivial_usage \ 1797 "[-c DIR] [-u USER] [-ler]|[FILE]" 1798 #define crontab_full_usage "\n\n" \ 1799 " -c Crontab directory" \ 1800 "\n -u User" \ 1801 "\n -l List crontab" \ 1802 "\n -e Edit crontab" \ 1803 "\n -r Delete crontab" \ 1804 "\n FILE Replace crontab by FILE ('-': stdin)" \ 1805 1806 #define cryptpw_trivial_usage \ 1807 "[OPTIONS] [PASSWORD] [SALT]" 1808 /* We do support -s, we just don't mention it */ 1809 #define cryptpw_full_usage "\n\n" \ 1810 "Crypt the PASSWORD using crypt(3)\n" \ 1811 "\nOptions:" \ 1812 IF_LONG_OPTS( \ 1813 "\n -P,--password-fd=N Read password from fd N" \ 1814 /* "\n -s,--stdin Use stdin; like -P0" */ \ 1815 "\n -m,--method=TYPE Encryption method TYPE" \ 1816 "\n -S,--salt=SALT" \ 1817 ) \ 1818 IF_NOT_LONG_OPTS( \ 1819 "\n -P N Read password from fd N" \ 1820 /* "\n -s Use stdin; like -P0" */ \ 1821 "\n -m TYPE Encryption method TYPE" \ 1822 "\n -S SALT" \ 1823 ) \ 1824 1825 /* mkpasswd is an alias to cryptpw */ 1826 1827 #define mkpasswd_trivial_usage \ 1828 "[OPTIONS] [PASSWORD] [SALT]" 1829 /* We do support -s, we just don't mention it */ 1830 #define mkpasswd_full_usage "\n\n" \ 1831 "Crypt the PASSWORD using crypt(3)\n" \ 1832 "\nOptions:" \ 1833 IF_LONG_OPTS( \ 1834 "\n -P,--password-fd=N Read password from fd N" \ 1835 /* "\n -s,--stdin Use stdin; like -P0" */ \ 1836 "\n -m,--method=TYPE Encryption method TYPE" \ 1837 "\n -S,--salt=SALT" \ 1838 ) \ 1839 IF_NOT_LONG_OPTS( \ 1840 "\n -P N Read password from fd N" \ 1841 /* "\n -s Use stdin; like -P0" */ \ 1842 "\n -m TYPE Encryption method TYPE" \ 1843 "\n -S SALT" \ 1844 ) \ 1845 1846 #define cut_trivial_usage \ 1847 "[OPTIONS] [FILE]..." 1848 #define cut_full_usage "\n\n" \ 1849 "Print selected fields from each input FILE to stdout\n" \ 1850 "\nOptions:" \ 1851 "\n -b LIST Output only bytes from LIST" \ 1852 "\n -c LIST Output only characters from LIST" \ 1853 "\n -d CHAR Use CHAR instead of tab as the field delimiter" \ 1854 "\n -s Output only the lines containing delimiter" \ 1855 "\n -f N Print only these fields" \ 1856 "\n -n Ignored" \ 1857 1858 #define cut_example_usage \ 1859 "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \ 1860 "Hello\n" \ 1861 "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \ 1862 "world\n" 1863 1864 #define dd_trivial_usage \ 1865 "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ 1866 " [seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") 1867 #define dd_full_usage "\n\n" \ 1868 "Copy a file with converting and formatting\n" \ 1869 "\nOptions:" \ 1870 "\n if=FILE Read from FILE instead of stdin" \ 1871 "\n of=FILE Write to FILE instead of stdout" \ 1872 "\n bs=N Read and write N bytes at a time" \ 1873 IF_FEATURE_DD_IBS_OBS( \ 1874 "\n ibs=N Read N bytes at a time" \ 1875 ) \ 1876 IF_FEATURE_DD_IBS_OBS( \ 1877 "\n obs=N Write N bytes at a time" \ 1878 ) \ 1879 "\n count=N Copy only N input blocks" \ 1880 "\n skip=N Skip N input blocks" \ 1881 "\n seek=N Skip N output blocks" \ 1882 IF_FEATURE_DD_IBS_OBS( \ 1883 "\n conv=notrunc Don't truncate output file" \ 1884 "\n conv=noerror Continue after read errors" \ 1885 "\n conv=sync Pad blocks with zeros" \ 1886 "\n conv=fsync Physically write data out before finishing" \ 1887 ) \ 1888 "\n" \ 1889 "\nNumbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024)," \ 1890 "\nMD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)" \ 1891 1892 #define dd_example_usage \ 1893 "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \ 1894 "4+0 records in\n" \ 1895 "4+0 records out\n" 1896 1897 #define deallocvt_trivial_usage \ 1898 "[N]" 1899 #define deallocvt_full_usage "\n\n" \ 1900 "Deallocate unused virtual terminal /dev/ttyN" 1901 1902 #define delgroup_trivial_usage \ 1903 IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" 1904 #define delgroup_full_usage "\n\n" \ 1905 "Delete group GROUP from the system" \ 1906 IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") 1907 1908 #define deluser_trivial_usage \ 1909 "USER" 1910 #define deluser_full_usage "\n\n" \ 1911 "Delete USER from the system" 1912 1913 #define devmem_trivial_usage \ 1914 "ADDRESS [WIDTH [VALUE]]" 1915 1916 #define devmem_full_usage "\n\n" \ 1917 "Read/write from physical address\n" \ 1918 "\n ADDRESS Address to act upon" \ 1919 "\n WIDTH Width (8/16/...)" \ 1920 "\n VALUE Data to be written" \ 1921 1922 #define devfsd_trivial_usage \ 1923 "mntpnt [-v]" IF_DEVFSD_FG_NP("[-fg][-np]") 1924 #define devfsd_full_usage "\n\n" \ 1925 "Manage devfs permissions and old device name symlinks\n" \ 1926 "\nOptions:" \ 1927 "\n mntpnt The mount point where devfs is mounted" \ 1928 "\n -v Print the protocol version numbers for devfsd" \ 1929 "\n and the kernel-side protocol version and exit" \ 1930 IF_DEVFSD_FG_NP( \ 1931 "\n -fg Run in foreground" \ 1932 "\n -np Exit after parsing the configuration file" \ 1933 "\n and processing synthetic REGISTER events," \ 1934 "\n don't poll for events" \ 1935 ) 1936 1937 #define df_trivial_usage \ 1938 "[-Pk" \ 1939 IF_FEATURE_HUMAN_READABLE("mh") \ 1940 IF_FEATURE_DF_FANCY("ai] [-B SIZE") \ 1941 "] [FILESYSTEM]..." 1942 #define df_full_usage "\n\n" \ 1943 "Print filesystem usage statistics\n" \ 1944 "\nOptions:" \ 1945 "\n -P POSIX output format" \ 1946 "\n -k 1024-byte blocks (default)" \ 1947 IF_FEATURE_HUMAN_READABLE( \ 1948 "\n -m 1M-byte blocks" \ 1949 "\n -h Human readable (e.g. 1K 243M 2G)" \ 1950 ) \ 1951 IF_FEATURE_DF_FANCY( \ 1952 "\n -a Show all filesystems" \ 1953 "\n -i Inodes" \ 1954 "\n -B SIZE Blocksize" \ 1955 ) \ 1956 1957 #define df_example_usage \ 1958 "$ df\n" \ 1959 "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ 1960 "/dev/sda3 8690864 8553540 137324 98% /\n" \ 1961 "/dev/sda1 64216 36364 27852 57% /boot\n" \ 1962 "$ df /dev/sda3\n" \ 1963 "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ 1964 "/dev/sda3 8690864 8553540 137324 98% /\n" \ 1965 "$ POSIXLY_CORRECT=sure df /dev/sda3\n" \ 1966 "Filesystem 512B-blocks Used Available Use% Mounted on\n" \ 1967 "/dev/sda3 17381728 17107080 274648 98% /\n" \ 1968 "$ POSIXLY_CORRECT=yep df -P /dev/sda3\n" \ 1969 "Filesystem 512-blocks Used Available Capacity Mounted on\n" \ 1970 "/dev/sda3 17381728 17107080 274648 98% /\n" 1971 1972 #define dhcprelay_trivial_usage \ 1973 "CLIENT_IFACE[,CLIENT_IFACE2]... SERVER_IFACE [SERVER_IP]" 1974 #define dhcprelay_full_usage "\n\n" \ 1975 "Relay DHCP requests between clients and server" \ 1976 1977 #define diff_trivial_usage \ 1978 "[-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" 1979 #define diff_full_usage "\n\n" \ 1980 "Compare files line by line and output the differences between them.\n" \ 1981 "This implementation supports unified diffs only.\n" \ 1982 "\nOptions:" \ 1983 "\n -a Treat all files as text" \ 1984 "\n -b Ignore changes in the amount of whitespace" \ 1985 "\n -B Ignore changes whose lines are all blank" \ 1986 "\n -d Try hard to find a smaller set of changes" \ 1987 "\n -i Ignore case differences" \ 1988 "\n -L Use LABEL instead of the filename in the unified header" \ 1989 "\n -N Treat absent files as empty" \ 1990 "\n -q Output only whether files differ" \ 1991 "\n -r Recurse" \ 1992 "\n -S Start with FILE when comparing directories" \ 1993 "\n -T Make tabs line up by prefixing a tab when necessary" \ 1994 "\n -s Report when two files are the same" \ 1995 "\n -t Expand tabs to spaces in output" \ 1996 "\n -U Output LINES lines of context" \ 1997 "\n -w Ignore all whitespace" \ 1998 1999 #define dirname_trivial_usage \ 2000 "FILENAME" 2001 #define dirname_full_usage "\n\n" \ 2002 "Strip non-directory suffix from FILENAME" 2003 #define dirname_example_usage \ 2004 "$ dirname /tmp/foo\n" \ 2005 "/tmp\n" \ 2006 "$ dirname /tmp/foo/\n" \ 2007 "/tmp\n" 4958 "\n -vv Show changed labels" \ 4959 "\n -F Force reset of context to match file_context" \ 4960 "\n for customizable files, or the user section," \ 4961 "\n if it has changed" \ 4962 4963 #define setsebool_trivial_usage \ 4964 "boolean value" \ 4965 4966 #define setsebool_full_usage "\n\n" \ 4967 "Change boolean setting" \ 4968 4969 #define ash_trivial_usage \ 4970 "[-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE [ARGS]]" \ 4971 4972 #define ash_full_usage "\n\n" \ 4973 "Unix shell interpreter" \ 4974 4975 #if ENABLE_FEATURE_SH_IS_ASH \ 4976 4977 # define sh_trivial_usage ash_trivial_usage \ 4978 4979 # define sh_full_usage ash_full_usage \ 4980 4981 #endif \ 4982 4983 #if ENABLE_FEATURE_BASH_IS_ASH \ 4984 4985 # define bash_trivial_usage ash_trivial_usage \ 4986 4987 # define bash_full_usage ash_full_usage \ 4988 4989 #endif \ 4990 4991 #define cttyhack_trivial_usage \ 4992 "[PROG ARGS]" \ 4993 4994 #define cttyhack_full_usage "\n\n" \ 4995 "Give PROG a controlling tty if possible." \ 4996 "\nExample for /etc/inittab (for busybox init):" \ 4997 "\n ::respawn:/bin/cttyhack /bin/sh" \ 4998 "\nGiving controlling tty to shell running with PID 1:" \ 4999 "\n $ exec cttyhack sh" \ 5000 "\nStarting interactive shell from boot shell script:" \ 5001 "\n setsid cttyhack sh" \ 5002 5003 #define hush_trivial_usage \ 5004 "[-nxl] [-c 'SCRIPT' [ARG0 [ARGS]] / FILE [ARGS]]" \ 5005 5006 #define hush_full_usage "\n\n" \ 5007 "Unix shell interpreter" \ 5008 5009 #define msh_trivial_usage hush_trivial_usage \ 5010 5011 #define msh_full_usage hush_full_usage \ 5012 5013 #if ENABLE_FEATURE_SH_IS_HUSH \ 5014 5015 # define sh_trivial_usage hush_trivial_usage \ 5016 5017 # define sh_full_usage hush_full_usage \ 5018 5019 #endif \ 5020 5021 #if ENABLE_FEATURE_BASH_IS_HUSH \ 5022 5023 # define bash_trivial_usage hush_trivial_usage \ 5024 5025 # define bash_full_usage hush_full_usage \ 5026 5027 #endif \ 5028 5029 #define klogd_trivial_usage \ 5030 "[-c N] [-n]" \ 5031 5032 #define klogd_full_usage "\n\n" \ 5033 "Kernel logger\n" \ 5034 "\n -c N Print to console messages more urgent than prio N (1-8)" \ 5035 "\n -n Run in foreground" \ 5036 5037 #define logger_trivial_usage \ 5038 "[OPTIONS] [MESSAGE]" \ 5039 5040 #define logger_full_usage "\n\n" \ 5041 "Write MESSAGE (or stdin) to syslog\n" \ 5042 "\n -s Log to stderr as well as the system log" \ 5043 "\n -t TAG Log using the specified tag (defaults to user name)" \ 5044 "\n -p PRIO Priority (numeric or facility.level pair)" \ 5045 5046 #define logger_example_usage \ 5047 "$ logger \"hello\"\n" \ 5048 5049 #define logread_trivial_usage \ 5050 "[-f]" \ 5051 5052 #define logread_full_usage "\n\n" \ 5053 "Show messages in syslogd's circular buffer\n" \ 5054 "\n -f Output data as log grows" \ 5055 5056 #define syslogd_trivial_usage \ 5057 "[OPTIONS]" \ 5058 5059 #define syslogd_full_usage "\n\n" \ 5060 "System logging utility\n" \ 5061 IF_NOT_FEATURE_SYSLOGD_CFG( \ 5062 "(this version of syslogd ignores /etc/syslog.conf)\n" \ 5063 ) \ 5064 "\n -n Run in foreground" \ 5065 "\n -O FILE Log to FILE (default:/var/log/messages)" \ 5066 "\n -l N Log only messages more urgent than prio N (1-8)" \ 5067 "\n -S Smaller output" \ 5068 IF_FEATURE_ROTATE_LOGFILE( \ 5069 "\n -s SIZE Max size (KB) before rotation (default:200KB, 0=off)" \ 5070 "\n -b N N rotated logs to keep (default:1, max=99, 0=purge)" \ 5071 ) \ 5072 IF_FEATURE_REMOTE_LOG( \ 5073 "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ 5074 "\n -L Log locally and via network (default is network only if -R)" \ 5075 ) \ 5076 IF_FEATURE_SYSLOGD_DUP( \ 5077 "\n -D Drop duplicates" \ 5078 ) \ 5079 IF_FEATURE_IPC_SYSLOG( \ 5080 "\n -C[size_kb] Log to shared mem buffer (use logread to read it)" \ 5081 ) \ 5082 IF_FEATURE_SYSLOGD_CFG( \ 5083 "\n -f FILE Use FILE as config (default:/etc/syslog.conf)" \ 5084 ) \ 5085 IF_FEATURE_KMSG_SYSLOG( \ 5086 "\n -K Log to kernel printk buffer (use dmesg to read it)" \ 5087 ) \ 5088 5089 #define syslogd_example_usage \ 5090 "$ syslogd -R masterlog:514\n" \ 5091 "$ syslogd -R 192.168.1.1:601\n" \ 5092 5093 #define acpid_trivial_usage \ 5094 "[-df] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE]" \ 5095 5096 #define acpid_full_usage "\n\n" \ 5097 "Listen to ACPI events and spawn specific helpers on event arrival\n" \ 5098 "\n -d Log to stderr, not log file (implies -f)" \ 5099 "\n -f Run in foreground" \ 5100 "\n -c DIR Config directory [/etc/acpi]" \ 5101 "\n -e FILE /proc event file [/proc/acpi/event]" \ 5102 "\n -l FILE Log file [/var/log/acpid.log]" \ 5103 "\n -p FILE Pid file [/var/run/acpid.pid]" \ 5104 "\n -a FILE Action file [/etc/acpid.conf]" \ 5105 "\n -M FILE Map file [/etc/acpi.map]" \ 5106 IF_FEATURE_ACPID_COMPAT( \ 5107 "\n\nAccept and ignore compatibility options -g -m -s -S -v" \ 5108 ) \ 5109 5110 #define acpid_example_usage \ 5111 "Without -e option, acpid uses all /dev/input/event* files\n" \ 5112 "# acpid\n" \ 5113 "# acpid -l /var/log/my-acpi-log\n" \ 5114 "# acpid -e /proc/acpi/event\n" \ 5115 5116 #define blkid_trivial_usage \ 5117 "[BLOCKDEV]..." \ 5118 5119 #define blkid_full_usage "\n\n" \ 5120 "Print UUIDs of all filesystems" \ 5121 5122 #define blockdev_trivial_usage \ 5123 "OPTION BLOCKDEV" \ 5124 5125 #define blockdev_full_usage "\n\n" \ 5126 " --setro Set ro" \ 5127 "\n --setrw Set rw" \ 5128 "\n --getro Get ro" \ 5129 "\n --getss Get sector size" \ 5130 "\n --getbsz Get block size" \ 5131 "\n --setbsz BYTES Set block size" \ 5132 "\n --getsz Get device size in 512-byte sectors" \ 5133 "\n --getsize64 Get device size in bytes" \ 5134 "\n --flushbufs Flush buffers" \ 5135 "\n --rereadpt Reread partition table" \ 2008 5136 2009 5137 #define dmesg_trivial_usage \ 2010 "[-c] [-n LEVEL] [-s SIZE]" 5138 "[-c] [-n LEVEL] [-s SIZE]" \ 5139 2011 5140 #define dmesg_full_usage "\n\n" \ 2012 5141 "Print or control the kernel ring buffer\n" \ 2013 "\nOptions:" \2014 5142 "\n -c Clear ring buffer after printing" \ 2015 5143 "\n -n LEVEL Set console logging level" \ 2016 5144 "\n -s SIZE Buffer size" \ 2017 5145 2018 #define dnsd_trivial_usage \2019 "[-dvs] [-c CONFFILE] [-t TTL_SEC] [-p PORT] [-i ADDR]"2020 #define dnsd_full_usage "\n\n" \2021 "Small static DNS server daemon\n" \2022 "\nOptions:" \2023 "\n -c FILE Config file" \2024 "\n -t SEC TTL" \2025 "\n -p PORT Listen on PORT" \2026 "\n -i ADDR Listen on ADDR" \2027 "\n -d Daemonize" \2028 "\n -v Verbose" \2029 "\n -s Send successful replies only. Use this if you want" \2030 "\n to use /etc/resolv.conf with two nameserver lines:" \2031 "\n nameserver DNSD_SERVER" \2032 "\n nameserver NORNAL_DNS_SERVER" \2033 2034 #define dos2unix_trivial_usage \2035 "[-ud] [FILE]"2036 #define dos2unix_full_usage "\n\n" \2037 "Convert FILE in-place from DOS to Unix format.\n" \2038 "When no file is given, use stdin/stdout.\n" \2039 "\nOptions:" \2040 "\n -u dos2unix" \2041 "\n -d unix2dos" \2042 2043 #define unix2dos_trivial_usage \2044 "[-ud] [FILE]"2045 #define unix2dos_full_usage "\n\n" \2046 "Convert FILE in-place from Unix to DOS format.\n" \2047 "When no file is given, use stdin/stdout.\n" \2048 "\nOptions:" \2049 "\n -u dos2unix" \2050 "\n -d unix2dos" \2051 2052 #define dpkg_trivial_usage \2053 "[-ilCPru] [-F OPT] PACKAGE"2054 #define dpkg_full_usage "\n\n" \2055 "Install, remove and manage Debian packages\n" \2056 "\nOptions:" \2057 IF_LONG_OPTS( \2058 "\n -i,--install Install the package" \2059 "\n -l,--list List of installed packages" \2060 "\n --configure Configure an unpackaged package" \2061 "\n -P,--purge Purge all files of a package" \2062 "\n -r,--remove Remove all but the configuration files for a package" \2063 "\n --unpack Unpack a package, but don't configure it" \2064 "\n --force-depends Ignore dependency problems" \2065 "\n --force-confnew Overwrite existing config files when installing" \2066 "\n --force-confold Keep old config files when installing" \2067 ) \2068 IF_NOT_LONG_OPTS( \2069 "\n -i Install the package" \2070 "\n -l List of installed packages" \2071 "\n -C Configure an unpackaged package" \2072 "\n -P Purge all files of a package" \2073 "\n -r Remove all but the configuration files for a package" \2074 "\n -u Unpack a package, but don't configure it" \2075 "\n -F depends Ignore dependency problems" \2076 "\n -F confnew Overwrite existing config files when installing" \2077 "\n -F confold Keep old config files when installing" \2078 )2079 2080 #define dpkg_deb_trivial_usage \2081 "[-cefxX] FILE [argument]"2082 #define dpkg_deb_full_usage "\n\n" \2083 "Perform actions on Debian packages (.debs)\n" \2084 "\nOptions:" \2085 "\n -c List contents of filesystem tree" \2086 "\n -e Extract control files to [argument] directory" \2087 "\n -f Display control field name starting with [argument]" \2088 "\n -x Extract packages filesystem tree to directory" \2089 "\n -X Verbose extract" \2090 2091 #define dpkg_deb_example_usage \2092 "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n"2093 2094 #define du_trivial_usage \2095 "[-aHLdclsx" IF_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..."2096 #define du_full_usage "\n\n" \2097 "Summarize disk space used for each FILE and/or directory.\n" \2098 "Disk space is printed in units of " \2099 IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \2100 IF_NOT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \2101 " bytes.\n" \2102 "\nOptions:" \2103 "\n -a Show file sizes too" \2104 "\n -L Follow all symlinks" \2105 "\n -H Follow symlinks on command line" \2106 "\n -d N Limit output to directories (and files with -a) of depth < N" \2107 "\n -c Show grand total" \2108 "\n -l Count sizes many times if hard linked" \2109 "\n -s Display only a total for each argument" \2110 "\n -x Skip directories on different filesystems" \2111 IF_FEATURE_HUMAN_READABLE( \2112 "\n -h Sizes in human readable format (e.g., 1K 243M 2G )" \2113 "\n -m Sizes in megabytes" \2114 ) \2115 "\n -k Sizes in kilobytes" \2116 IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \2117 2118 #define du_example_usage \2119 "$ du\n" \2120 "16 ./CVS\n" \2121 "12 ./kernel-patches/CVS\n" \2122 "80 ./kernel-patches\n" \2123 "12 ./tests/CVS\n" \2124 "36 ./tests\n" \2125 "12 ./scripts/CVS\n" \2126 "16 ./scripts\n" \2127 "12 ./docs/CVS\n" \2128 "104 ./docs\n" \2129 "2417 .\n"2130 2131 #define dumpkmap_trivial_usage \2132 "> keymap"2133 #define dumpkmap_full_usage "\n\n" \2134 "Print a binary keyboard translation table to stdout"2135 #define dumpkmap_example_usage \2136 "$ dumpkmap > keymap\n"2137 2138 #define dumpleases_trivial_usage \2139 "[-r|-a] [-f LEASEFILE]"2140 #define dumpleases_full_usage "\n\n" \2141 "Display DHCP leases granted by udhcpd\n" \2142 "\nOptions:" \2143 IF_LONG_OPTS( \2144 "\n -f,--file=FILE Lease file" \2145 "\n -r,--remaining Show remaining time" \2146 "\n -a,--absolute Show expiration time" \2147 ) \2148 IF_NOT_LONG_OPTS( \2149 "\n -f FILE Lease file" \2150 "\n -r Show remaining time" \2151 "\n -a Show expiration time" \2152 )2153 2154 /*2155 #define e2fsck_trivial_usage \2156 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \2157 "[-I inode_buffer_blocks] [-P process_inode_size] " \2158 "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \2159 "[-E extended-options] device"2160 #define e2fsck_full_usage "\n\n" \2161 "Check ext2/ext3 file system\n" \2162 "\nOptions:" \2163 "\n -p Automatic repair (no questions)" \2164 "\n -n Make no changes to the filesystem" \2165 "\n -y Assume 'yes' to all questions" \2166 "\n -c Check for bad blocks and add them to the badblock list" \2167 "\n -f Force checking even if filesystem is marked clean" \2168 "\n -v Verbose" \2169 "\n -b superblock Use alternative superblock" \2170 "\n -B blocksize Force blocksize when looking for superblock" \2171 "\n -j journal Set location of the external journal" \2172 "\n -l file Add to badblocks list" \2173 "\n -L file Set badblocks list" \2174 */2175 2176 #define echo_trivial_usage \2177 IF_FEATURE_FANCY_ECHO("[-neE] ") "[ARG]..."2178 #define echo_full_usage "\n\n" \2179 "Print the specified ARGs to stdout" \2180 IF_FEATURE_FANCY_ECHO( "\n" \2181 "\nOptions:" \2182 "\n -n Suppress trailing newline" \2183 "\n -e Interpret backslash escapes (i.e., \\t=tab)" \2184 "\n -E Don't interpret backslash escapes (default)" \2185 )2186 #define echo_example_usage \2187 "$ echo \"Erik is cool\"\n" \2188 "Erik is cool\n" \2189 IF_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \2190 "Erik\n" \2191 "is\n" \2192 "cool\n" \2193 "$ echo \"Erik\\nis\\ncool\"\n" \2194 "Erik\\nis\\ncool\n")2195 2196 #define eject_trivial_usage \2197 "[-t] [-T] [DEVICE]"2198 #define eject_full_usage "\n\n" \2199 "Eject DEVICE or default /dev/cdrom\n" \2200 "\nOptions:" \2201 IF_FEATURE_EJECT_SCSI( \2202 "\n -s SCSI device" \2203 ) \2204 "\n -t Close tray" \2205 "\n -T Open/close tray (toggle)" \2206 2207 #define ed_trivial_usage ""2208 #define ed_full_usage ""2209 2210 #define env_trivial_usage \2211 "[-iu] [-] [name=value]... [PROG ARGS]"2212 #define env_full_usage "\n\n" \2213 "Print the current environment or run PROG after setting up\n" \2214 "the specified environment\n" \2215 "\nOptions:" \2216 "\n -, -i Start with an empty environment" \2217 "\n -u Remove variable from the environment" \2218 2219 #define ether_wake_trivial_usage \2220 "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC"2221 #define ether_wake_full_usage "\n\n" \2222 "Send a magic packet to wake up sleeping machines.\n" \2223 "MAC must be a station address (00:11:22:33:44:55) or\n" \2224 "a hostname with a known 'ethers' entry.\n" \2225 "\nOptions:" \2226 "\n -b Send wake-up packet to the broadcast address" \2227 "\n -i iface Interface to use (default eth0)" \2228 "\n -p pass Append four or six byte password PW to the packet" \2229 2230 #define expand_trivial_usage \2231 "[-i] [-t N] [FILE]..."2232 #define expand_full_usage "\n\n" \2233 "Convert tabs to spaces, writing to stdout\n" \2234 "\nOptions:" \2235 IF_FEATURE_EXPAND_LONG_OPTIONS( \2236 "\n -i,--initial Don't convert tabs after non blanks" \2237 "\n -t,--tabs=N Tabstops every N chars" \2238 ) \2239 IF_NOT_FEATURE_EXPAND_LONG_OPTIONS( \2240 "\n -i Don't convert tabs after non blanks" \2241 "\n -t Tabstops every N chars" \2242 )2243 2244 #define expr_trivial_usage \2245 "EXPRESSION"2246 #define expr_full_usage "\n\n" \2247 "Print the value of EXPRESSION to stdout\n" \2248 "\n" \2249 "EXPRESSION may be:\n" \2250 " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \2251 " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \2252 " ARG1 < ARG2 1 if ARG1 is less than ARG2, else 0. Similarly:\n" \2253 " ARG1 <= ARG2\n" \2254 " ARG1 = ARG2\n" \2255 " ARG1 != ARG2\n" \2256 " ARG1 >= ARG2\n" \2257 " ARG1 > ARG2\n" \2258 " ARG1 + ARG2 Sum of ARG1 and ARG2. Similarly:\n" \2259 " ARG1 - ARG2\n" \2260 " ARG1 * ARG2\n" \2261 " ARG1 / ARG2\n" \2262 " ARG1 % ARG2\n" \2263 " STRING : REGEXP Anchored pattern match of REGEXP in STRING\n" \2264 " match STRING REGEXP Same as STRING : REGEXP\n" \2265 " substr STRING POS LENGTH Substring of STRING, POS counted from 1\n" \2266 " index STRING CHARS Index in STRING where any CHARS is found, or 0\n" \2267 " length STRING Length of STRING\n" \2268 " quote TOKEN Interpret TOKEN as a string, even if\n" \2269 " it is a keyword like 'match' or an\n" \2270 " operator like '/'\n" \2271 " (EXPRESSION) Value of EXPRESSION\n" \2272 "\n" \2273 "Beware that many operators need to be escaped or quoted for shells.\n" \2274 "Comparisons are arithmetic if both ARGs are numbers, else\n" \2275 "lexicographical. Pattern matches return the string matched between\n" \2276 "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \2277 "of characters matched or 0."2278 2279 #define fakeidentd_trivial_usage \2280 "[-fiw] [-b ADDR] [STRING]"2281 #define fakeidentd_full_usage "\n\n" \2282 "Provide fake ident (auth) service\n" \2283 "\nOptions:" \2284 "\n -f Run in foreground" \2285 "\n -i Inetd mode" \2286 "\n -w Inetd 'wait' mode" \2287 "\n -b ADDR Bind to specified address" \2288 "\n STRING Ident answer string (default: nobody)" \2289 2290 #define false_trivial_usage \2291 ""2292 #define false_full_usage "\n\n" \2293 "Return an exit code of FALSE (1)"2294 2295 #define false_example_usage \2296 "$ false\n" \2297 "$ echo $?\n" \2298 "1\n"2299 2300 #define fbsplash_trivial_usage \2301 "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]"2302 #define fbsplash_full_usage "\n\n" \2303 "Options:" \2304 "\n -s Image" \2305 "\n -c Hide cursor" \2306 "\n -d Framebuffer device (default /dev/fb0)" \2307 "\n -i Config file (var=value):" \2308 "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" \2309 "\n BAR_R,BAR_G,BAR_B" \2310 "\n -f Control pipe (else exit after drawing image)" \2311 "\n commands: 'NN' (% for progress bar) or 'exit'" \2312 2313 5146 #define fbset_trivial_usage \ 2314 "[OPTIONS] [MODE]" 5147 "[OPTIONS] [MODE]" \ 5148 2315 5149 #define fbset_full_usage "\n\n" \ 2316 "Show and modify frame buffer settings" 5150 "Show and modify frame buffer settings" \ 2317 5151 2318 5152 #define fbset_example_usage \ … … 2324 5158 " accel false\n" \ 2325 5159 " rgba 5/11,6/5,5/0,0/0\n" \ 2326 "endmode\n" 2327 2328 #define fdflush_trivial_usage \ 2329 "DEVICE" 2330 #define fdflush_full_usage "\n\n" \ 2331 "Force floppy disk drive to detect disk change" 5160 "endmode\n" \ 2332 5161 2333 5162 #define fdformat_trivial_usage \ 2334 "[-n] DEVICE" 5163 "[-n] DEVICE" \ 5164 2335 5165 #define fdformat_full_usage "\n\n" \ 2336 5166 "Format floppy disk\n" \ 2337 "\nOptions:" \2338 5167 "\n -n Don't verify after format" \ 2339 5168 2340 /* Looks like someone forgot to add this to config system */ 2341 #ifndef ENABLE_FEATURE_FDISK_BLKSIZE 2342 # define ENABLE_FEATURE_FDISK_BLKSIZE 0 2343 # define IF_FEATURE_FDISK_BLKSIZE(a) 2344 #endif 5169 #ifndef ENABLE_FEATURE_FDISK_BLKSIZE \ 5170 5171 # define ENABLE_FEATURE_FDISK_BLKSIZE 0 \ 5172 5173 # define IF_FEATURE_FDISK_BLKSIZE(a) \ 5174 5175 #endif \ 2345 5176 2346 5177 #define fdisk_trivial_usage \ 2347 5178 "[-ul" IF_FEATURE_FDISK_BLKSIZE("s") "] " \ 2348 "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" 5179 "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" \ 5180 2349 5181 #define fdisk_full_usage "\n\n" \ 2350 5182 "Change partition table\n" \ 2351 "\nOptions:" \2352 5183 "\n -u Start and End are in sectors (instead of cylinders)" \ 2353 5184 "\n -l Show partition table for each DISK, then exit" \ … … 2360 5191 "\n -S SECTORS" \ 2361 5192 2362 #define fgconsole_trivial_usage \2363 ""2364 #define fgconsole_full_usage "\n\n" \2365 "Get active console"2366 2367 5193 #define findfs_trivial_usage \ 2368 "LABEL=label or UUID=uuid" 5194 "LABEL=label or UUID=uuid" \ 5195 2369 5196 #define findfs_full_usage "\n\n" \ 2370 "Find a filesystem device based on a label or UUID" 5197 "Find a filesystem device based on a label or UUID" \ 5198 2371 5199 #define findfs_example_usage \ 2372 "$ findfs LABEL=MyDevice" 2373 2374 #define flash_lock_trivial_usage \ 2375 "MTD_DEVICE OFFSET SECTORS" 2376 #define flash_lock_full_usage "\n\n" \ 2377 "Lock part or all of an MTD device. If SECTORS is -1, then all sectors\n" \ 2378 "will be locked, regardless of the value of OFFSET" 2379 2380 #define flash_unlock_trivial_usage \ 2381 "MTD_DEVICE" 2382 #define flash_unlock_full_usage "\n\n" \ 2383 "Unlock an MTD device" 2384 2385 #define flash_eraseall_trivial_usage \ 2386 "[-jq] MTD_DEVICE" 2387 #define flash_eraseall_full_usage "\n\n" \ 2388 "Erase an MTD device\n" \ 2389 "\nOptions:" \ 2390 "\n -j Format the device for jffs2" \ 2391 "\n -q Don't display progress messages" \ 2392 2393 #define flashcp_trivial_usage \ 2394 "-v FILE MTD_DEVICE" 2395 #define flashcp_full_usage "\n\n" \ 2396 "Copy an image to MTD device\n" \ 2397 "\nOptions:" \ 2398 "\n -v Verbose" \ 5200 "$ findfs LABEL=MyDevice" \ 2399 5201 2400 5202 #define flock_trivial_usage \ 2401 "[-sxun] FD|{FILE [-c] PROG ARGS}" 5203 "[-sxun] FD|{FILE [-c] PROG ARGS}" \ 5204 2402 5205 #define flock_full_usage "\n\n" \ 2403 5206 "[Un]lock file descriptor, or lock FILE, run PROG\n" \ 2404 "\nOptions:" \2405 5207 "\n -s Shared lock" \ 2406 5208 "\n -x Exclusive lock (default)" \ … … 2408 5210 "\n -n Fail rather than wait" \ 2409 5211 2410 #define fold_trivial_usage \2411 "[-bs] [-w WIDTH] [FILE]..."2412 #define fold_full_usage "\n\n" \2413 "Wrap input lines in each FILE (or stdin), writing to stdout\n" \2414 "\nOptions:" \2415 "\n -b Count bytes rather than columns" \2416 "\n -s Break at spaces" \2417 "\n -w Use WIDTH columns instead of 80" \2418 2419 #define free_trivial_usage \2420 "" IF_DESKTOP("[-b/k/m/g]")2421 #define free_full_usage "\n\n" \2422 "Display the amount of free and used system memory"2423 #define free_example_usage \2424 "$ free\n" \2425 " total used free shared buffers\n" \2426 " Mem: 257628 248724 8904 59644 93124\n" \2427 " Swap: 128516 8404 120112\n" \2428 "Total: 386144 257128 129016\n" \2429 2430 5212 #define freeramdisk_trivial_usage \ 2431 "DEVICE" 5213 "DEVICE" \ 5214 2432 5215 #define freeramdisk_full_usage "\n\n" \ 2433 "Free all memory used by the specified ramdisk" 5216 "Free all memory used by the specified ramdisk" \ 5217 2434 5218 #define freeramdisk_example_usage \ 2435 "$ freeramdisk /dev/ram2\n" 2436 2437 #define fsck_trivial_usage \ 2438 "[-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]..." 2439 #define fsck_full_usage "\n\n" \ 2440 "Check and repair filesystems\n" \ 2441 "\nOptions:" \ 2442 "\n -A Walk /etc/fstab and check all filesystems" \ 2443 "\n -N Don't execute, just show what would be done" \ 2444 "\n -P With -A, check filesystems in parallel" \ 2445 "\n -R With -A, skip the root filesystem" \ 2446 "\n -T Don't show title on startup" \ 2447 "\n -V Verbose" \ 2448 "\n -C n Write status information to specified filedescriptor" \ 2449 "\n -t TYPE List of filesystem types to check" \ 5219 "$ freeramdisk /dev/ram2\n" \ 5220 5221 #define fdflush_trivial_usage \ 5222 "DEVICE" \ 5223 5224 #define fdflush_full_usage "\n\n" \ 5225 "Force floppy disk drive to detect disk change" \ 2450 5226 2451 5227 #define fsck_minix_trivial_usage \ 2452 "[-larvsmf] BLOCKDEV" 5228 "[-larvsmf] BLOCKDEV" \ 5229 2453 5230 #define fsck_minix_full_usage "\n\n" \ 2454 5231 "Check MINIX filesystem\n" \ 2455 "\nOptions:" \2456 5232 "\n -l List all filenames" \ 2457 5233 "\n -r Perform interactive repairs" \ … … 2462 5238 "\n -f Force file system check" \ 2463 5239 2464 #define ftpd_trivial_usage \2465 "[-wvS] [-t N] [-T N] [DIR]"2466 #define ftpd_full_usage "\n\n" \2467 "Anonymous FTP server\n" \2468 "\n" \2469 "ftpd should be used as an inetd service.\n" \2470 "ftpd's line for inetd.conf:\n" \2471 " 21 stream tcp nowait root ftpd ftpd /files/to/serve\n" \2472 "It also can be ran from tcpsvd:\n" \2473 " tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve\n" \2474 "\nOptions:" \2475 "\n -w Allow upload" \2476 "\n -v Log to stderr" \2477 "\n -S Log to syslog" \2478 "\n -t,-T Idle and absolute timeouts" \2479 "\n DIR Change root to this directory" \2480 2481 #define ftpget_trivial_usage \2482 "[OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE"2483 #define ftpget_full_usage "\n\n" \2484 "Retrieve a remote file via FTP\n" \2485 "\nOptions:" \2486 IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \2487 "\n -c,--continue Continue previous transfer" \2488 "\n -v,--verbose Verbose" \2489 "\n -u,--username Username" \2490 "\n -p,--password Password" \2491 "\n -P,--port Port number" \2492 ) \2493 IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \2494 "\n -c Continue previous transfer" \2495 "\n -v Verbose" \2496 "\n -u Username" \2497 "\n -p Password" \2498 "\n -P Port number" \2499 )2500 2501 #define ftpput_trivial_usage \2502 "[OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE"2503 #define ftpput_full_usage "\n\n" \2504 "Store a local file on a remote machine via FTP\n" \2505 "\nOptions:" \2506 IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \2507 "\n -v,--verbose Verbose" \2508 "\n -u,--username Username" \2509 "\n -p,--password Password" \2510 "\n -P,--port Port number" \2511 ) \2512 IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \2513 "\n -v Verbose" \2514 "\n -u Username" \2515 "\n -p Password" \2516 "\n -P Port number" \2517 )2518 2519 #define fuser_trivial_usage \2520 "[OPTIONS] FILE or PORT/PROTO"2521 #define fuser_full_usage "\n\n" \2522 "Find processes which use FILEs or PORTs\n" \2523 "\nOptions:" \2524 "\n -m Find processes which use same fs as FILEs" \2525 "\n -4,-6 Search only IPv4/IPv6 space" \2526 "\n -s Don't display PIDs" \2527 "\n -k Kill found processes" \2528 "\n -SIGNAL Signal to send (default: KILL)" \2529 2530 #define getenforce_trivial_usage NOUSAGE_STR2531 #define getenforce_full_usage ""2532 2533 5240 #define getopt_trivial_usage \ 2534 "[OPTIONS]" 5241 "[OPTIONS] [--] OPTSTRING PARAMS" \ 5242 2535 5243 #define getopt_full_usage "\n\n" \ 2536 "Options:" \2537 5244 IF_LONG_OPTS( \ 2538 "\n-a,--alternative Allow long options starting with single -" \2539 "\n -l,--longoptions= longoptsLong options to be recognized" \2540 "\n -n,--name= prognameThe name under which errors are reported" \2541 "\n -o,--options= optstringShort options to be recognized" \5245 " -a,--alternative Allow long options starting with single -" \ 5246 "\n -l,--longoptions=LOPT[,...] Long options to be recognized" \ 5247 "\n -n,--name=PROGNAME The name under which errors are reported" \ 5248 "\n -o,--options=OPTSTRING Short options to be recognized" \ 2542 5249 "\n -q,--quiet Disable error reporting by getopt(3)" \ 2543 5250 "\n -Q,--quiet-output No normal output" \ 2544 "\n -s,--shell= shellSet shell quoting conventions" \5251 "\n -s,--shell=SHELL Set shell quoting conventions" \ 2545 5252 "\n -T,--test Test for getopt(1) version" \ 2546 5253 "\n -u,--unquoted Don't quote the output" \ 2547 5254 ) \ 2548 5255 IF_NOT_LONG_OPTS( \ 2549 "\n-a Allow long options starting with single -" \2550 "\n -l longoptsLong options to be recognized" \2551 "\n -n prognameThe name under which errors are reported" \2552 "\n -o optstringShort options to be recognized" \5256 " -a Allow long options starting with single -" \ 5257 "\n -l LOPT[,...] Long options to be recognized" \ 5258 "\n -n PROGNAME The name under which errors are reported" \ 5259 "\n -o OPTSTRING Short options to be recognized" \ 2553 5260 "\n -q Disable error reporting by getopt(3)" \ 2554 5261 "\n -Q No normal output" \ 2555 "\n -s shellSet shell quoting conventions" \5262 "\n -s SHELL Set shell quoting conventions" \ 2556 5263 "\n -T Test for getopt(1) version" \ 2557 5264 "\n -u Don't quote the output" \ 2558 ) 5265 ) \ 5266 "\n" \ 5267 "\nExample:" \ 5268 "\n" \ 5269 "\nO=`getopt -l bb: -- ab:c:: \"$@\"` || exit 1" \ 5270 "\neval set -- \"$O\"" \ 5271 "\nwhile true; do" \ 5272 "\n case \"$1\" in" \ 5273 "\n -a) echo A; shift;;" \ 5274 "\n -b|--bb) echo \"B:'$2'\"; shift 2;;" \ 5275 "\n -c) case \"$2\" in" \ 5276 "\n \"\") echo C; shift 2;;" \ 5277 "\n *) echo \"C:'$2'\"; shift 2;;" \ 5278 "\n esac;;" \ 5279 "\n --) shift; break;;" \ 5280 "\n *) echo Error; exit 1;;" \ 5281 "\n esac" \ 5282 "\ndone" \ 5283 2559 5284 #define getopt_example_usage \ 2560 5285 "$ cat getopt.test\n" \ … … 2576 5301 " *) echo \"Internal error!\"; exit 1;;\n" \ 2577 5302 " esac\n" \ 2578 "done\n" 2579 2580 #define getsebool_trivial_usage \ 2581 "-a or getsebool boolean..." 2582 #define getsebool_full_usage "\n\n" \ 2583 " -a Show all selinux booleans" 2584 2585 #define getty_trivial_usage \ 2586 "[OPTIONS] BAUD_RATE TTY [TERMTYPE]" 2587 #define getty_full_usage "\n\n" \ 2588 "Open a tty, prompt for a login name, then invoke /bin/login\n" \ 2589 "\nOptions:" \ 2590 "\n -h Enable hardware (RTS/CTS) flow control" \ 2591 "\n -i Don't display /etc/issue before running login" \ 2592 "\n -L Local line, don't do carrier detect" \ 2593 "\n -m Get baud rate from modem's CONNECT status message" \ 2594 "\n -w Wait for a CR or LF before sending /etc/issue" \ 2595 "\n -n Don't prompt the user for a login name" \ 2596 "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ 2597 "\n -l LOGIN Invoke LOGIN instead of /bin/login" \ 2598 "\n -t SEC Terminate after SEC if no username is read" \ 2599 "\n -I INITSTR Send INITSTR before anything else" \ 2600 "\n -H HOST Log HOST into the utmp file as the hostname" \ 2601 2602 #define gunzip_trivial_usage \ 2603 "[-cft] [FILE]..." 2604 #define gunzip_full_usage "\n\n" \ 2605 "Decompress FILEs (or stdin)\n" \ 2606 "\nOptions:" \ 2607 "\n -c Write to stdout" \ 2608 "\n -f Force" \ 2609 "\n -t Test file integrity" \ 2610 2611 #define gunzip_example_usage \ 2612 "$ ls -la /tmp/BusyBox*\n" \ 2613 "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \ 2614 "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \ 2615 "$ ls -la /tmp/BusyBox*\n" \ 2616 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n" 2617 2618 #define gzip_trivial_usage \ 2619 "[-cfd] [FILE]..." 2620 #define gzip_full_usage "\n\n" \ 2621 "Compress FILEs (or stdin)\n" \ 2622 "\nOptions:" \ 2623 "\n -d Decompress" \ 2624 "\n -c Write to stdout" \ 2625 "\n -f Force" \ 2626 2627 #define gzip_example_usage \ 2628 "$ ls -la /tmp/busybox*\n" \ 2629 "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \ 2630 "$ gzip /tmp/busybox.tar\n" \ 2631 "$ ls -la /tmp/busybox*\n" \ 2632 "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" 2633 2634 #define hdparm_trivial_usage \ 2635 "[OPTIONS] [DEVICE]" 2636 #define hdparm_full_usage "\n\n" \ 2637 "Options:" \ 2638 "\n -a Get/set fs readahead" \ 2639 "\n -A Set drive read-lookahead flag (0/1)" \ 2640 "\n -b Get/set bus state (0 == off, 1 == on, 2 == tristate)" \ 2641 "\n -B Set Advanced Power Management setting (1-255)" \ 2642 "\n -c Get/set IDE 32-bit IO setting" \ 2643 "\n -C Check IDE power mode status" \ 2644 IF_FEATURE_HDPARM_HDIO_GETSET_DMA( \ 2645 "\n -d Get/set using_dma flag") \ 2646 "\n -D Enable/disable drive defect-mgmt" \ 2647 "\n -f Flush buffer cache for device on exit" \ 2648 "\n -g Display drive geometry" \ 2649 "\n -h Display terse usage information" \ 2650 IF_FEATURE_HDPARM_GET_IDENTITY( \ 2651 "\n -i Display drive identification") \ 2652 IF_FEATURE_HDPARM_GET_IDENTITY( \ 2653 "\n -I Detailed/current information directly from drive") \ 2654 "\n -k Get/set keep_settings_over_reset flag (0/1)" \ 2655 "\n -K Set drive keep_features_over_reset flag (0/1)" \ 2656 "\n -L Set drive doorlock (0/1) (removable harddisks only)" \ 2657 "\n -m Get/set multiple sector count" \ 2658 "\n -n Get/set ignore-write-errors flag (0/1)" \ 2659 "\n -p Set PIO mode on IDE interface chipset (0,1,2,3,4,...)" \ 2660 "\n -P Set drive prefetch count" \ 2661 /* "\n -q Change next setting quietly" - not supported ib bbox */ \ 2662 "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ 2663 "\n -r Get/set readonly flag (DANGEROUS to set)" \ 2664 IF_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ 2665 "\n -R Register an IDE interface (DANGEROUS)") \ 2666 "\n -S Set standby (spindown) timeout" \ 2667 "\n -t Perform device read timings" \ 2668 "\n -T Perform cache read timings" \ 2669 "\n -u Get/set unmaskirq flag (0/1)" \ 2670 IF_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ 2671 "\n -U Unregister an IDE interface (DANGEROUS)") \ 2672 "\n -v Defaults; same as -mcudkrag for IDE drives" \ 2673 "\n -V Display program version and exit immediately" \ 2674 IF_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ 2675 "\n -w Perform device reset (DANGEROUS)") \ 2676 "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ 2677 IF_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ 2678 "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ 2679 "\n -X Set IDE xfer mode (DANGEROUS)" \ 2680 "\n -y Put IDE drive in standby mode" \ 2681 "\n -Y Put IDE drive to sleep" \ 2682 "\n -Z Disable Seagate auto-powersaving mode" \ 2683 "\n -z Reread partition table" \ 2684 2685 #define head_trivial_usage \ 2686 "[OPTIONS] [FILE]..." 2687 #define head_full_usage "\n\n" \ 2688 "Print first 10 lines of each FILE (or stdin) to stdout.\n" \ 2689 "With more than one FILE, precede each with a filename header.\n" \ 2690 "\nOptions:" \ 2691 "\n -n N[kbm] Print first N lines" \ 2692 IF_FEATURE_FANCY_HEAD( \ 2693 "\n -c N[kbm] Print first N bytes" \ 2694 "\n -q Never print headers" \ 2695 "\n -v Always print headers" \ 2696 ) \ 2697 "\n" \ 2698 "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ 2699 2700 #define head_example_usage \ 2701 "$ head -n 2 /etc/passwd\n" \ 2702 "root:x:0:0:root:/root:/bin/bash\n" \ 2703 "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" 2704 2705 #define tail_trivial_usage \ 2706 "[OPTIONS] [FILE]..." 2707 #define tail_full_usage "\n\n" \ 2708 "Print last 10 lines of each FILE (or stdin) to stdout.\n" \ 2709 "With more than one FILE, precede each with a filename header.\n" \ 2710 "\nOptions:" \ 2711 "\n -f Print data as file grows" \ 2712 IF_FEATURE_FANCY_TAIL( \ 2713 "\n -s SECONDS Wait SECONDS between reads with -f" \ 2714 ) \ 2715 "\n -n N[kbm] Print last N lines" \ 2716 IF_FEATURE_FANCY_TAIL( \ 2717 "\n -c N[kbm] Print last N bytes" \ 2718 "\n -q Never print headers" \ 2719 "\n -v Always print headers" \ 2720 "\n" \ 2721 "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ 2722 "\nIf N starts with a '+', output begins with the Nth item from the start" \ 2723 "\nof each file, not from the end." \ 2724 ) \ 2725 2726 #define tail_example_usage \ 2727 "$ tail -n 1 /etc/resolv.conf\n" \ 2728 "nameserver 10.0.0.1\n" 5303 "done\n" \ 2729 5304 2730 5305 #define hexdump_trivial_usage \ 2731 "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..." 5306 "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..." \ 5307 2732 5308 #define hexdump_full_usage "\n\n" \ 2733 5309 "Display FILEs (or stdin) in a user specified format\n" \ 2734 "\nOptions:" \2735 5310 "\n -b One-byte octal display" \ 2736 5311 "\n -c One-byte character display" \ 2737 5312 "\n -C Canonical hex+ASCII, 16 bytes per line" \ 2738 5313 "\n -d Two-byte decimal display" \ 2739 "\n -e FORMAT 2740 "\n -f FORMAT 5314 "\n -e FORMAT_STRING" \ 5315 "\n -f FORMAT_FILE" \ 2741 5316 "\n -n LENGTH Interpret only LENGTH bytes of input" \ 2742 5317 "\n -o Two-byte octal display" \ … … 2748 5323 2749 5324 #define hd_trivial_usage \ 2750 "FILE..." 5325 "FILE..." \ 5326 2751 5327 #define hd_full_usage "\n\n" \ 2752 "hd is an alias for hexdump -C" 2753 2754 #define hostid_trivial_usage \ 2755 "" 2756 #define hostid_full_usage "\n\n" \ 2757 "Print out a unique 32-bit identifier for the machine" 2758 2759 #define hostname_trivial_usage \ 2760 "[OPTIONS] [HOSTNAME | -F FILE]" 2761 #define hostname_full_usage "\n\n" \ 2762 "Get or set hostname or DNS domain name\n" \ 2763 "\nOptions:" \ 2764 "\n -s Short" \ 2765 "\n -i Addresses for the hostname" \ 2766 "\n -d DNS domain name" \ 2767 "\n -f Fully qualified domain name" \ 2768 "\n -F FILE Use FILE's content as hostname" \ 2769 2770 #define hostname_example_usage \ 2771 "$ hostname\n" \ 2772 "sage\n" 2773 2774 #define dnsdomainname_trivial_usage NOUSAGE_STR 2775 #define dnsdomainname_full_usage "" 2776 2777 #define httpd_trivial_usage \ 2778 "[-ifv[v]]" \ 2779 " [-c CONFFILE]" \ 2780 " [-p [IP:]PORT]" \ 2781 IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \ 2782 IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \ 2783 " [-h HOME]\n" \ 2784 "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING" 2785 #define httpd_full_usage "\n\n" \ 2786 "Listen for incoming HTTP requests\n" \ 2787 "\nOptions:" \ 2788 "\n -i Inetd mode" \ 2789 "\n -f Don't daemonize" \ 2790 "\n -v[v] Verbose" \ 2791 "\n -p [IP:]PORT Bind to IP:PORT (default *:80)" \ 2792 IF_FEATURE_HTTPD_SETUID( \ 2793 "\n -u USER[:GRP] Set uid/gid after binding to port") \ 2794 IF_FEATURE_HTTPD_BASIC_AUTH( \ 2795 "\n -r REALM Authentication Realm for Basic Authentication") \ 2796 "\n -h HOME Home directory (default .)" \ 2797 "\n -c FILE Configuration file (default {/etc,HOME}/httpd.conf)" \ 2798 IF_FEATURE_HTTPD_AUTH_MD5( \ 2799 "\n -m STRING MD5 crypt STRING") \ 2800 "\n -e STRING HTML encode STRING" \ 2801 "\n -d STRING URL decode STRING" \ 5328 "hd is an alias for hexdump -C" \ 2802 5329 2803 5330 #define hwclock_trivial_usage \ 2804 5331 IF_FEATURE_HWCLOCK_LONG_OPTIONS( \ 2805 "[-r|--show] [-s|--hctosys] [-w|--systohc] " \5332 "[-r|--show] [-s|--hctosys] [-w|--systohc] [-t|--systz]" \ 2806 5333 " [-l|--localtime] [-u|--utc]" \ 2807 " [-f FILE]" \5334 " [-f|--rtc FILE]" \ 2808 5335 ) \ 2809 5336 IF_NOT_FEATURE_HWCLOCK_LONG_OPTIONS( \ 2810 "[-r] [-s] [-w] [-l] [-u] [-f FILE]" \ 2811 ) 5337 "[-r] [-s] [-w] [-t] [-l] [-u] [-f FILE]" \ 5338 ) \ 5339 2812 5340 #define hwclock_full_usage "\n\n" \ 2813 5341 "Query and set hardware clock (RTC)\n" \ 2814 "\nOptions:" \2815 5342 "\n -r Show hardware clock time" \ 2816 5343 "\n -s Set system time from hardware clock" \ 2817 "\n -w Set hardware clock to system time" \ 2818 "\n -u Hardware clock is in UTC" \ 2819 "\n -l Hardware clock is in local time" \ 5344 "\n -w Set hardware clock from system time" \ 5345 "\n -t Set in-kernel timezone, correct system time" \ 5346 "\n if hardware clock is in local time" \ 5347 "\n -u Assume hardware clock is kept in UTC" \ 5348 "\n -l Assume hardware clock is kept in local time" \ 2820 5349 "\n -f FILE Use specified device (e.g. /dev/rtc2)" \ 2821 5350 2822 #define id_trivial_usage \2823 "[OPTIONS] [USER]"2824 #define id_full_usage "\n\n" \2825 "Print information about USER or the current user\n" \2826 "\nOptions:" \2827 IF_SELINUX( \2828 "\n -Z Security context" \2829 ) \2830 "\n -u User ID" \2831 "\n -g Group ID" \2832 "\n -G Supplementary group IDs" \2833 "\n -n Print names instead of numbers" \2834 "\n -r Print real ID instead of effective ID" \2835 2836 #define id_example_usage \2837 "$ id\n" \2838 "uid=1000(andersen) gid=1000(andersen)\n"2839 2840 #define ifconfig_trivial_usage \2841 IF_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]"2842 #define ifconfig_full_usage "\n\n" \2843 "Configure a network interface\n" \2844 "\nOptions:" \2845 "\n" \2846 IF_FEATURE_IPV6( \2847 " [add ADDRESS[/PREFIXLEN]]\n") \2848 IF_FEATURE_IPV6( \2849 " [del ADDRESS[/PREFIXLEN]]\n") \2850 " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \2851 " [netmask ADDRESS] [dstaddr ADDRESS]\n" \2852 IF_FEATURE_IFCONFIG_SLIP( \2853 " [outfill NN] [keepalive NN]\n") \2854 " " IF_FEATURE_IFCONFIG_HW("[hw ether" IF_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \2855 " [[-]trailers] [[-]arp] [[-]allmulti]\n" \2856 " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \2857 IF_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \2858 " [mem_start NN] [io_addr NN] [irq NN]\n") \2859 " [up|down] ..."2860 2861 #define ifenslave_trivial_usage \2862 "[-cdf] MASTER_IFACE SLAVE_IFACE..."2863 #define ifenslave_full_usage "\n\n" \2864 "Configure network interfaces for parallel routing\n" \2865 "\nOptions:" \2866 "\n -c,--change-active Change active slave" \2867 "\n -d,--detach Remove slave interface from bonding device" \2868 "\n -f,--force Force, even if interface is not Ethernet" \2869 /* "\n -r,--receive-slave Create a receive-only slave" */2870 2871 #define ifenslave_example_usage \2872 "To create a bond device, simply follow these three steps:\n" \2873 "- ensure that the required drivers are properly loaded:\n" \2874 " # modprobe bonding ; modprobe <3c59x|eepro100|pcnet32|tulip|...>\n" \2875 "- assign an IP address to the bond device:\n" \2876 " # ifconfig bond0 <addr> netmask <mask> broadcast <bcast>\n" \2877 "- attach all the interfaces you need to the bond device:\n" \2878 " # ifenslave bond0 eth0 eth1 eth2\n" \2879 " If bond0 didn't have a MAC address, it will take eth0's. Then, all\n" \2880 " interfaces attached AFTER this assignment will get the same MAC addr.\n\n" \2881 " To detach a dead interface without setting the bond device down:\n" \2882 " # ifenslave -d bond0 eth1\n\n" \2883 " To set the bond device down and automatically release all the slaves:\n" \2884 " # ifconfig bond0 down\n\n" \2885 " To change active slave:\n" \2886 " # ifenslave -c bond0 eth0\n" \2887 2888 #define ifplugd_trivial_usage \2889 "[OPTIONS]"2890 #define ifplugd_full_usage "\n\n" \2891 "Network interface plug detection daemon\n" \2892 "\nOptions:" \2893 "\n -n Don't daemonize" \2894 "\n -s Don't log to syslog" \2895 "\n -i IFACE Interface" \2896 "\n -f/-F Treat link detection error as link down/link up" \2897 "\n (otherwise exit on error)" \2898 "\n -a Don't up interface at each link probe" \2899 "\n -M Monitor creation/destruction of interface" \2900 "\n (otherwise it must exist)" \2901 "\n -r PROG Script to run" \2902 "\n -x ARG Extra argument for script" \2903 "\n -I Don't exit on nonzero exit code from script" \2904 "\n -p Don't run script on daemon startup" \2905 "\n -q Don't run script on daemon quit" \2906 "\n -l Run script on startup even if no cable is detected" \2907 "\n -t SECS Poll time in seconds" \2908 "\n -u SECS Delay before running script after link up" \2909 "\n -d SECS Delay after link down" \2910 "\n -m MODE API mode (mii, priv, ethtool, wlan, iff, auto)" \2911 "\n -k Kill running daemon" \2912 2913 #define ifup_trivial_usage \2914 "[-an"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] [-i FILE] IFACE..."2915 #define ifup_full_usage "\n\n" \2916 "Options:" \2917 "\n -a De/configure all interfaces automatically" \2918 "\n -i FILE Use FILE for interface definitions" \2919 "\n -n Print out what would happen, but don't do it" \2920 IF_FEATURE_IFUPDOWN_MAPPING( \2921 "\n (note: doesn't disable mappings)" \2922 "\n -m Don't run any mappings" \2923 ) \2924 "\n -v Print out what would happen before doing it" \2925 "\n -f Force de/configuration" \2926 2927 #define ifdown_trivial_usage \2928 "[-an"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] [-i FILE] IFACE..."2929 #define ifdown_full_usage "\n\n" \2930 "Options:" \2931 "\n -a De/configure all interfaces automatically" \2932 "\n -i FILE Use FILE for interface definitions" \2933 "\n -n Print out what would happen, but don't do it" \2934 IF_FEATURE_IFUPDOWN_MAPPING( \2935 "\n (note: doesn't disable mappings)" \2936 "\n -m Don't run any mappings" \2937 ) \2938 "\n -v Print out what would happen before doing it" \2939 "\n -f Force de/configuration" \2940 2941 #define inetd_trivial_usage \2942 "[-fe] [-q N] [-R N] [CONFFILE]"2943 #define inetd_full_usage "\n\n" \2944 "Listen for network connections and launch programs\n" \2945 "\nOptions:" \2946 "\n -f Run in foreground" \2947 "\n -e Log to stderr" \2948 "\n -q N Socket listen queue (default: 128)" \2949 "\n -R N Pause services after N connects/min" \2950 "\n (default: 0 - disabled)" \2951 2952 #define inotifyd_trivial_usage \2953 "PROG FILE1[:MASK]..."2954 #define inotifyd_full_usage "\n\n" \2955 "Run PROG on filesystem changes." \2956 "\nWhen a filesystem event matching MASK occurs on FILEn," \2957 "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." \2958 "\nEvents:" \2959 "\n a File is accessed" \2960 "\n c File is modified" \2961 "\n e Metadata changed" \2962 "\n w Writable file is closed" \2963 "\n 0 Unwritable file is closed" \2964 "\n r File is opened" \2965 "\n D File is deleted" \2966 "\n M File is moved" \2967 "\n u Backing fs is unmounted" \2968 "\n o Event queue overflowed" \2969 "\n x File can't be watched anymore" \2970 "\nIf watching a directory:" \2971 "\n m Subfile is moved into dir" \2972 "\n y Subfile is moved out of dir" \2973 "\n n Subfile is created" \2974 "\n d Subfile is deleted" \2975 "\n" \2976 "\ninotifyd waits for PROG to exit." \2977 "\nWhen x event happens for all FILEs, inotifyd exits." \2978 2979 /* -v, -b, -c are ignored */2980 #define install_trivial_usage \2981 "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST"2982 #define install_full_usage "\n\n" \2983 "Copy files and set attributes\n" \2984 "\nOptions:" \2985 "\n -c Just copy (default)" \2986 "\n -d Create directories" \2987 "\n -D Create leading target directories" \2988 "\n -s Strip symbol table" \2989 "\n -p Preserve date" \2990 "\n -o USER Set ownership" \2991 "\n -g GRP Set group ownership" \2992 "\n -m MODE Set permissions" \2993 IF_SELINUX( \2994 "\n -Z Set security context" \2995 )2996 2997 /* would need to make the " | " optional depending on more than one selected: */2998 #define ip_trivial_usage \2999 "[OPTIONS] {" \3000 IF_FEATURE_IP_ADDRESS("address | ") \3001 IF_FEATURE_IP_ROUTE("route | ") \3002 IF_FEATURE_IP_LINK("link | ") \3003 IF_FEATURE_IP_TUNNEL("tunnel | ") \3004 IF_FEATURE_IP_RULE("rule") \3005 "} {COMMAND}"3006 #define ip_full_usage "\n\n" \3007 "ip [OPTIONS] OBJECT {COMMAND}\n" \3008 "where OBJECT := {" \3009 IF_FEATURE_IP_ADDRESS("address | ") \3010 IF_FEATURE_IP_ROUTE("route | ") \3011 IF_FEATURE_IP_LINK("link | ") \3012 IF_FEATURE_IP_TUNNEL("tunnel | ") \3013 IF_FEATURE_IP_RULE("rule") \3014 "}\n" \3015 "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \3016 3017 #define ipaddr_trivial_usage \3018 "{ {add|del} IFADDR dev STRING | {show|flush}\n" \3019 " [dev STRING] [to PREFIX] }"3020 #define ipaddr_full_usage "\n\n" \3021 "ipaddr {add|delete} IFADDR dev STRING\n" \3022 "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n" \3023 " [to PREFIX] [label PATTERN]\n" \3024 " IFADDR := PREFIX | ADDR peer PREFIX\n" \3025 " [broadcast ADDR] [anycast ADDR]\n" \3026 " [label STRING] [scope SCOPE-ID]\n" \3027 " SCOPE-ID := [host | link | global | NUMBER]" \3028 3029 #define ipcalc_trivial_usage \3030 "[OPTIONS] ADDRESS[[/]NETMASK] [NETMASK]"3031 #define ipcalc_full_usage "\n\n" \3032 "Calculate IP network settings from a IP address\n" \3033 "\nOptions:" \3034 IF_FEATURE_IPCALC_LONG_OPTIONS( \3035 "\n -b,--broadcast Display calculated broadcast address" \3036 "\n -n,--network Display calculated network address" \3037 "\n -m,--netmask Display default netmask for IP" \3038 IF_FEATURE_IPCALC_FANCY( \3039 "\n -p,--prefix Display the prefix for IP/NETMASK" \3040 "\n -h,--hostname Display first resolved host name" \3041 "\n -s,--silent Don't ever display error messages" \3042 ) \3043 ) \3044 IF_NOT_FEATURE_IPCALC_LONG_OPTIONS( \3045 "\n -b Display calculated broadcast address" \3046 "\n -n Display calculated network address" \3047 "\n -m Display default netmask for IP" \3048 IF_FEATURE_IPCALC_FANCY( \3049 "\n -p Display the prefix for IP/NETMASK" \3050 "\n -h Display first resolved host name" \3051 "\n -s Don't ever display error messages" \3052 ) \3053 )3054 3055 5351 #define ipcrm_trivial_usage \ 3056 "[-MQS key] [-mqs id]" 5352 "[-MQS key] [-mqs id]" \ 5353 3057 5354 #define ipcrm_full_usage "\n\n" \ 3058 5355 "Upper-case options MQS remove an object by shmkey value.\n" \ 3059 5356 "Lower-case options remove an object by shmid value.\n" \ 3060 "\nOptions:" \3061 5357 "\n -mM Remove memory segment after last detach" \ 3062 5358 "\n -qQ Remove message queue" \ … … 3064 5360 3065 5361 #define ipcs_trivial_usage \ 3066 "[[-smq] -i shmid] | [[-asmq] [-tcplu]]" 5362 "[[-smq] -i shmid] | [[-asmq] [-tcplu]]" \ 5363 3067 5364 #define ipcs_full_usage "\n\n" \ 3068 5365 " -i Show specific resource" \ … … 3079 5376 "\n -u Summary" \ 3080 5377 3081 #define iplink_trivial_usage \3082 "{ set DEVICE { up | down | arp { on | off } | show [DEVICE] }"3083 #define iplink_full_usage "\n\n" \3084 "iplink set DEVICE { up | down | arp | multicast { on | off } |\n" \3085 " dynamic { on | off } |\n" \3086 " mtu MTU }\n" \3087 "iplink show [DEVICE]" \3088 3089 #define iproute_trivial_usage \3090 "{ list | flush | { add | del | change | append |\n" \3091 " replace | monitor } ROUTE }"3092 #define iproute_full_usage "\n\n" \3093 "iproute { list | flush } SELECTOR\n" \3094 "iproute get ADDRESS [from ADDRESS iif STRING]\n" \3095 " [oif STRING] [tos TOS]\n" \3096 "iproute { add | del | change | append | replace | monitor } ROUTE\n" \3097 " SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO]\n" \3098 " ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO]\n" \3099 " [metric METRIC]" \3100 3101 #define iprule_trivial_usage \3102 "{[list | add | del] RULE}"3103 #define iprule_full_usage "\n\n" \3104 "iprule [list | add | del] SELECTOR ACTION\n" \3105 " SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]\n" \3106 " [dev STRING] [pref NUMBER]\n" \3107 " ACTION := [table TABLE_ID] [nat ADDRESS]\n" \3108 " [prohibit | reject | unreachable]\n" \3109 " [realms [SRCREALM/]DSTREALM]\n" \3110 " TABLE_ID := [local | main | default | NUMBER]" \3111 3112 #define iptunnel_trivial_usage \3113 "{ add | change | del | show } [NAME]\n" \3114 " [mode { ipip | gre | sit }]\n" \3115 " [remote ADDR] [local ADDR] [ttl TTL]"3116 #define iptunnel_full_usage "\n\n" \3117 "iptunnel { add | change | del | show } [NAME]\n" \3118 " [mode { ipip | gre | sit }] [remote ADDR] [local ADDR]\n" \3119 " [[i|o]seq] [[i|o]key KEY] [[i|o]csum]\n" \3120 " [ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]" \3121 3122 #define kbd_mode_trivial_usage \3123 "[-a|k|s|u] [-C TTY]"3124 #define kbd_mode_full_usage "\n\n" \3125 "Report or set the keyboard mode\n" \3126 "\nOptions:" \3127 "\n -a Default (ASCII)" \3128 "\n -k Medium-raw (keyboard)" \3129 "\n -s Raw (scancode)" \3130 "\n -u Unicode (utf-8)" \3131 "\n -C TTY Affect TTY instead of /dev/tty" \3132 3133 #define kill_trivial_usage \3134 "[-l] [-SIG] PID..."3135 #define kill_full_usage "\n\n" \3136 "Send a signal (default: TERM) to given PIDs\n" \3137 "\nOptions:" \3138 "\n -l List all signal names and numbers" \3139 /* "\n -s SIG Yet another way of specifying SIG" */ \3140 3141 #define kill_example_usage \3142 "$ ps | grep apache\n" \3143 "252 root root S [apache]\n" \3144 "263 www-data www-data S [apache]\n" \3145 "264 www-data www-data S [apache]\n" \3146 "265 www-data www-data S [apache]\n" \3147 "266 www-data www-data S [apache]\n" \3148 "267 www-data www-data S [apache]\n" \3149 "$ kill 252\n"3150 3151 #define killall_trivial_usage \3152 "[-l] [-q] [-SIG] PROCESS_NAME..."3153 #define killall_full_usage "\n\n" \3154 "Send a signal (default: TERM) to given processes\n" \3155 "\nOptions:" \3156 "\n -l List all signal names and numbers" \3157 /* "\n -s SIG Yet another way of specifying SIG" */ \3158 "\n -q Don't complain if no processes were killed" \3159 3160 #define killall_example_usage \3161 "$ killall apache\n"3162 3163 #define killall5_trivial_usage \3164 "[-l] [-SIG] [-o PID]..."3165 #define killall5_full_usage "\n\n" \3166 "Send a signal (default: TERM) to all processes outside current session\n" \3167 "\nOptions:" \3168 "\n -l List all signal names and numbers" \3169 "\n -o PID Don't signal this PID" \3170 /* "\n -s SIG Yet another way of specifying SIG" */ \3171 3172 #define klogd_trivial_usage \3173 "[-c N] [-n]"3174 #define klogd_full_usage "\n\n" \3175 "Kernel logger\n" \3176 "\nOptions:" \3177 "\n -c N Only messages with level < N are printed to console" \3178 "\n -n Run in foreground" \3179 3180 #define length_trivial_usage \3181 "STRING"3182 #define length_full_usage "\n\n" \3183 "Print STRING's length"3184 3185 #define length_example_usage \3186 "$ length Hello\n" \3187 "5\n"3188 3189 #define less_trivial_usage \3190 "[-EMNmh~I?] [FILE]..."3191 #define less_full_usage "\n\n" \3192 "View FILE (or stdin) one screenful at a time\n" \3193 "\nOptions:" \3194 "\n -E Quit once the end of a file is reached" \3195 "\n -M,-m Display status line with line numbers" \3196 "\n and percentage through the file" \3197 "\n -N Prefix line number to each line" \3198 "\n -I Ignore case in all searches" \3199 "\n -~ Suppress ~s displayed past the end of the file" \3200 3201 #define linux32_trivial_usage NOUSAGE_STR3202 #define linux32_full_usage ""3203 #define linux64_trivial_usage NOUSAGE_STR3204 #define linux64_full_usage ""3205 3206 #define setarch_trivial_usage \3207 "personality PROG ARGS"3208 #define setarch_full_usage "\n\n" \3209 "Personality may be:\n" \3210 " linux32 Set 32bit uname emulation\n" \3211 " linux64 Set 64bit uname emulation" \3212 3213 #define ln_trivial_usage \3214 "[OPTIONS] TARGET... LINK|DIR"3215 #define ln_full_usage "\n\n" \3216 "Create a link LINK or DIR/TARGET to the specified TARGET(s)\n" \3217 "\nOptions:" \3218 "\n -s Make symlinks instead of hardlinks" \3219 "\n -f Remove existing destinations" \3220 "\n -n Don't dereference symlinks - treat like normal file" \3221 "\n -b Make a backup of the target (if exists) before link operation" \3222 "\n -S suf Use suffix instead of ~ when making backup files" \3223 3224 #define ln_example_usage \3225 "$ ln -s BusyBox /tmp/ls\n" \3226 "$ ls -l /tmp/ls\n" \3227 "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n"3228 3229 #define load_policy_trivial_usage NOUSAGE_STR3230 #define load_policy_full_usage ""3231 3232 #define loadfont_trivial_usage \3233 "< font"3234 #define loadfont_full_usage "\n\n" \3235 "Load a console font from stdin" \3236 /* "\n -C TTY Affect TTY instead of /dev/tty" */ \3237 3238 #define loadfont_example_usage \3239 "$ loadfont < /etc/i18n/fontname\n"3240 3241 #define loadkmap_trivial_usage \3242 "< keymap"3243 #define loadkmap_full_usage "\n\n" \3244 "Load a binary keyboard translation table from stdin\n" \3245 /* "\n -C TTY Affect TTY instead of /dev/tty" */ \3246 3247 #define loadkmap_example_usage \3248 "$ loadkmap < /etc/i18n/lang-keymap\n"3249 3250 #define logger_trivial_usage \3251 "[OPTIONS] [MESSAGE]"3252 #define logger_full_usage "\n\n" \3253 "Write MESSAGE (or stdin) to syslog\n" \3254 "\nOptions:" \3255 "\n -s Log to stderr as well as the system log" \3256 "\n -t TAG Log using the specified tag (defaults to user name)" \3257 "\n -p PRIO Priority (numeric or facility.level pair)" \3258 3259 #define logger_example_usage \3260 "$ logger \"hello\"\n"3261 3262 #define login_trivial_usage \3263 "[-p] [-h HOST] [[-f] USER]"3264 #define login_full_usage "\n\n" \3265 "Begin a new session on the system\n" \3266 "\nOptions:" \3267 "\n -f Don't authenticate (user already authenticated)" \3268 "\n -h Name of the remote host" \3269 "\n -p Preserve environment" \3270 3271 #define logname_trivial_usage \3272 ""3273 #define logname_full_usage "\n\n" \3274 "Print the name of the current user"3275 #define logname_example_usage \3276 "$ logname\n" \3277 "root\n"3278 3279 #define logread_trivial_usage \3280 "[-f]"3281 #define logread_full_usage "\n\n" \3282 "Show messages in syslogd's circular buffer\n" \3283 "\nOptions:" \3284 "\n -f Output data as log grows" \3285 3286 5378 #define losetup_trivial_usage \ 3287 "[- o OFS] LOOPDEV FILE - associate loop devices\n" \5379 "[-r] [-o OFS] LOOPDEV FILE - associate loop devices\n" \ 3288 5380 " losetup -d LOOPDEV - disassociate\n" \ 3289 " losetup [-f] - show" 5381 " losetup [-f] - show" \ 5382 3290 5383 #define losetup_full_usage "\n\n" \ 3291 " Options:" \3292 "\n - o OFS Start OFS bytes into FILE" \5384 " -o OFS Start OFS bytes into FILE" \ 5385 "\n -r Read-only" \ 3293 5386 "\n -f Show first free loop device" \ 3294 5387 … … 3300 5393 "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ 3301 5394 "with an optional offset (-o 12345). Encryption is not yet supported.\n" \ 3302 "losetup -f will show the first loop free loop device\n\n" 3303 3304 #define lpd_trivial_usage \ 3305 "SPOOLDIR [HELPER [ARGS]]" 3306 #define lpd_full_usage "\n\n" \ 3307 "SPOOLDIR must contain (symlinks to) device nodes or directories" \ 3308 "\nwith names matching print queue names. In the first case, jobs are" \ 3309 "\nsent directly to the device. Otherwise each job is stored in queue" \ 3310 "\ndirectory and HELPER program is called. Name of file to print" \ 3311 "\nis passed in $DATAFILE variable." \ 3312 "\nExample:" \ 3313 "\n tcpsvd -E 0 515 softlimit -m 999999 lpd /var/spool ./print" \ 3314 3315 #define lpq_trivial_usage \ 3316 "[-P queue[@host[:port]]] [-U USERNAME] [-d JOBID]... [-fs]" 3317 #define lpq_full_usage "\n\n" \ 3318 "Options:" \ 3319 "\n -P lp service to connect to (else uses $PRINTER)" \ 3320 "\n -d Delete jobs" \ 3321 "\n -f Force any waiting job to be printed" \ 3322 "\n -s Short display" \ 3323 3324 #define lpr_trivial_usage \ 3325 "-P queue[@host[:port]] -U USERNAME -J TITLE -Vmh [FILE]..." 3326 /* -C CLASS exists too, not shown. 3327 * CLASS is supposed to be printed on banner page, if one is requested */ 3328 #define lpr_full_usage "\n\n" \ 3329 "Options:" \ 3330 "\n -P lp service to connect to (else uses $PRINTER)"\ 3331 "\n -m Send mail on completion" \ 3332 "\n -h Print banner page too" \ 3333 "\n -V Verbose" \ 3334 3335 #define ls_trivial_usage \ 3336 "[-1Aa" IF_FEATURE_LS_TIMESTAMPS("c") "Cd" \ 3337 IF_FEATURE_LS_TIMESTAMPS("e") IF_FEATURE_LS_FILETYPES("F") "iln" \ 3338 IF_FEATURE_LS_FILETYPES("p") IF_FEATURE_LS_FOLLOWLINKS("L") \ 3339 IF_FEATURE_LS_RECURSIVE("R") IF_FEATURE_LS_SORTFILES("rS") "s" \ 3340 IF_FEATURE_AUTOWIDTH("T") IF_FEATURE_LS_TIMESTAMPS("tu") \ 3341 IF_FEATURE_LS_SORTFILES("v") IF_FEATURE_AUTOWIDTH("w") "x" \ 3342 IF_FEATURE_LS_SORTFILES("X") IF_FEATURE_HUMAN_READABLE("h") "k" \ 3343 IF_SELINUX("K") "] [FILE]..." 3344 #define ls_full_usage "\n\n" \ 3345 "List directory contents\n" \ 3346 "\nOptions:" \ 3347 "\n -1 List in a single column" \ 3348 "\n -A Don't list . and .." \ 3349 "\n -a Don't hide entries starting with ." \ 3350 "\n -C List by columns" \ 3351 IF_FEATURE_LS_TIMESTAMPS( \ 3352 "\n -c With -l: sort by ctime") \ 3353 IF_FEATURE_LS_COLOR( \ 3354 "\n --color[={always,never,auto}] Control coloring") \ 3355 "\n -d List directory entries instead of contents" \ 3356 IF_FEATURE_LS_TIMESTAMPS( \ 3357 "\n -e List full date and time") \ 3358 IF_FEATURE_LS_FILETYPES( \ 3359 "\n -F Append indicator (one of */=@|) to entries") \ 3360 "\n -i List inode numbers" \ 3361 "\n -l Long listing format" \ 3362 "\n -n List numeric UIDs and GIDs instead of names" \ 3363 IF_FEATURE_LS_FILETYPES( \ 3364 "\n -p Append indicator (one of /=@|) to entries") \ 3365 IF_FEATURE_LS_FOLLOWLINKS( \ 3366 "\n -L List entries pointed to by symlinks") \ 3367 IF_FEATURE_LS_RECURSIVE( \ 3368 "\n -R Recurse") \ 3369 IF_FEATURE_LS_SORTFILES( \ 3370 "\n -r Sort in reverse order") \ 3371 IF_FEATURE_LS_SORTFILES( \ 3372 "\n -S Sort by file size") \ 3373 "\n -s List the size of each file, in blocks" \ 3374 IF_FEATURE_AUTOWIDTH( \ 3375 "\n -T N Assume tabstop every N columns") \ 3376 IF_FEATURE_LS_TIMESTAMPS( \ 3377 "\n -t With -l: sort by modification time") \ 3378 IF_FEATURE_LS_TIMESTAMPS( \ 3379 "\n -u With -l: sort by access time") \ 3380 IF_FEATURE_LS_SORTFILES( \ 3381 "\n -v Sort by version") \ 3382 IF_FEATURE_AUTOWIDTH( \ 3383 "\n -w N Assume the terminal is N columns wide") \ 3384 "\n -x List by lines" \ 3385 IF_FEATURE_LS_SORTFILES( \ 3386 "\n -X Sort by extension") \ 3387 IF_FEATURE_HUMAN_READABLE( \ 3388 "\n -h List sizes in human readable format (1K 243M 2G)") \ 3389 IF_SELINUX( \ 3390 "\n -k List security context") \ 3391 IF_SELINUX( \ 3392 "\n -K List security context in long format") \ 3393 IF_SELINUX( \ 3394 "\n -Z List security context and permission") \ 3395 3396 #define lsattr_trivial_usage \ 3397 "[-Radlv] [FILE]..." 3398 #define lsattr_full_usage "\n\n" \ 3399 "List file attributes on an ext2 fs\n" \ 3400 "\nOptions:" \ 3401 "\n -R Recurse" \ 3402 "\n -a Don't hide entries starting with ." \ 3403 "\n -d List directory entries instead of contents" \ 3404 "\n -l List long flag names" \ 3405 "\n -v List the file's version/generation number" \ 5395 "losetup -f will show the first loop free loop device\n\n" \ 3406 5396 3407 5397 #define lspci_trivial_usage \ 3408 "[-mk]" 5398 "[-mk]" \ 5399 3409 5400 #define lspci_full_usage "\n\n" \ 3410 5401 "List all PCI devices" \ 3411 5402 "\n" \ 3412 "\n -m Pars eable output" \5403 "\n -m Parsable output" \ 3413 5404 "\n -k Show driver" \ 3414 5405 3415 #define lsusb_trivial_usage NOUSAGE_STR 3416 #define lsusb_full_usage "" 3417 3418 #if ENABLE_FEATURE_MAKEDEVS_LEAF 3419 #define makedevs_trivial_usage \ 3420 "NAME TYPE MAJOR MINOR FIRST LAST [s]" 3421 #define makedevs_full_usage "\n\n" \ 3422 "Create a range of block or character special files" \ 3423 "\n" \ 3424 "\nTYPE is:" \ 3425 "\n b Block device" \ 3426 "\n c Character device" \ 3427 "\n f FIFO, MAJOR and MINOR are ignored" \ 3428 "\n" \ 3429 "\nFIRST..LAST specify numbers appended to NAME." \ 3430 "\nIf 's' is the last argument, the base device is created as well." \ 3431 "\n" \ 3432 "\nExamples:" \ 3433 "\n makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63" \ 3434 "\n makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" 3435 #define makedevs_example_usage \ 3436 "# makedevs /dev/ttyS c 4 66 2 63\n" \ 3437 "[creates ttyS2-ttyS63]\n" \ 3438 "# makedevs /dev/hda b 3 0 0 8 s\n" \ 3439 "[creates hda,hda1-hda8]\n" 3440 #endif 3441 3442 #if ENABLE_FEATURE_MAKEDEVS_TABLE 3443 #define makedevs_trivial_usage \ 3444 "[-d device_table] rootdir" 3445 #define makedevs_full_usage "\n\n" \ 3446 "Create a range of special files as specified in a device table.\n" \ 3447 "Device table entries take the form of:\n" \ 3448 "<type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>\n" \ 3449 "Where name is the file name, type can be one of:\n" \ 3450 " f Regular file\n" \ 3451 " d Directory\n" \ 3452 " c Character device\n" \ 3453 " b Block device\n" \ 3454 " p Fifo (named pipe)\n" \ 3455 "uid is the user id for the target file, gid is the group id for the\n" \ 3456 "target file. The rest of the entries (major, minor, etc) apply to\n" \ 3457 "to device special files. A '-' may be used for blank entries." 3458 #define makedevs_example_usage \ 3459 "For example:\n" \ 3460 "<name> <type> <mode><uid><gid><major><minor><start><inc><count>\n" \ 3461 "/dev d 755 0 0 - - - - -\n" \ 3462 "/dev/console c 666 0 0 5 1 - - -\n" \ 3463 "/dev/null c 666 0 0 1 3 0 0 -\n" \ 3464 "/dev/zero c 666 0 0 1 5 0 0 -\n" \ 3465 "/dev/hda b 640 0 0 3 0 0 0 -\n" \ 3466 "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \ 3467 "Will Produce:\n" \ 3468 "/dev\n" \ 3469 "/dev/console\n" \ 3470 "/dev/null\n" \ 3471 "/dev/zero\n" \ 3472 "/dev/hda\n" \ 3473 "/dev/hda[0-15]\n" 3474 #endif 3475 3476 #define makemime_trivial_usage \ 3477 "[OPTIONS] [FILE]..." 3478 #define makemime_full_usage "\n\n" \ 3479 "Create multipart MIME-encoded message from FILEs\n" \ 3480 /* "Transfer encoding is base64, disposition is inline (not attachment)\n" */ \ 3481 "\nOptions:" \ 3482 "\n -o FILE Output. Default: stdout" \ 3483 "\n -a HDR Add header. Examples:" \ 3484 "\n \"From: user@host.org\", \"Date: `date -R`\"" \ 3485 "\n -c CT Content type. Default: text/plain" \ 3486 "\n -C CS Charset. Default: " CONFIG_FEATURE_MIME_CHARSET \ 3487 /* "\n -e ENC Transfer encoding. Ignored. base64 is assumed" */ \ 3488 "\n" \ 3489 "\nOther options are silently ignored" \ 3490 3491 #define man_trivial_usage \ 3492 "[-aw] [MANPAGE]..." 3493 #define man_full_usage "\n\n" \ 3494 "Format and display manual page\n" \ 3495 "\nOptions:" \ 3496 "\n -a Display all pages" \ 3497 "\n -w Show page locations" \ 3498 3499 #define matchpathcon_trivial_usage \ 3500 "[-n] [-N] [-f file_contexts_file] [-p prefix] [-V]" 3501 #define matchpathcon_full_usage "\n\n" \ 3502 " -n Don't display path" \ 3503 "\n -N Don't use translations" \ 3504 "\n -f Use alternate file_context file" \ 3505 "\n -p Use prefix to speed translations" \ 3506 "\n -V Verify file context on disk matches defaults" \ 3507 3508 #define md5sum_trivial_usage \ 3509 "[FILE]..." \ 3510 IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum -c [-sw] [FILE]") 3511 #define md5sum_full_usage "\n\n" \ 3512 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ 3513 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 3514 "\nOptions:" \ 3515 "\n -c Check sums against given list" \ 3516 "\n -s Don't output anything, status code shows success" \ 3517 "\n -w Warn about improperly formatted checksum lines" \ 3518 ) 3519 3520 #define md5sum_example_usage \ 3521 "$ md5sum < busybox\n" \ 3522 "6fd11e98b98a58f64ff3398d7b324003\n" \ 3523 "$ md5sum busybox\n" \ 3524 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 3525 "$ md5sum -c -\n" \ 3526 "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ 3527 "busybox: OK\n" \ 3528 "^D\n" 3529 3530 #define sha1sum_trivial_usage \ 3531 "[FILE]..." \ 3532 IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum -c [-sw] [FILE]") 3533 #define sha1sum_full_usage "\n\n" \ 3534 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums" \ 3535 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 3536 "\nOptions:" \ 3537 "\n -c Check sums against given list" \ 3538 "\n -s Don't output anything, status code shows success" \ 3539 "\n -w Warn about improperly formatted checksum lines" \ 3540 ) 3541 3542 #define sha256sum_trivial_usage \ 3543 "[FILE]..." \ 3544 IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha256sum -c [-sw] [FILE]") 3545 #define sha256sum_full_usage "\n\n" \ 3546 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA256 checksums" \ 3547 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 3548 "\nOptions:" \ 3549 "\n -c Check sums against given list" \ 3550 "\n -s Don't output anything, status code shows success" \ 3551 "\n -w Warn about improperly formatted checksum lines" \ 3552 ) 3553 3554 #define sha512sum_trivial_usage \ 3555 "[FILE]..." \ 3556 IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha512sum -c [-sw] [FILE]") 3557 #define sha512sum_full_usage "\n\n" \ 3558 "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA512 checksums" \ 3559 IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ 3560 "\nOptions:" \ 3561 "\n -c Check sums against given list" \ 3562 "\n -s Don't output anything, status code shows success" \ 3563 "\n -w Warn about improperly formatted checksum lines" \ 3564 ) 5406 #define lsusb_trivial_usage NOUSAGE_STR \ 5407 5408 #define lsusb_full_usage "" \ 3565 5409 3566 5410 #define mdev_trivial_usage \ 3567 "[-s]" 5411 "[-s]" \ 5412 3568 5413 #define mdev_full_usage "\n\n" \ 3569 " -s Scan /sys and populate /dev during system boot\n" \5414 "mdev -s is to be run during boot to scan /sys and populate /dev.\n" \ 3570 5415 "\n" \ 3571 " It can be run by kernel as ahotplug helper. To activate it:\n" \3572 " echo /sbin/mdev >/proc/sys/kernel/hotplug\n" \5416 "Bare mdev is a kernel hotplug helper. To activate it:\n" \ 5417 " echo /sbin/mdev >/proc/sys/kernel/hotplug\n" \ 3573 5418 IF_FEATURE_MDEV_CONF( \ 5419 "\n" \ 3574 5420 "It uses /etc/mdev.conf with lines\n" \ 3575 " [-]DEVNAME UID:GID PERM" \3576 IF_FEATURE_MDEV_RENAME(" [>|=PATH] ") \5421 " [-][ENV=regex;]...DEVNAME UID:GID PERM" \ 5422 IF_FEATURE_MDEV_RENAME(" [>|=PATH]|[!]") \ 3577 5423 IF_FEATURE_MDEV_EXEC(" [@|$|*PROG]") \ 3578 ) \ 3579 3580 #define mdev_notes_usage "" \ 3581 IF_FEATURE_MDEV_CONFIG( \ 3582 "The mdev config file contains lines that look like:\n" \ 3583 " hd[a-z][0-9]* 0:3 660\n\n" \ 3584 "That's device name (with regex match), uid:gid, and permissions.\n\n" \ 3585 IF_FEATURE_MDEV_EXEC( \ 3586 "Optionally, that can be followed (on the same line) by a special character\n" \ 3587 "and a command line to run after creating/before deleting the corresponding\n" \ 3588 "device(s). The environment variable $MDEV indicates the active device node\n" \ 3589 "(which is useful if it's a regex match). For example:\n\n" \ 3590 " hdc root:cdrom 660 *ln -s $MDEV cdrom\n\n" \ 3591 "The special characters are @ (run after creating), $ (run before deleting),\n" \ 3592 "and * (run both after creating and before deleting). The commands run in\n" \ 3593 "the /dev directory, and use system() which calls /bin/sh.\n\n" \ 3594 ) \ 3595 "Config file parsing stops on the first matching line. If no config\n" \ 3596 "entry is matched, devices are created with default 0:0 660. (Make\n" \ 3597 "the last line match .* to override this.)\n\n" \ 3598 ) 3599 3600 #define microcom_trivial_usage \ 3601 "[-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY" 3602 #define microcom_full_usage "\n\n" \ 3603 "Copy bytes for stdin to TTY and from TTY to stdout\n" \ 3604 "\nOptions:" \ 3605 "\n -d Wait up to DELAY ms for TTY output before sending every" \ 3606 "\n next byte to it" \ 3607 "\n -t Exit if both stdin and TTY are silent for TIMEOUT ms" \ 3608 "\n -s Set serial line to SPEED" \ 3609 "\n -X Disable special meaning of NUL and Ctrl-X from stdin" \ 3610 3611 #define mkdir_trivial_usage \ 3612 "[OPTIONS] DIRECTORY..." 3613 #define mkdir_full_usage "\n\n" \ 3614 "Create DIRECTORY\n" \ 3615 "\nOptions:" \ 3616 "\n -m MODE Mode" \ 3617 "\n -p No error if exists; make parent directories as needed" \ 3618 IF_SELINUX( \ 3619 "\n -Z Set security context" \ 3620 ) 3621 3622 #define mkdir_example_usage \ 3623 "$ mkdir /tmp/foo\n" \ 3624 "$ mkdir /tmp/foo\n" \ 3625 "/tmp/foo: File exists\n" \ 3626 "$ mkdir /tmp/foo/bar/baz\n" \ 3627 "/tmp/foo/bar/baz: No such file or directory\n" \ 3628 "$ mkdir -p /tmp/foo/bar/baz\n" 3629 3630 #define mkfifo_trivial_usage \ 3631 "[-m MODE] " IF_SELINUX("[-Z] ") "NAME" 3632 #define mkfifo_full_usage "\n\n" \ 3633 "Create named pipe\n" \ 3634 "\nOptions:" \ 3635 "\n -m MODE Mode (default a=rw)" \ 3636 IF_SELINUX( \ 3637 "\n -Z Set security context" \ 3638 ) 5424 "\n" \ 5425 "where DEVNAME is device name regex, @major,minor[-minor2], or\n" \ 5426 "environment variable regex. A common use of the latter is\n" \ 5427 "to load modules for hotplugged devices:\n" \ 5428 " $MODALIAS=.* 0:0 660 @modprobe \"$MODALIAS\"\n" \ 5429 ) \ 5430 "\n" \ 5431 "If /dev/mdev.seq file exists, mdev will wait for its value\n" \ 5432 "to match $SEQNUM variable. This prevents plug/unplug races.\n" \ 5433 "To activate this feature, create empty /dev/mdev.seq at boot.\n" \ 5434 "\n" \ 5435 "If /dev/mdev.log file exists, debug log will be appended to it." \ 3639 5436 3640 5437 #define mkfs_ext2_trivial_usage \ 3641 5438 "[-Fn] " \ 3642 /* "[-c|-l filename] " */ \3643 5439 "[-b BLK_SIZE] " \ 3644 /* "[-f fragment-size] [-g blocks-per-group] " */ \3645 5440 "[-i INODE_RATIO] [-I INODE_SIZE] " \ 3646 /* "[-j] [-J journal-options] [-N number-of-inodes] " */ \3647 5441 "[-m RESERVED_PERCENT] " \ 3648 /* "[-o creator-os] [-O feature[,...]] [-q] " */ \3649 /* "[r fs-revision-level] [-E extended-options] [-v] [-F] " */ \3650 5442 "[-L LABEL] " \ 3651 /* "[-M last-mounted-directory] [-S] [-T filesystem-type] " */\3652 "BLOCKDEV [KBYTES]" 5443 "BLOCKDEV [KBYTES]" \ 5444 3653 5445 #define mkfs_ext2_full_usage "\n\n" \ 3654 5446 " -b BLK_SIZE Block size, bytes" \ 3655 /* "\n -c Check device for bad blocks" */ \3656 /* "\n -E opts Set extended options" */ \3657 /* "\n -f size Fragment size in bytes" */ \3658 5447 "\n -F Force" \ 3659 /* "\n -g N Number of blocks in a block group" */ \3660 5448 "\n -i RATIO Max number of files is filesystem_size / RATIO" \ 3661 5449 "\n -I BYTES Inode size (min 128)" \ 3662 /* "\n -j Create a journal (ext3)" */ \3663 /* "\n -J opts Set journal options (size/device)" */ \3664 /* "\n -l file Read bad blocks list from file" */ \3665 5450 "\n -L LBL Volume label" \ 3666 5451 "\n -m PERCENT Percent of blocks to reserve for admin" \ 3667 /* "\n -M dir Set last mounted directory" */ \3668 5452 "\n -n Dry run" \ 3669 /* "\n -N N Number of inodes to create" */ \3670 /* "\n -o os Set the 'creator os' field" */ \3671 /* "\n -O features Dir_index/filetype/has_journal/journal_dev/sparse_super" */ \3672 /* "\n -q Quiet" */ \3673 /* "\n -r rev Set filesystem revision" */ \3674 /* "\n -S Write superblock and group descriptors only" */ \3675 /* "\n -T fs-type Set usage type (news/largefile/largefile4)" */ \3676 /* "\n -v Verbose" */ \3677 5453 3678 5454 #define mkfs_minix_trivial_usage \ 3679 "[-c | -l FILE] [-nXX] [-iXX] BLOCKDEV [KBYTES]" 5455 "[-c | -l FILE] [-nXX] [-iXX] BLOCKDEV [KBYTES]" \ 5456 3680 5457 #define mkfs_minix_full_usage "\n\n" \ 3681 5458 "Make a MINIX filesystem\n" \ 3682 "\nOptions:" \3683 5459 "\n -c Check device for bad blocks" \ 3684 5460 "\n -n [14|30] Maximum length of filenames" \ … … 3688 5464 3689 5465 #define mkfs_reiser_trivial_usage \ 3690 "[-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]" 5466 "[-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]" \ 3691 5467 3692 5468 #define mkfs_reiser_full_usage "\n\n" \ 3693 5469 "Make a ReiserFS V3 filesystem\n" \ 3694 "\nOptions:" \3695 5470 "\n -f Force" \ 3696 5471 "\n -l LBL Volume label" \ 3697 5472 3698 5473 #define mkfs_vfat_trivial_usage \ 3699 "[-v] [-n LABEL] BLOCKDEV [KBYTES]" 3700 /* Accepted but ignored: 3701 "[-c] [-C] [-I] [-l bad-block-file] [-b backup-boot-sector] " 3702 "[-m boot-msg-file] [-i volume-id] " 3703 "[-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs] " 3704 "[-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors] " 3705 */ 5474 "[-v] [-n LABEL] BLOCKDEV [KBYTES]" \ 5475 3706 5476 #define mkfs_vfat_full_usage "\n\n" \ 3707 5477 "Make a FAT32 filesystem\n" \ 3708 "\nOptions:" \3709 /* "\n -c Check device for bad blocks" */ \3710 5478 "\n -v Verbose" \ 3711 /* "\n -I Allow to use entire disk device (e.g. /dev/hda)" */ \3712 5479 "\n -n LBL Volume label" \ 3713 5480 3714 #define mknod_trivial_usage \3715 "[-m MODE] " IF_SELINUX("[-Z] ") "NAME TYPE MAJOR MINOR"3716 #define mknod_full_usage "\n\n" \3717 "Create a special file (block, character, or pipe)\n" \3718 "\nOptions:" \3719 "\n -m MODE Creation mode (default a=rw)" \3720 IF_SELINUX( \3721 "\n -Z Set security context" \3722 ) \3723 "\nTYPE:" \3724 "\n b Block device" \3725 "\n c or u Character device" \3726 "\n p Named pipe (MAJOR and MINOR are ignored)" \3727 3728 #define mknod_example_usage \3729 "$ mknod /dev/fd0 b 2 0\n" \3730 "$ mknod -m 644 /tmp/pipe p\n"3731 3732 5481 #define mkswap_trivial_usage \ 3733 "[-L LBL] BLOCKDEV [KBYTES]" 5482 "[-L LBL] BLOCKDEV [KBYTES]" \ 5483 3734 5484 #define mkswap_full_usage "\n\n" \ 3735 5485 "Prepare BLOCKDEV to be used as swap partition\n" \ 3736 "\nOptions:" \3737 5486 "\n -L LBL Label" \ 3738 5487 3739 #define mktemp_trivial_usage \3740 "[-dt] [-p DIR] [TEMPLATE]"3741 #define mktemp_full_usage "\n\n" \3742 "Create a temporary file with name based on TEMPLATE and print its name.\n" \3743 "TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).\n" \3744 "\nOptions:" \3745 "\n -d Make a directory instead of a file" \3746 /* "\n -q Fail silently if an error occurs" - we ignore it */ \3747 "\n -t Generate a path rooted in temporary directory" \3748 "\n -p DIR Use DIR as a temporary directory (implies -t)" \3749 "\n" \3750 "\nFor -t or -p, directory is chosen as follows:" \3751 "\n$TMPDIR if set, else -p DIR, else /tmp" \3752 3753 #define mktemp_example_usage \3754 "$ mktemp /tmp/temp.XXXXXX\n" \3755 "/tmp/temp.mWiLjM\n" \3756 "$ ls -la /tmp/temp.mWiLjM\n" \3757 "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n"3758 3759 5488 #define more_trivial_usage \ 3760 "[FILE]..." 5489 "[FILE]..." \ 5490 3761 5491 #define more_full_usage "\n\n" \ 3762 "View FILE (or stdin) one screenful at a time" 5492 "View FILE (or stdin) one screenful at a time" \ 3763 5493 3764 5494 #define more_example_usage \ 3765 "$ dmesg | more\n" 5495 "$ dmesg | more\n" \ 3766 5496 3767 5497 #define mount_trivial_usage \ 3768 "[OPTIONS] [-o OPTS] DEVICE NODE" 5498 "[OPTIONS] [-o OPTS] DEVICE NODE" \ 5499 3769 5500 #define mount_full_usage "\n\n" \ 3770 5501 "Mount a filesystem. Filesystem autodetection requires /proc.\n" \ 3771 "\nOptions:" \3772 5502 "\n -a Mount all filesystems in fstab" \ 3773 5503 IF_FEATURE_MOUNT_FAKE( \ … … 3785 5515 "\n -n Don't update /etc/mtab" \ 3786 5516 ) \ 5517 IF_FEATURE_MOUNT_VERBOSE( \ 5518 "\n -v Verbose" \ 5519 ) \ 3787 5520 "\n -r Read-only mount" \ 3788 5521 "\n -w Read-write mount (default)" \ 3789 "\n -t FSTYPE Filesystem type" \5522 "\n -t FSTYPE[,...] Filesystem type(s)" \ 3790 5523 "\n -O OPT Mount only filesystems with option OPT (-a only)" \ 3791 5524 "\n-o OPT:" \ … … 3805 5538 "\n [r]private Convert [recursively] to a private subtree" \ 3806 5539 "\n [un]bindable Make mount point [un]able to be bind mounted" \ 3807 "\n bind Bind a file or directoryto another location" \5540 "\n [r]bind Bind a file or directory [recursively] to another location" \ 3808 5541 "\n move Relocate an existing mount point" \ 3809 5542 ) \ … … 3820 5553 "$ mount /dev/fd0 /mnt -t msdos -o ro\n" \ 3821 5554 "$ mount /tmp/diskimage /opt -t ext2 -o loop\n" \ 3822 "$ mount cd_image.iso mydir\n" 5555 "$ mount cd_image.iso mydir\n" \ 5556 3823 5557 #define mount_notes_usage \ 3824 "Returns 0 for success, number of failed mounts for -a, or errno for one mount." 3825 3826 #define mountpoint_trivial_usage \ 3827 "[-q] <[-dn] DIR | -x DEVICE>" 3828 #define mountpoint_full_usage "\n\n" \ 3829 "Check if the directory is a mountpoint\n" \ 3830 "\nOptions:" \ 3831 "\n -q Quiet" \ 3832 "\n -d Print major/minor device number of the filesystem" \ 3833 "\n -n Print device name of the filesystem" \ 3834 "\n -x Print major/minor device number of the blockdevice" \ 3835 3836 #define mountpoint_example_usage \ 3837 "$ mountpoint /proc\n" \ 3838 "/proc is not a mountpoint\n" \ 3839 "$ mountpoint /sys\n" \ 3840 "/sys is a mountpoint\n" 3841 3842 #define mt_trivial_usage \ 3843 "[-f device] opcode value" 3844 #define mt_full_usage "\n\n" \ 3845 "Control magnetic tape drive operation\n" \ 3846 "\n" \ 3847 "Available Opcodes:\n" \ 3848 "\n" \ 3849 "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \ 3850 "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \ 3851 "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \ 3852 "setpart tell unload unlock weof wset" \ 3853 3854 #define nameif_trivial_usage \ 3855 "[-s] [-c FILE] [{IFNAME MACADDR}]" 3856 #define nameif_full_usage "\n\n" \ 3857 "Rename network interface while it in the down state\n" \ 3858 "\nOptions:" \ 3859 "\n -c FILE Use configuration file (default: /etc/mactab)" \ 3860 "\n -s Use syslog (LOCAL0 facility)" \ 3861 "\n IFNAME MACADDR new_interface_name interface_mac_address" \ 3862 3863 #define nameif_example_usage \ 3864 "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \ 3865 " or\n" \ 3866 "$ nameif -c /etc/my_mactab_file\n" \ 3867 3868 #define nmeter_trivial_usage \ 3869 "format_string" 3870 #define nmeter_full_usage "\n\n" \ 3871 "Monitor system in real time\n\n" \ 3872 "Format specifiers:\n" \ 3873 " %Nc or %[cN] Monitor CPU. N - bar size, default 10\n" \ 3874 " (displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \ 3875 " %[niface] Monitor network interface 'iface'\n" \ 3876 " %m Monitor allocated memory\n" \ 3877 " %[mf] Monitor free memory\n" \ 3878 " %[mt] Monitor total memory\n" \ 3879 " %s Monitor allocated swap\n" \ 3880 " %f Monitor number of used file descriptors\n" \ 3881 " %Ni Monitor total/specific IRQ rate\n" \ 3882 " %x Monitor context switch rate\n" \ 3883 " %p Monitor forks\n" \ 3884 " %[pn] Monitor # of processes\n" \ 3885 " %b Monitor block io\n" \ 3886 " %Nt Show time (with N decimal points)\n" \ 3887 " %Nd Milliseconds between updates (default:1000)\n" \ 3888 " %r Print <cr> instead of <lf> at EOL" \ 3889 3890 #define nmeter_example_usage \ 3891 "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'" 3892 3893 #define nohup_trivial_usage \ 3894 "PROG ARGS" 3895 #define nohup_full_usage "\n\n" \ 3896 "Run PROG immune to hangups, with output to a non-tty" 3897 #define nohup_example_usage \ 3898 "$ nohup make &" 3899 3900 #define nslookup_trivial_usage \ 3901 "[HOST] [SERVER]" 3902 #define nslookup_full_usage "\n\n" \ 3903 "Query the nameserver for the IP address of the given HOST\n" \ 3904 "optionally using a specified DNS server" 3905 #define nslookup_example_usage \ 3906 "$ nslookup localhost\n" \ 3907 "Server: default\n" \ 3908 "Address: default\n" \ 3909 "\n" \ 3910 "Name: debian\n" \ 3911 "Address: 127.0.0.1\n" 3912 3913 #define ntpd_trivial_usage \ 3914 "[-dnqNw"IF_FEATURE_NTPD_SERVER("l")"] [-S PROG] [-p PEER]..." 3915 #define ntpd_full_usage "\n\n" \ 3916 "NTP client/server\n" \ 3917 "\nOptions:" \ 3918 "\n -d Verbose" \ 3919 "\n -n Do not daemonize" \ 3920 "\n -q Quit after clock is set" \ 3921 "\n -N Run at high priority" \ 3922 "\n -w Do not set time (only query peers), implies -n" \ 3923 IF_FEATURE_NTPD_SERVER( \ 3924 "\n -l Run as server on port 123" \ 3925 ) \ 3926 "\n -S PROG Run PROG after stepping time, stratum change, and every 11 mins" \ 3927 "\n -p PEER Obtain time from PEER (may be repeated)" \ 3928 3929 #define od_trivial_usage \ 3930 "[-aBbcDdeFfHhIiLlOovXx] " IF_DESKTOP("[-t TYPE] ") "[FILE]" 3931 #define od_full_usage "\n\n" \ 3932 "Write an unambiguous representation, octal bytes by default, of FILE\n" \ 3933 "(or stdin) to stdout" 3934 3935 #define openvt_trivial_usage \ 3936 "[-c N] [-sw] [PROG ARGS]" 3937 #define openvt_full_usage "\n\n" \ 3938 "Start PROG on a new virtual terminal\n" \ 3939 "\nOptions:" \ 3940 "\n -c N Use specified VT" \ 3941 "\n -s Switch to the VT" \ 3942 /* "\n -l Run PROG as login shell (by prepending '-')" */ \ 3943 "\n -w Wait for PROG to exit" \ 3944 3945 #define openvt_example_usage \ 3946 "openvt 2 /bin/ash\n" 3947 3948 /* 3949 #define parse_trivial_usage \ 3950 "[-n MAXTOKENS] [-m MINTOKENS] [-d DELIMS] [-f FLAGS] FILE..." 3951 #define parse_full_usage "" 3952 */ 3953 3954 #define passwd_trivial_usage \ 3955 "[OPTIONS] [USER]" 3956 #define passwd_full_usage "\n\n" \ 3957 "Change USER's password. If no USER is specified,\n" \ 3958 "changes the password for the current user.\n" \ 3959 "\nOptions:" \ 3960 "\n -a ALG Algorithm to use for password (des, md5)" /* ", sha1)" */ \ 3961 "\n -d Delete password for the account" \ 3962 "\n -l Lock (disable) account" \ 3963 "\n -u Unlock (re-enable) account" \ 3964 3965 #define chpasswd_trivial_usage \ 3966 IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]") 3967 #define chpasswd_full_usage "\n\n" \ 3968 "Read user:password from stdin and update /etc/passwd\n" \ 3969 "\nOptions:" \ 3970 IF_LONG_OPTS( \ 3971 "\n -e,--encrypted Supplied passwords are in encrypted form" \ 3972 "\n -m,--md5 Use MD5 encryption instead of DES" \ 3973 ) \ 3974 IF_NOT_LONG_OPTS( \ 3975 "\n -e Supplied passwords are in encrypted form" \ 3976 "\n -m Use MD5 encryption instead of DES" \ 3977 ) 3978 3979 #define pgrep_trivial_usage \ 3980 "[-flnovx] [-s SID|-P PPID|PATTERN]" 3981 #define pgrep_full_usage "\n\n" \ 3982 "Display process(es) selected by regex PATTERN\n" \ 3983 "\nOptions:" \ 3984 "\n -l Show command name too" \ 3985 "\n -f Match against entire command line" \ 3986 "\n -n Show the newest process only" \ 3987 "\n -o Show the oldest process only" \ 3988 "\n -v Negate the match" \ 3989 "\n -x Match whole name (not substring)" \ 3990 "\n -s Match session ID (0 for current)" \ 3991 "\n -P Match parent process ID" \ 3992 3993 #if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT) 3994 #define pidof_trivial_usage \ 3995 "[OPTIONS] [NAME]..." 3996 #define USAGE_PIDOF "\n\nOptions:" 3997 #else 3998 #define pidof_trivial_usage \ 3999 "[NAME]..." 4000 #define USAGE_PIDOF /* none */ 4001 #endif 4002 #define pidof_full_usage "\n\n" \ 4003 "List PIDs of all processes with names that match NAMEs" \ 4004 USAGE_PIDOF \ 4005 IF_FEATURE_PIDOF_SINGLE( \ 4006 "\n -s Show only one PID" \ 4007 ) \ 4008 IF_FEATURE_PIDOF_OMIT( \ 4009 "\n -o PID Omit given pid" \ 4010 "\n Use %PPID to omit pid of pidof's parent" \ 4011 ) \ 4012 4013 #define pidof_example_usage \ 4014 "$ pidof init\n" \ 4015 "1\n" \ 4016 IF_FEATURE_PIDOF_OMIT( \ 4017 "$ pidof /bin/sh\n20351 5973 5950\n") \ 4018 IF_FEATURE_PIDOF_OMIT( \ 4019 "$ pidof /bin/sh -o %PPID\n20351 5950") 4020 4021 #if !ENABLE_FEATURE_FANCY_PING 4022 #define ping_trivial_usage \ 4023 "host" 4024 #define ping_full_usage "\n\n" \ 4025 "Send ICMP ECHO_REQUEST packets to network hosts" 4026 #define ping6_trivial_usage \ 4027 "host" 4028 #define ping6_full_usage "\n\n" \ 4029 "Send ICMP ECHO_REQUEST packets to network hosts" 4030 #else 4031 #define ping_trivial_usage \ 4032 "[OPTIONS] HOST" 4033 #define ping_full_usage "\n\n" \ 4034 "Send ICMP ECHO_REQUEST packets to network hosts\n" \ 4035 "\nOptions:" \ 4036 "\n -4,-6 Force IP or IPv6 name resolution" \ 4037 "\n -c CNT Send only CNT pings" \ 4038 "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ 4039 "\n -I IFACE/IP Use interface or IP address as source" \ 4040 "\n -W SEC Seconds to wait for the first response (default:10)" \ 4041 "\n (after all -c CNT packets are sent)" \ 4042 "\n -w SEC Seconds until ping exits (default:infinite)" \ 4043 "\n (can exit earlier with -c CNT)" \ 4044 "\n -q Quiet, only displays output at start" \ 4045 "\n and when finished" \ 4046 4047 #define ping6_trivial_usage \ 4048 "[OPTIONS] HOST" 4049 #define ping6_full_usage "\n\n" \ 4050 "Send ICMP ECHO_REQUEST packets to network hosts\n" \ 4051 "\nOptions:" \ 4052 "\n -c CNT Send only CNT pings" \ 4053 "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ 4054 "\n -I IFACE/IP Use interface or IP address as source" \ 4055 "\n -q Quiet, only displays output at start" \ 4056 "\n and when finished" \ 4057 4058 #endif 4059 #define ping_example_usage \ 4060 "$ ping localhost\n" \ 4061 "PING slag (127.0.0.1): 56 data bytes\n" \ 4062 "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \ 4063 "\n" \ 4064 "--- debian ping statistics ---\n" \ 4065 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 4066 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 4067 #define ping6_example_usage \ 4068 "$ ping6 ip6-localhost\n" \ 4069 "PING ip6-localhost (::1): 56 data bytes\n" \ 4070 "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \ 4071 "\n" \ 4072 "--- ip6-localhost ping statistics ---\n" \ 4073 "1 packets transmitted, 1 packets received, 0% packet loss\n" \ 4074 "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 4075 4076 #define pipe_progress_trivial_usage NOUSAGE_STR 4077 #define pipe_progress_full_usage "" 5558 "Returns 0 for success, number of failed mounts for -a, or errno for one mount." \ 4078 5559 4079 5560 #define pivot_root_trivial_usage \ 4080 "NEW_ROOT PUT_OLD" 5561 "NEW_ROOT PUT_OLD" \ 5562 4081 5563 #define pivot_root_full_usage "\n\n" \ 4082 5564 "Move the current root file system to PUT_OLD and make NEW_ROOT\n" \ 4083 "the new root file system" 4084 4085 #define pkill_trivial_usage \ 4086 "[-l|-SIGNAL] [-fnovx] [-s SID|-P PPID|PATTERN]" 4087 #define pkill_full_usage "\n\n" \ 4088 "Send a signal to process(es) selected by regex PATTERN\n" \ 4089 "\nOptions:" \ 4090 "\n -l List all signals" \ 4091 "\n -f Match against entire command line" \ 4092 "\n -n Signal the newest process only" \ 4093 "\n -o Signal the oldest process only" \ 4094 "\n -v Negate the match" \ 4095 "\n -x Match whole name (not substring)" \ 4096 "\n -s Match session ID (0 for current)" \ 4097 "\n -P Match parent process ID" \ 4098 4099 #define popmaildir_trivial_usage \ 4100 "[OPTIONS] MAILDIR [CONN_HELPER ARGS]" 4101 #define popmaildir_full_usage "\n\n" \ 4102 "Fetch content of remote mailbox to local maildir\n" \ 4103 "\nOptions:" \ 4104 /* "\n -b Binary mode. Ignored" */ \ 4105 /* "\n -d Debug. Ignored" */ \ 4106 /* "\n -m Show used memory. Ignored" */ \ 4107 /* "\n -V Show version. Ignored" */ \ 4108 /* "\n -c Use tcpclient. Ignored" */ \ 4109 /* "\n -a Use APOP protocol. Implied. If server supports APOP -> use it" */ \ 4110 "\n -s Skip authorization" \ 4111 "\n -T Get messages with TOP instead of RETR" \ 4112 "\n -k Keep retrieved messages on the server" \ 4113 "\n -t SEC Network timeout" \ 4114 IF_FEATURE_POPMAILDIR_DELIVERY( \ 4115 "\n -F \"PROG ARGS\" Filter program (may be repeated)" \ 4116 "\n -M \"PROG ARGS\" Delivery program" \ 4117 ) \ 4118 "\n" \ 4119 "\nFetch from plain POP3 server:" \ 4120 "\npopmaildir -k DIR nc pop3.server.com 110 <user_and_pass.txt" \ 4121 "\nFetch from SSLed POP3 server and delete fetched emails:" \ 4122 "\npopmaildir DIR -- openssl s_client -quiet -connect pop3.server.com:995 <user_and_pass.txt" 4123 /* "\n -R BYTES Remove old messages on the server >= BYTES. Ignored" */ 4124 /* "\n -Z N1-N2 Remove messages from N1 to N2 (dangerous). Ignored" */ 4125 /* "\n -L BYTES Don't retrieve new messages >= BYTES. Ignored" */ 4126 /* "\n -H LINES Type first LINES of a message. Ignored" */ 4127 #define popmaildir_example_usage \ 4128 "$ popmaildir -k ~/Maildir -- nc pop.drvv.ru 110 [<password_file]\n" \ 4129 "$ popmaildir ~/Maildir -- openssl s_client -quiet -connect pop.gmail.com:995 [<password_file]\n" 4130 4131 #define printenv_trivial_usage \ 4132 "[VARIABLE]..." 4133 #define printenv_full_usage "\n\n" \ 4134 "Print environment VARIABLEs.\n" \ 4135 "If no VARIABLE specified, print all." 4136 4137 #define printf_trivial_usage \ 4138 "FORMAT [ARGUMENT]..." 4139 #define printf_full_usage "\n\n" \ 4140 "Format and print ARGUMENT(s) according to FORMAT,\n" \ 4141 "where FORMAT controls the output exactly as in C printf" 4142 #define printf_example_usage \ 4143 "$ printf \"Val=%d\\n\" 5\n" \ 4144 "Val=5\n" 4145 4146 4147 #if ENABLE_DESKTOP 4148 4149 #define ps_trivial_usage \ 4150 "[-o COL1,COL2=HEADER]" IF_FEATURE_SHOW_THREADS(" [-T]") 4151 #define ps_full_usage "\n\n" \ 4152 "Show list of processes\n" \ 4153 "\nOptions:" \ 4154 "\n -o COL1,COL2=HEADER Select columns for display" \ 4155 IF_FEATURE_SHOW_THREADS( \ 4156 "\n -T Show threads" \ 4157 ) 4158 4159 #else /* !ENABLE_DESKTOP */ 4160 4161 #if !ENABLE_SELINUX && !ENABLE_FEATURE_PS_WIDE 4162 #define USAGE_PS "\nThis version of ps accepts no options" 4163 #else 4164 #define USAGE_PS "\nOptions:" 4165 #endif 4166 4167 #define ps_trivial_usage \ 4168 "" 4169 #define ps_full_usage "\n\n" \ 4170 "Show list of processes\n" \ 4171 USAGE_PS \ 4172 IF_SELINUX( \ 4173 "\n -Z Show selinux context" \ 4174 ) \ 4175 IF_FEATURE_PS_WIDE( \ 4176 "\n w Wide output" \ 4177 ) 4178 4179 #endif /* ENABLE_DESKTOP */ 4180 4181 #define ps_example_usage \ 4182 "$ ps\n" \ 4183 " PID Uid Gid State Command\n" \ 4184 " 1 root root S init\n" \ 4185 " 2 root root S [kflushd]\n" \ 4186 " 3 root root S [kupdate]\n" \ 4187 " 4 root root S [kpiod]\n" \ 4188 " 5 root root S [kswapd]\n" \ 4189 " 742 andersen andersen S [bash]\n" \ 4190 " 743 andersen andersen S -bash\n" \ 4191 " 745 root root S [getty]\n" \ 4192 " 2990 andersen andersen R ps\n" \ 4193 4194 #define pscan_trivial_usage \ 4195 "[-cb] [-p MIN_PORT] [-P MAX_PORT] [-t TIMEOUT] [-T MIN_RTT] HOST" 4196 #define pscan_full_usage "\n\n" \ 4197 "Scan a host, print all open ports\n" \ 4198 "\nOptions:" \ 4199 "\n -c Show closed ports too" \ 4200 "\n -b Show blocked ports too" \ 4201 "\n -p Scan from this port (default 1)" \ 4202 "\n -P Scan up to this port (default 1024)" \ 4203 "\n -t Timeout (default 5000 ms)" \ 4204 "\n -T Minimum rtt (default 5 ms, increase for congested hosts)" \ 4205 4206 #define pwd_trivial_usage \ 4207 "" 4208 #define pwd_full_usage "\n\n" \ 4209 "Print the full filename of the current working directory" 4210 #define pwd_example_usage \ 4211 "$ pwd\n" \ 4212 "/root\n" 4213 4214 #define raidautorun_trivial_usage \ 4215 "DEVICE" 4216 #define raidautorun_full_usage "\n\n" \ 4217 "Tell the kernel to automatically search and start RAID arrays" 4218 #define raidautorun_example_usage \ 4219 "$ raidautorun /dev/md0" 5565 "the new root file system" \ 4220 5566 4221 5567 #define rdate_trivial_usage \ 4222 "[-sp] HOST" 5568 "[-sp] HOST" \ 5569 4223 5570 #define rdate_full_usage "\n\n" \ 4224 "Get and possibly set the system date and time from a remote HOST\n" \ 4225 "\nOptions:" \ 4226 "\n -s Set the system date and time (default)" \ 4227 "\n -p Print the date and time" \ 5571 "Get and possibly set the system date/time from a remote HOST\n" \ 5572 "\n -s Set the system date/time (default)" \ 5573 "\n -p Print the date/time" \ 4228 5574 4229 5575 #define rdev_trivial_usage \ 4230 "" 5576 "" \ 5577 4231 5578 #define rdev_full_usage "\n\n" \ 4232 "Print the device node associated with the filesystem mounted at '/'" 5579 "Print the device node associated with the filesystem mounted at '/'" \ 5580 4233 5581 #define rdev_example_usage \ 4234 5582 "$ rdev\n" \ 4235 "/dev/mtdblock9 /\n" 4236 4237 #define readahead_trivial_usage \ 4238 "[FILE]..." 4239 #define readahead_full_usage "\n\n" \ 4240 "Preload FILEs to RAM" 4241 4242 #define readlink_trivial_usage \ 4243 IF_FEATURE_READLINK_FOLLOW("[-fnv] ") "FILE" 4244 #define readlink_full_usage "\n\n" \ 4245 "Display the value of a symlink" \ 4246 IF_FEATURE_READLINK_FOLLOW( "\n" \ 4247 "\nOptions:" \ 4248 "\n -f Canonicalize by following all symlinks" \ 4249 "\n -n Don't add newline" \ 4250 "\n -v Verbose" \ 4251 ) \ 5583 "/dev/mtdblock9 /\n" \ 4252 5584 4253 5585 #define readprofile_trivial_usage \ 4254 "[OPTIONS]" 5586 "[OPTIONS]" \ 5587 4255 5588 #define readprofile_full_usage "\n\n" \ 4256 "Options:" \ 4257 "\n -m mapfile (Default: /boot/System.map)" \ 5589 " -m mapfile (Default: /boot/System.map)" \ 4258 5590 "\n -p profile (Default: /proc/profile)" \ 4259 5591 "\n -M NUM Set the profiling multiplier to NUM" \ … … 4266 5598 "\n -n Disable byte order auto-detection" \ 4267 5599 4268 #define realpath_trivial_usage \ 4269 "FILE..." 4270 #define realpath_full_usage "\n\n" \ 4271 "Return the absolute pathnames of given FILE" 4272 4273 #define reformime_trivial_usage \ 4274 "[OPTIONS] [FILE]..." 4275 #define reformime_full_usage "\n\n" \ 4276 "Parse MIME-encoded message\n" \ 4277 "\nOptions:" \ 4278 "\n -x PREFIX Extract content of MIME sections to files" \ 4279 "\n -X PROG ARGS Filter content of MIME sections through PROG" \ 4280 "\n Must be the last option" \ 4281 "\n" \ 4282 "\nOther options are silently ignored" \ 4283 4284 #define scriptreplay_trivial_usage \ 4285 "timingfile [typescript [divisor]]" 4286 #define scriptreplay_full_usage "\n\n" \ 4287 "Play back typescripts, using timing information" 4288 4289 #define reset_trivial_usage \ 4290 "" 4291 #define reset_full_usage "\n\n" \ 4292 "Reset the screen" 4293 4294 #define resize_trivial_usage \ 4295 "" 4296 #define resize_full_usage "\n\n" \ 4297 "Resize the screen" 4298 4299 #define restorecon_trivial_usage \ 4300 "[-iFnRv] [-e EXCLUDEDIR]... [-o FILE] [-f FILE]" 4301 #define restorecon_full_usage "\n\n" \ 4302 "Reset security contexts of files in pathname\n" \ 4303 "\n -i Ignore files that don't exist" \ 4304 "\n -f FILE File with list of files to process" \ 4305 "\n -e DIR Directory to exclude" \ 4306 "\n -R,-r Recurse" \ 4307 "\n -n Don't change any file labels" \ 4308 "\n -o FILE Save list of files with incorrect context" \ 4309 "\n -v Verbose" \ 4310 "\n -vv Show changed labels" \ 4311 "\n -F Force reset of context to match file_context" \ 4312 "\n for customizable files, or the user section," \ 4313 "\n if it has changed" \ 4314 4315 #define rfkill_trivial_usage \ 4316 "COMMAND [INDEX|TYPE]" 4317 #define rfkill_full_usage "\n\n" \ 4318 "Enable/disable wireless devices\n" \ 4319 "\nCommands:" \ 4320 "\n list [INDEX|TYPE] List current state" \ 4321 "\n block INDEX|TYPE Disable device" \ 4322 "\n unblock INDEX|TYPE Enable device" \ 4323 "\n" \ 4324 "\n TYPE: all, wlan(wifi), bluetooth, uwb(ultrawideband)," \ 4325 "\n wimax, wwan, gps, fm" \ 4326 4327 #define rm_trivial_usage \ 4328 "[-irf] FILE..." 4329 #define rm_full_usage "\n\n" \ 4330 "Remove (unlink) FILEs\n" \ 4331 "\nOptions:" \ 4332 "\n -i Always prompt before removing" \ 4333 "\n -f Never prompt" \ 4334 "\n -R,-r Recurse" \ 4335 4336 #define rm_example_usage \ 4337 "$ rm -rf /tmp/foo\n" 4338 4339 #define rmdir_trivial_usage \ 4340 "[OPTIONS] DIRECTORY..." 4341 #define rmdir_full_usage "\n\n" \ 4342 "Remove DIRECTORY if it is empty\n" \ 4343 "\nOptions:" \ 4344 IF_FEATURE_RMDIR_LONG_OPTIONS( \ 4345 "\n -p|--parents Include parents" \ 4346 "\n --ignore-fail-on-non-empty" \ 4347 ) \ 4348 IF_NOT_FEATURE_RMDIR_LONG_OPTIONS( \ 4349 "\n -p Include parents" \ 4350 ) 4351 4352 #define rmdir_example_usage \ 4353 "# rmdir /tmp/foo\n" 4354 4355 #define route_trivial_usage \ 4356 "[{add|del|delete}]" 4357 #define route_full_usage "\n\n" \ 4358 "Edit kernel routing tables\n" \ 4359 "\nOptions:" \ 4360 "\n -n Don't resolve names" \ 4361 "\n -e Display other/more information" \ 4362 "\n -A inet" IF_FEATURE_IPV6("{6}") " Select address family" \ 4363 4364 #define rpm_trivial_usage \ 4365 "-i PACKAGE.rpm; rpm -qp[ildc] PACKAGE.rpm" 4366 #define rpm_full_usage "\n\n" \ 4367 "Manipulate RPM packages\n" \ 4368 "\nCommands:" \ 4369 "\n -i Install package" \ 4370 "\n -qp Query package" \ 4371 "\nOptions:" \ 4372 "\n -i Show information" \ 4373 "\n -l List contents" \ 4374 "\n -d List documents" \ 4375 "\n -c List config files" \ 4376 4377 #define rpm2cpio_trivial_usage \ 4378 "package.rpm" 4379 #define rpm2cpio_full_usage "\n\n" \ 4380 "Output a cpio archive of the rpm file" 5600 #define rev_trivial_usage \ 5601 "[FILE]..." \ 5602 5603 #define rev_full_usage "\n\n" \ 5604 "Reverse lines of FILE" \ 4381 5605 4382 5606 #define rtcwake_trivial_usage \ 4383 "[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]" 5607 "[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]" \ 5608 4384 5609 #define rtcwake_full_usage "\n\n" \ 4385 5610 "Enter a system sleep state until specified wakeup time\n" \ … … 4401 5626 "\n -s SEC Set the timeout in SEC seconds from now" \ 4402 5627 "\n -t TIME Set the timeout to TIME seconds from epoch" \ 4403 ) 4404 4405 #define runcon_trivial_usage \ 4406 "[-c] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] PROG ARGS\n" \ 4407 "runcon CONTEXT PROG ARGS" 4408 #define runcon_full_usage "\n\n" \ 4409 "Run PROG in a different security context\n" \ 4410 "\n CONTEXT Complete security context\n" \ 4411 IF_FEATURE_RUNCON_LONG_OPTIONS( \ 4412 "\n -c,--compute Compute process transition context before modifying" \ 4413 "\n -t,--type=TYPE Type (for same role as parent)" \ 4414 "\n -u,--user=USER User identity" \ 4415 "\n -r,--role=ROLE Role" \ 4416 "\n -l,--range=RNG Levelrange" \ 4417 ) \ 4418 IF_NOT_FEATURE_RUNCON_LONG_OPTIONS( \ 4419 "\n -c Compute process transition context before modifying" \ 4420 "\n -t TYPE Type (for same role as parent)" \ 4421 "\n -u USER User identity" \ 4422 "\n -r ROLE Role" \ 4423 "\n -l RNG Levelrange" \ 4424 ) 4425 4426 #define run_parts_trivial_usage \ 4427 "[-t] "IF_FEATURE_RUN_PARTS_FANCY("[-l] ")"[-a ARG] [-u MASK] DIRECTORY" 4428 #define run_parts_full_usage "\n\n" \ 4429 "Run a bunch of scripts in DIRECTORY\n" \ 4430 "\nOptions:" \ 4431 "\n -t Print what would be run, but don't actually run anything" \ 4432 "\n -a ARG Pass ARG as argument for every program" \ 4433 "\n -u MASK Set the umask to MASK before running every program" \ 4434 IF_FEATURE_RUN_PARTS_FANCY( \ 4435 "\n -l Print names of all matching files even if they are not executable" \ 4436 ) 4437 4438 #define run_parts_example_usage \ 4439 "$ run-parts -a start /etc/init.d\n" \ 4440 "$ run-parts -a stop=now /etc/init.d\n\n" \ 4441 "Let's assume you have a script foo/dosomething:\n" \ 4442 "#!/bin/sh\n" \ 4443 "for i in $*; do eval $i; done; unset i\n" \ 4444 "case \"$1\" in\n" \ 4445 "start*) echo starting something;;\n" \ 4446 "stop*) set -x; shutdown -h $stop;;\n" \ 4447 "esac\n\n" \ 4448 "Running this yields:\n" \ 4449 "$run-parts -a stop=+4m foo/\n" \ 4450 "+ shutdown -h +4m" 4451 4452 #define runlevel_trivial_usage \ 4453 "[FILE]" 4454 #define runlevel_full_usage "\n\n" \ 4455 "Find the current and previous system runlevel\n" \ 4456 "\n" \ 4457 "If no utmp FILE exists or if no runlevel record can be found,\n" \ 4458 "print \"unknown\"" 4459 #define runlevel_example_usage \ 4460 "$ runlevel /var/run/utmp\n" \ 4461 "N 2" 4462 4463 #define runsv_trivial_usage \ 4464 "DIR" 4465 #define runsv_full_usage "\n\n" \ 4466 "Start and monitor a service and optionally an appendant log service" 4467 4468 #define runsvdir_trivial_usage \ 4469 "[-P] [-s SCRIPT] DIR" 4470 #define runsvdir_full_usage "\n\n" \ 4471 "Start a runsv process for each subdirectory. If it exits, restart it.\n" \ 4472 "\n -P Put each runsv in a new session" \ 4473 "\n -s SCRIPT Run SCRIPT <signo> after signal is processed" \ 4474 4475 #define rx_trivial_usage \ 4476 "FILE" 4477 #define rx_full_usage "\n\n" \ 4478 "Receive a file using the xmodem protocol" 4479 #define rx_example_usage \ 4480 "$ rx /tmp/foo\n" 5628 ) \ 4481 5629 4482 5630 #define script_trivial_usage \ 4483 "[-afq" IF_SCRIPTREPLAY("t") "] [-c PROG] [OUTFILE]" 5631 "[-afq" IF_SCRIPTREPLAY("t") "] [-c PROG] [OUTFILE]" \ 5632 4484 5633 #define script_full_usage "\n\n" \ 4485 "Options:" \ 4486 "\n -a Append output" \ 5634 " -a Append output" \ 4487 5635 "\n -c PROG Run PROG, not shell" \ 4488 5636 "\n -f Flush output after each write" \ … … 4490 5638 IF_SCRIPTREPLAY( \ 4491 5639 "\n -t Send timing to stderr" \ 4492 ) 4493 4494 #define sed_trivial_usage \ 4495 "[-efinr] SED_CMD [FILE]..." 4496 #define sed_full_usage "\n\n" \ 4497 "Options:" \ 4498 "\n -e CMD Add CMD to sed commands to be executed" \ 4499 "\n -f FILE Add FILE contents to sed commands to be executed" \ 4500 "\n -i Edit files in-place (else sends result to stdout)" \ 4501 "\n -n Suppress automatic printing of pattern space" \ 4502 "\n -r Use extended regex syntax" \ 4503 "\n" \ 4504 "\nIf no -e or -f, the first non-option argument is the sed command string." \ 4505 "\nRemaining arguments are input files (stdin if none)." 4506 4507 #define sed_example_usage \ 4508 "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ 4509 "bar\n" 4510 4511 #define selinuxenabled_trivial_usage NOUSAGE_STR 4512 #define selinuxenabled_full_usage "" 4513 4514 #define sendmail_trivial_usage \ 4515 "[OPTIONS] [RECIPIENT_EMAIL]..." 4516 #define sendmail_full_usage "\n\n" \ 4517 "Read email from stdin and send it\n" \ 4518 "\nStandard options:" \ 4519 "\n -t Read additional recipients from message body" \ 4520 "\n -f sender Sender (required)" \ 4521 "\n -o options Various options. -oi implied, others are ignored" \ 4522 "\n -i -oi synonym. implied and ignored" \ 4523 "\n" \ 4524 "\nBusybox specific options:" \ 4525 "\n -w seconds Network timeout" \ 4526 "\n -H 'PROG ARGS' Run connection helper" \ 4527 "\n Examples:" \ 4528 "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \ 4529 "\n -connect smtp.gmail.com:25' <email.txt" \ 4530 "\n [4<username_and_passwd.txt | -au<username> -ap<password>]" \ 4531 "\n -H 'exec openssl s_client -quiet -tls1" \ 4532 "\n -connect smtp.gmail.com:465' <email.txt" \ 4533 "\n [4<username_and_passwd.txt | -au<username> -ap<password>]" \ 4534 "\n -S server[:port] Server" \ 4535 "\n -au<username> Username for AUTH LOGIN" \ 4536 "\n -ap<password> Password for AUTH LOGIN" \ 4537 "\n -am<method> Authentication method. Ignored. LOGIN is implied" \ 4538 "\n" \ 4539 "\nOther options are silently ignored; -oi -t is implied" \ 4540 IF_MAKEMIME( \ 4541 "\nUse makemime applet to create message with attachments" \ 4542 ) 4543 4544 #define seq_trivial_usage \ 4545 "[-w] [-s SEP] [FIRST [INC]] LAST" 4546 #define seq_full_usage "\n\n" \ 4547 "Print numbers from FIRST to LAST, in steps of INC.\n" \ 4548 "FIRST, INC default to 1.\n" \ 4549 "\nOptions:" \ 4550 "\n -w Pad to last with leading zeros" \ 4551 "\n -s SEP String separator" \ 4552 4553 #define sestatus_trivial_usage \ 4554 "[-vb]" 4555 #define sestatus_full_usage "\n\n" \ 4556 " -v Verbose" \ 4557 "\n -b Display current state of booleans" \ 4558 4559 #define setconsole_trivial_usage \ 4560 "[-r" IF_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" 4561 #define setconsole_full_usage "\n\n" \ 4562 "Redirect system console output to DEVICE (default: /dev/tty)\n" \ 4563 "\nOptions:" \ 4564 "\n -r Reset output to /dev/console" \ 4565 4566 #define setenforce_trivial_usage \ 4567 "[Enforcing | Permissive | 1 | 0]" 4568 #define setenforce_full_usage "" 4569 4570 #define setfiles_trivial_usage \ 4571 "[-dnpqsvW] [-e DIR]... [-o FILE] [-r alt_root_path]" \ 4572 IF_FEATURE_SETFILES_CHECK_OPTION( \ 4573 " [-c policyfile] spec_file" \ 4574 ) \ 4575 " pathname" 4576 #define setfiles_full_usage "\n\n" \ 4577 "Reset file contexts under pathname according to spec_file\n" \ 4578 IF_FEATURE_SETFILES_CHECK_OPTION( \ 4579 "\n -c FILE Check the validity of the contexts against the specified binary policy" \ 4580 ) \ 4581 "\n -d Show which specification matched each file" \ 4582 "\n -l Log changes in file labels to syslog" \ 4583 "\n -n Don't change any file labels" \ 4584 "\n -q Suppress warnings" \ 4585 "\n -r DIR Use an alternate root path" \ 4586 "\n -e DIR Exclude DIR" \ 4587 "\n -F Force reset of context to match file_context for customizable files" \ 4588 "\n -o FILE Save list of files with incorrect context" \ 4589 "\n -s Take a list of files from stdin (instead of command line)" \ 4590 "\n -v Show changes in file labels, if type or role are changing" \ 4591 "\n -vv Show changes in file labels, if type, role, or user are changing" \ 4592 "\n -W Display warnings about entries that had no matching files" \ 4593 4594 #define setfont_trivial_usage \ 4595 "FONT [-m MAPFILE] [-C TTY]" 4596 #define setfont_full_usage "\n\n" \ 4597 "Load a console font\n" \ 4598 "\nOptions:" \ 4599 "\n -m MAPFILE Load console screen map" \ 4600 "\n -C TTY Affect TTY instead of /dev/tty" \ 4601 4602 #define setfont_example_usage \ 4603 "$ setfont -m koi8-r /etc/i18n/fontname\n" 4604 4605 #define setkeycodes_trivial_usage \ 4606 "SCANCODE KEYCODE..." 4607 #define setkeycodes_full_usage "\n\n" \ 4608 "Set entries into the kernel's scancode-to-keycode map,\n" \ 4609 "allowing unusual keyboards to generate usable keycodes.\n\n" \ 4610 "SCANCODE may be either xx or e0xx (hexadecimal),\n" \ 4611 "and KEYCODE is given in decimal." \ 4612 4613 #define setkeycodes_example_usage \ 4614 "$ setkeycodes e030 127\n" 4615 4616 #define setlogcons_trivial_usage \ 4617 "N" 4618 #define setlogcons_full_usage "\n\n" \ 4619 "Redirect the kernel output to console N (0 for current)" 4620 4621 #define setsebool_trivial_usage \ 4622 "boolean value" 4623 4624 #define setsebool_full_usage "\n\n" \ 4625 "Change boolean setting" 4626 4627 #define setsid_trivial_usage \ 4628 "PROG ARGS" 4629 #define setsid_full_usage "\n\n" \ 4630 "Run PROG in a new session. PROG will have no controlling terminal\n" \ 4631 "and will not be affected by keyboard signals (Ctrl-C etc).\n" \ 4632 "See setsid(2) for details." \ 4633 4634 #define last_trivial_usage \ 4635 ""IF_FEATURE_LAST_FANCY("[-HW] [-f FILE]") 4636 #define last_full_usage "\n\n" \ 4637 "Show listing of the last users that logged into the system" \ 4638 IF_FEATURE_LAST_FANCY( "\n" \ 4639 "\nOptions:" \ 4640 /* "\n -H Show header line" */ \ 4641 "\n -W Display with no host column truncation" \ 4642 "\n -f FILE Read from FILE instead of /var/log/wtmp" \ 4643 ) 4644 4645 #define showkey_trivial_usage \ 4646 "[-a | -k | -s]" 4647 #define showkey_full_usage "\n\n" \ 4648 "Show keys pressed\n" \ 4649 "\nOptions:" \ 4650 "\n -a Display decimal/octal/hex values of the keys" \ 4651 "\n -k Display interpreted keycodes (default)" \ 4652 "\n -s Display raw scan-codes" \ 4653 4654 #define slattach_trivial_usage \ 4655 "[-cehmLF] [-s SPEED] [-p PROTOCOL] DEVICE" 4656 #define slattach_full_usage "\n\n" \ 4657 "Attach network interface(s) to serial line(s)\n" \ 4658 "\nOptions:" \ 4659 "\n -p PROT Set protocol (slip, cslip, slip6, clisp6 or adaptive)" \ 4660 "\n -s SPD Set line speed" \ 4661 "\n -e Exit after initializing device" \ 4662 "\n -h Exit when the carrier is lost" \ 4663 "\n -c PROG Run PROG when the line is hung up" \ 4664 "\n -m Do NOT initialize the line in raw 8 bits mode" \ 4665 "\n -L Enable 3-wire operation" \ 4666 "\n -F Disable RTS/CTS flow control" \ 4667 4668 #define sleep_trivial_usage \ 4669 IF_FEATURE_FANCY_SLEEP("[") "N" IF_FEATURE_FANCY_SLEEP("]...") 4670 #define sleep_full_usage "\n\n" \ 4671 IF_NOT_FEATURE_FANCY_SLEEP("Pause for N seconds") \ 4672 IF_FEATURE_FANCY_SLEEP( \ 4673 "Pause for a time equal to the total of the args given, where each arg can\n" \ 4674 "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") 4675 #define sleep_example_usage \ 4676 "$ sleep 2\n" \ 4677 "[2 second delay results]\n" \ 4678 IF_FEATURE_FANCY_SLEEP( \ 4679 "$ sleep 1d 3h 22m 8s\n" \ 4680 "[98528 second delay results]\n") 4681 4682 #define sort_trivial_usage \ 4683 "[-nru" \ 4684 IF_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ 4685 "] [FILE]..." 4686 #define sort_full_usage "\n\n" \ 4687 "Sort lines of text\n" \ 4688 "\nOptions:" \ 4689 IF_FEATURE_SORT_BIG( \ 4690 "\n -b Ignore leading blanks" \ 4691 "\n -c Check whether input is sorted" \ 4692 "\n -d Dictionary order (blank or alphanumeric only)" \ 4693 "\n -f Ignore case" \ 4694 "\n -g General numerical sort" \ 4695 "\n -i Ignore unprintable characters" \ 4696 "\n -k Sort key" \ 4697 "\n -M Sort month" \ 4698 ) \ 4699 "\n -n Sort numbers" \ 4700 IF_FEATURE_SORT_BIG( \ 4701 "\n -o Output to file" \ 4702 "\n -k Sort by key" \ 4703 "\n -t CHAR Key separator" \ 4704 ) \ 4705 "\n -r Reverse sort order" \ 4706 IF_FEATURE_SORT_BIG( \ 4707 "\n -s Stable (don't sort ties alphabetically)" \ 4708 ) \ 4709 "\n -u Suppress duplicate lines" \ 4710 IF_FEATURE_SORT_BIG( \ 4711 "\n -z Lines are terminated by NUL, not newline" \ 4712 "\n -mST Ignored for GNU compatibility") \ 4713 4714 #define sort_example_usage \ 4715 "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ 4716 "a\n" \ 4717 "b\n" \ 4718 "c\n" \ 4719 "d\n" \ 4720 "e\n" \ 4721 "f\n" \ 4722 IF_FEATURE_SORT_BIG( \ 4723 "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ 4724 "d 2\n" \ 4725 "b 2\n" \ 4726 "c 3\n" \ 4727 ) \ 4728 "" 4729 4730 #define split_trivial_usage \ 4731 "[OPTIONS] [INPUT [PREFIX]]" 4732 #define split_full_usage "\n\n" \ 4733 "Options:" \ 4734 "\n -b N[k|m] Split by N (kilo|mega)bytes" \ 4735 "\n -l N Split by N lines" \ 4736 "\n -a N Use N letters as suffix" \ 4737 4738 #define split_example_usage \ 4739 "$ split TODO foo\n" \ 4740 "$ cat TODO | split -a 2 -l 2 TODO_\n" 4741 4742 #define start_stop_daemon_trivial_usage \ 4743 "[OPTIONS] [-S|-K] ... [-- ARGS...]" 4744 #define start_stop_daemon_full_usage "\n\n" \ 4745 "Search for matching processes, and then\n" \ 4746 "-K: stop all matching processes.\n" \ 4747 "-S: start a process unless a matching process is found.\n" \ 4748 IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ 4749 "\nProcess matching:" \ 4750 "\n -u,--user USERNAME|UID Match only this user's processes" \ 4751 "\n -n,--name NAME Match processes with NAME" \ 4752 "\n in comm field in /proc/PID/stat" \ 4753 "\n -x,--exec EXECUTABLE Match processes with this command" \ 4754 "\n in /proc/PID/cmdline" \ 4755 "\n -p,--pidfile FILE Match a process with PID from the file" \ 4756 "\n All specified conditions must match" \ 4757 "\n-S only:" \ 4758 "\n -x,--exec EXECUTABLE Program to run" \ 4759 "\n -a,--startas NAME Zeroth argument" \ 4760 "\n -b,--background Background" \ 4761 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 4762 "\n -N,--nicelevel N Change nice level" \ 4763 ) \ 4764 "\n -c,--chuid USER[:[GRP]] Change to user/group" \ 4765 "\n -m,--make-pidfile Write PID to the pidfile specified by -p" \ 4766 "\n-K only:" \ 4767 "\n -s,--signal SIG Signal to send" \ 4768 "\n -t,--test Match only, exit with 0 if a process is found" \ 4769 "\nOther:" \ 4770 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 4771 "\n -o,--oknodo Exit with status 0 if nothing is done" \ 4772 "\n -v,--verbose Verbose" \ 4773 ) \ 4774 "\n -q,--quiet Quiet" \ 4775 ) \ 4776 IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ 4777 "\nProcess matching:" \ 4778 "\n -u USERNAME|UID Match only this user's processes" \ 4779 "\n -n NAME Match processes with NAME" \ 4780 "\n in comm field in /proc/PID/stat" \ 4781 "\n -x EXECUTABLE Match processes with this command" \ 4782 "\n command in /proc/PID/cmdline" \ 4783 "\n -p FILE Match a process with PID from the file" \ 4784 "\n All specified conditions must match" \ 4785 "\n-S only:" \ 4786 "\n -x EXECUTABLE Program to run" \ 4787 "\n -a NAME Zeroth argument" \ 4788 "\n -b Background" \ 4789 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 4790 "\n -N N Change nice level" \ 4791 ) \ 4792 "\n -c USER[:[GRP]] Change to user/group" \ 4793 "\n -m Write PID to the pidfile specified by -p" \ 4794 "\n-K only:" \ 4795 "\n -s SIG Signal to send" \ 4796 "\n -t Match only, exit with 0 if a process is found" \ 4797 "\nOther:" \ 4798 IF_FEATURE_START_STOP_DAEMON_FANCY( \ 4799 "\n -o Exit with status 0 if nothing is done" \ 4800 "\n -v Verbose" \ 4801 ) \ 4802 "\n -q Quiet" \ 4803 ) \ 4804 4805 #define stat_trivial_usage \ 4806 "[OPTIONS] FILE..." 4807 #define stat_full_usage "\n\n" \ 4808 "Display file (default) or filesystem status\n" \ 4809 "\nOptions:" \ 4810 IF_FEATURE_STAT_FORMAT( \ 4811 "\n -c fmt Use the specified format" \ 4812 ) \ 4813 "\n -f Display filesystem status" \ 4814 "\n -L Follow links" \ 4815 "\n -t Display info in terse form" \ 4816 IF_SELINUX( \ 4817 "\n -Z Print security context" \ 4818 ) \ 4819 IF_FEATURE_STAT_FORMAT( \ 4820 "\n\nValid format sequences for files:\n" \ 4821 " %a Access rights in octal\n" \ 4822 " %A Access rights in human readable form\n" \ 4823 " %b Number of blocks allocated (see %B)\n" \ 4824 " %B The size in bytes of each block reported by %b\n" \ 4825 " %d Device number in decimal\n" \ 4826 " %D Device number in hex\n" \ 4827 " %f Raw mode in hex\n" \ 4828 " %F File type\n" \ 4829 " %g Group ID of owner\n" \ 4830 " %G Group name of owner\n" \ 4831 " %h Number of hard links\n" \ 4832 " %i Inode number\n" \ 4833 " %n File name\n" \ 4834 " %N File name, with -> TARGET if symlink\n" \ 4835 " %o I/O block size\n" \ 4836 " %s Total size, in bytes\n" \ 4837 " %t Major device type in hex\n" \ 4838 " %T Minor device type in hex\n" \ 4839 " %u User ID of owner\n" \ 4840 " %U User name of owner\n" \ 4841 " %x Time of last access\n" \ 4842 " %X Time of last access as seconds since Epoch\n" \ 4843 " %y Time of last modification\n" \ 4844 " %Y Time of last modification as seconds since Epoch\n" \ 4845 " %z Time of last change\n" \ 4846 " %Z Time of last change as seconds since Epoch\n" \ 4847 "\nValid format sequences for file systems:\n" \ 4848 " %a Free blocks available to non-superuser\n" \ 4849 " %b Total data blocks in file system\n" \ 4850 " %c Total file nodes in file system\n" \ 4851 " %d Free file nodes in file system\n" \ 4852 " %f Free blocks in file system\n" \ 4853 IF_SELINUX( \ 4854 " %C Security context in selinux\n" \ 4855 ) \ 4856 " %i File System ID in hex\n" \ 4857 " %l Maximum length of filenames\n" \ 4858 " %n File name\n" \ 4859 " %s Block size (for faster transfer)\n" \ 4860 " %S Fundamental block size (for block counts)\n" \ 4861 " %t Type in hex\n" \ 4862 " %T Type in human readable form" \ 4863 ) \ 4864 4865 #define strings_trivial_usage \ 4866 "[-afo] [-n LEN] [FILE]..." 4867 #define strings_full_usage "\n\n" \ 4868 "Display printable strings in a binary file\n" \ 4869 "\nOptions:" \ 4870 "\n -a Scan whole file (default)" \ 4871 "\n -f Precede strings with filenames" \ 4872 "\n -n LEN At least LEN characters form a string (default 4)" \ 4873 "\n -o Precede strings with decimal offsets" \ 4874 4875 #define stty_trivial_usage \ 4876 "[-a|g] [-F DEVICE] [SETTING]..." 4877 #define stty_full_usage "\n\n" \ 4878 "Without arguments, prints baud rate, line discipline,\n" \ 4879 "and deviations from stty sane\n" \ 4880 "\nOptions:" \ 4881 "\n -F DEVICE Open device instead of stdin" \ 4882 "\n -a Print all current settings in human-readable form" \ 4883 "\n -g Print in stty-readable form" \ 4884 "\n [SETTING] See manpage" \ 4885 4886 #define su_trivial_usage \ 4887 "[OPTIONS] [-] [USERNAME]" 4888 #define su_full_usage "\n\n" \ 4889 "Change user id or become root\n" \ 4890 "\nOptions:" \ 4891 "\n -p,-m Preserve environment" \ 4892 "\n -c CMD Command to pass to 'sh -c'" \ 4893 "\n -s SH Shell to use instead of default shell" \ 4894 4895 #define sulogin_trivial_usage \ 4896 "[-t N] [TTY]" 4897 #define sulogin_full_usage "\n\n" \ 4898 "Single user login\n" \ 4899 "\nOptions:" \ 4900 "\n -t N Timeout" \ 4901 4902 #define sum_trivial_usage \ 4903 "[-rs] [FILE]..." 4904 #define sum_full_usage "\n\n" \ 4905 "Checksum and count the blocks in a file\n" \ 4906 "\nOptions:" \ 4907 "\n -r Use BSD sum algorithm (1K blocks)" \ 4908 "\n -s Use System V sum algorithm (512byte blocks)" \ 4909 4910 #define sv_trivial_usage \ 4911 "[-v] [-w SEC] CMD SERVICE_DIR..." 4912 #define sv_full_usage "\n\n" \ 4913 "Control services monitored by runsv supervisor.\n" \ 4914 "Commands (only first character is enough):\n" \ 4915 "\n" \ 4916 "status: query service status\n" \ 4917 "up: if service isn't running, start it. If service stops, restart it\n" \ 4918 "once: like 'up', but if service stops, don't restart it\n" \ 4919 "down: send TERM and CONT signals. If ./run exits, start ./finish\n" \ 4920 " if it exists. After it stops, don't restart service\n" \ 4921 "exit: send TERM and CONT signals to service and log service. If they exit,\n" \ 4922 " runsv exits too\n" \ 4923 "pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: send\n" \ 4924 "STOP, CONT, HUP, ALRM, INT, QUIT, USR1, USR2, TERM, KILL signal to service" \ 4925 4926 #define svlogd_trivial_usage \ 4927 "[-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..." 4928 #define svlogd_full_usage "\n\n" \ 4929 "Continuously read log data from stdin, optionally\n" \ 4930 "filter log messages, and write the data to one or more automatically\n" \ 4931 "rotated logs" \ 4932 4933 #define swapoff_trivial_usage \ 4934 "[-a] [DEVICE]" 4935 #define swapoff_full_usage "\n\n" \ 4936 "Stop swapping on DEVICE\n" \ 4937 "\nOptions:" \ 4938 "\n -a Stop swapping on all swap devices" \ 5640 ) \ 5641 5642 #define scriptreplay_trivial_usage \ 5643 "timingfile [typescript [divisor]]" \ 5644 5645 #define scriptreplay_full_usage "\n\n" \ 5646 "Play back typescripts, using timing information" \ 5647 5648 #define setarch_trivial_usage \ 5649 "personality PROG ARGS" \ 5650 5651 #define setarch_full_usage "\n\n" \ 5652 "Personality may be:\n" \ 5653 " linux32 Set 32bit uname emulation\n" \ 5654 " linux64 Set 64bit uname emulation" \ 5655 5656 #define linux32_trivial_usage NOUSAGE_STR \ 5657 5658 #define linux32_full_usage "" \ 5659 5660 #define linux64_trivial_usage NOUSAGE_STR \ 5661 5662 #define linux64_full_usage "" \ 4939 5663 4940 5664 #define swapon_trivial_usage \ 4941 "[-a]" IF_FEATURE_SWAPON_PRI(" [-p PRI]") " [DEVICE]" 5665 "[-a]" IF_FEATURE_SWAPON_PRI(" [-p PRI]") " [DEVICE]" \ 5666 4942 5667 #define swapon_full_usage "\n\n" \ 4943 5668 "Start swapping on DEVICE\n" \ 4944 "\nOptions:" \4945 5669 "\n -a Start swapping on all swap devices" \ 4946 5670 IF_FEATURE_SWAPON_PRI( \ … … 4948 5672 ) \ 4949 5673 5674 #define swapoff_trivial_usage \ 5675 "[-a] [DEVICE]" \ 5676 5677 #define swapoff_full_usage "\n\n" \ 5678 "Stop swapping on DEVICE\n" \ 5679 "\n -a Stop swapping on all swap devices" \ 5680 4950 5681 #define switch_root_trivial_usage \ 4951 "[-c /dev/console] NEW_ROOT NEW_INIT [ARGS]" 5682 "[-c /dev/console] NEW_ROOT NEW_INIT [ARGS]" \ 5683 4952 5684 #define switch_root_full_usage "\n\n" \ 4953 5685 "Free initramfs and switch to another root fs:\n" \ 4954 5686 "chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /,\n" \ 4955 5687 "execute NEW_INIT. PID must be 1. NEW_ROOT must be a mountpoint.\n" \ 4956 "\nOptions:" \4957 5688 "\n -c DEV Reopen stdio to DEV after switch" \ 4958 5689 4959 #define sync_trivial_usage \ 4960 "" 4961 #define sync_full_usage "\n\n" \ 4962 "Write all buffered blocks to disk" 4963 4964 #define fsync_trivial_usage \ 4965 "[-d] FILE..." 4966 #define fsync_full_usage "\n\n" \ 4967 "Write files' buffered blocks to disk\n" \ 4968 "\nOptions:" \ 4969 "\n -d Avoid syncing metadata" 4970 4971 #define sysctl_trivial_usage \ 4972 "[OPTIONS] [VALUE]..." 4973 #define sysctl_full_usage "\n\n" \ 4974 "Configure kernel parameters at runtime\n" \ 4975 "\nOptions:" \ 4976 "\n -n Don't print key names" \ 4977 "\n -e Don't warn about unknown keys" \ 4978 "\n -w Change sysctl setting" \ 4979 "\n -p FILE Load sysctl settings from FILE (default /etc/sysctl.conf)" \ 4980 "\n -a Display all values" \ 4981 "\n -A Display all values in table form" \ 4982 4983 #define sysctl_example_usage \ 4984 "sysctl [-n] [-e] variable...\n" \ 4985 "sysctl [-n] [-e] -w variable=value...\n" \ 4986 "sysctl [-n] [-e] -a\n" \ 4987 "sysctl [-n] [-e] -p file (default /etc/sysctl.conf)\n" \ 4988 "sysctl [-n] [-e] -A\n" 4989 4990 #define syslogd_trivial_usage \ 4991 "[OPTIONS]" 4992 #define syslogd_full_usage "\n\n" \ 4993 "System logging utility.\n" \ 4994 "This version of syslogd ignores /etc/syslog.conf\n" \ 4995 "\nOptions:" \ 4996 "\n -n Run in foreground" \ 4997 "\n -O FILE Log to given file (default:/var/log/messages)" \ 4998 "\n -l N Set local log level" \ 4999 "\n -S Smaller logging output" \ 5000 IF_FEATURE_ROTATE_LOGFILE( \ 5001 "\n -s SIZE Max size (KB) before rotate (default:200KB, 0=off)" \ 5002 "\n -b N N rotated logs to keep (default:1, max=99, 0=purge)") \ 5003 IF_FEATURE_REMOTE_LOG( \ 5004 "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ 5005 "\n -L Log locally and via network (default is network only if -R)") \ 5006 IF_FEATURE_SYSLOGD_DUP( \ 5007 "\n -D Drop duplicates") \ 5008 IF_FEATURE_IPC_SYSLOG( \ 5009 "\n -C[size(KiB)] Log to shared mem buffer (read it using logread)") \ 5010 /* NB: -Csize shouldn't have space (because size is optional) */ 5011 /* "\n -m MIN Minutes between MARK lines (default:20, 0=off)" */ 5012 5013 #define syslogd_example_usage \ 5014 "$ syslogd -R masterlog:514\n" \ 5015 "$ syslogd -R 192.168.1.1:601\n" 5016 5017 #define tac_trivial_usage \ 5018 "[FILE]..." 5019 #define tac_full_usage "\n\n" \ 5020 "Concatenate FILEs and print them in reverse" 5021 5022 #define taskset_trivial_usage \ 5023 "[-p] [MASK] [PID | PROG ARGS]" 5024 #define taskset_full_usage "\n\n" \ 5025 "Set or get CPU affinity\n" \ 5026 "\nOptions:" \ 5027 "\n -p Operate on an existing PID" \ 5028 5029 #define taskset_example_usage \ 5030 "$ taskset 0x7 ./dgemm_test&\n" \ 5031 "$ taskset -p 0x1 $!\n" \ 5032 "pid 4790's current affinity mask: 7\n" \ 5033 "pid 4790's new affinity mask: 1\n" \ 5034 "$ taskset 0x7 /bin/sh -c './taskset -p 0x1 $$'\n" \ 5035 "pid 6671's current affinity mask: 1\n" \ 5036 "pid 6671's new affinity mask: 1\n" \ 5037 "$ taskset -p 1\n" \ 5038 "pid 1's current affinity mask: 3\n" 5039 5040 #define tee_trivial_usage \ 5041 "[-ai] [FILE]..." 5042 #define tee_full_usage "\n\n" \ 5043 "Copy stdin to each FILE, and also to stdout\n" \ 5044 "\nOptions:" \ 5045 "\n -a Append to the given FILEs, don't overwrite" \ 5046 "\n -i Ignore interrupt signals (SIGINT)" \ 5047 5048 #define tee_example_usage \ 5049 "$ echo \"Hello\" | tee /tmp/foo\n" \ 5050 "$ cat /tmp/foo\n" \ 5051 "Hello\n" 5052 5053 #if ENABLE_FEATURE_TELNET_AUTOLOGIN 5054 #define telnet_trivial_usage \ 5055 "[-a] [-l USER] HOST [PORT]" 5056 #define telnet_full_usage "\n\n" \ 5057 "Connect to telnet server\n" \ 5058 "\nOptions:" \ 5059 "\n -a Automatic login with $USER variable" \ 5060 "\n -l USER Automatic login as USER" \ 5061 5062 #else 5063 #define telnet_trivial_usage \ 5064 "HOST [PORT]" 5065 #define telnet_full_usage "\n\n" \ 5066 "Connect to telnet server" 5067 #endif 5068 5069 #define telnetd_trivial_usage \ 5070 "[OPTIONS]" 5071 #define telnetd_full_usage "\n\n" \ 5072 "Handle incoming telnet connections" \ 5073 IF_NOT_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ 5074 "\nOptions:" \ 5075 "\n -l LOGIN Exec LOGIN on connect" \ 5076 "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ 5077 "\n -K Close connection as soon as login exits" \ 5078 "\n (normally wait until all programs close slave pty)" \ 5079 IF_FEATURE_TELNETD_STANDALONE( \ 5080 "\n -p PORT Port to listen on" \ 5081 "\n -b ADDR[:PORT] Address to bind to" \ 5082 "\n -F Run in foreground" \ 5083 "\n -i Inetd mode" \ 5084 IF_FEATURE_TELNETD_INETD_WAIT( \ 5085 "\n -w SEC Inetd 'wait' mode, linger time SEC" \ 5086 "\n -S Log to syslog (implied by -i or without -F and -w)" \ 5087 ) \ 5088 ) 5089 5090 /* "test --help" does not print help (POSIX compat), only "[ --help" does. 5091 * We display "<applet> EXPRESSION ]" here (not "<applet> EXPRESSION") 5092 * Unfortunately, it screws up generated BusyBox.html. TODO. */ 5093 #define test_trivial_usage \ 5094 "EXPRESSION ]" 5095 #define test_full_usage "\n\n" \ 5096 "Check file types, compare values etc. Return a 0/1 exit code\n" \ 5097 "depending on logical value of EXPRESSION" 5098 #define test_example_usage \ 5099 "$ test 1 -eq 2\n" \ 5100 "$ echo $?\n" \ 5101 "1\n" \ 5102 "$ test 1 -eq 1\n" \ 5103 "$ echo $?\n" \ 5104 "0\n" \ 5105 "$ [ -d /etc ]\n" \ 5106 "$ echo $?\n" \ 5107 "0\n" \ 5108 "$ [ -d /junk ]\n" \ 5109 "$ echo $?\n" \ 5110 "1\n" 5111 5112 #define tc_trivial_usage \ 5113 /*"[OPTIONS] "*/"OBJECT CMD [dev STRING]" 5114 #define tc_full_usage "\n\n" \ 5115 "OBJECT: {qdisc|class|filter}\n" \ 5116 "CMD: {add|del|change|replace|show}\n" \ 5117 "\n" \ 5118 "qdisc [ handle QHANDLE ] [ root |"IF_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ 5119 /* "[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ 5120 " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ 5121 " QDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ 5122 "qdisc show [ dev STRING ]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" \ 5123 "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ 5124 " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ 5125 "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ 5126 "filter [ pref PRIO ] [ protocol PROTO ]\n" \ 5127 /* "\t[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ 5128 " [ root | classid CLASSID ] [ handle FILTERID ]\n" \ 5129 " [ [ FILTER_TYPE ] [ help | OPTIONS ] ]\n" \ 5130 "filter show [ dev STRING ] [ root | parent CLASSID ]" 5131 5132 #define tcpsvd_trivial_usage \ 5133 "[-hEv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] IP PORT PROG" 5134 /* with not-implemented options: */ 5135 /* "[-hpEvv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] [-i DIR|-x CDB] [-t SEC] IP PORT PROG" */ 5136 #define tcpsvd_full_usage "\n\n" \ 5137 "Create TCP socket, bind to IP:PORT and listen\n" \ 5138 "for incoming connection. Run PROG for each connection.\n" \ 5139 "\n IP IP to listen on. '0' = all" \ 5140 "\n PORT Port to listen on" \ 5141 "\n PROG ARGS Program to run" \ 5142 "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ 5143 "\n -u USER[:GRP] Change to user/group after bind" \ 5144 "\n -c N Handle up to N connections simultaneously" \ 5145 "\n -b N Allow a backlog of approximately N TCP SYNs" \ 5146 "\n -C N[:MSG] Allow only up to N connections from the same IP." \ 5147 "\n New connections from this IP address are closed" \ 5148 "\n immediately. MSG is written to the peer before close" \ 5149 "\n -h Look up peer's hostname" \ 5150 "\n -E Don't set up environment variables" \ 5690 #define umount_trivial_usage \ 5691 "[OPTIONS] FILESYSTEM|DIRECTORY" \ 5692 5693 #define umount_full_usage "\n\n" \ 5694 "Unmount file systems\n" \ 5695 IF_FEATURE_UMOUNT_ALL( \ 5696 "\n -a Unmount all file systems" IF_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ 5697 ) \ 5698 IF_FEATURE_MTAB_SUPPORT( \ 5699 "\n -n Don't erase /etc/mtab entries" \ 5700 ) \ 5701 "\n -r Try to remount devices as read-only if mount is busy" \ 5702 "\n -l Lazy umount (detach filesystem)" \ 5703 "\n -f Force umount (i.e., unreachable NFS server)" \ 5704 IF_FEATURE_MOUNT_LOOP( \ 5705 "\n -D Don't free loop device even if it has been used" \ 5706 ) \ 5707 5708 #define umount_example_usage \ 5709 "$ umount /dev/hdc1\n" \ 5710 5711 #define e2fsck_trivial_usage \ 5712 "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \ 5713 "[-I inode_buffer_blocks] [-P process_inode_size] " \ 5714 "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \ 5715 "[-E extended-options] device" \ 5716 5717 #define e2fsck_full_usage "\n\n" \ 5718 "Check ext2/ext3 file system\n" \ 5719 "\n -p Automatic repair (no questions)" \ 5720 "\n -n Make no changes to the filesystem" \ 5721 "\n -y Assume 'yes' to all questions" \ 5722 "\n -c Check for bad blocks and add them to the badblock list" \ 5723 "\n -f Force checking even if filesystem is marked clean" \ 5151 5724 "\n -v Verbose" \ 5152 5153 #define udpsvd_trivial_usage \ 5154 "[-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROG" 5155 #define udpsvd_full_usage "\n\n" \ 5156 "Create UDP socket, bind to IP:PORT and wait\n" \ 5157 "for incoming packets. Run PROG for each packet,\n" \ 5158 "redirecting all further packets with same peer ip:port to it.\n" \ 5159 "\n IP IP to listen on. '0' = all" \ 5160 "\n PORT Port to listen on" \ 5161 "\n PROG ARGS Program to run" \ 5162 "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ 5163 "\n -u USER[:GRP] Change to user/group after bind" \ 5164 "\n -c N Handle up to N connections simultaneously" \ 5165 "\n -h Look up peer's hostname" \ 5166 "\n -E Don't set up environment variables" \ 5725 "\n -b superblock Use alternative superblock" \ 5726 "\n -B blocksize Force blocksize when looking for superblock" \ 5727 "\n -j journal Set location of the external journal" \ 5728 "\n -l file Add to badblocks list" \ 5729 "\n -L file Set badblocks list" \ 5730 5731 #if defined CONFIG_UDHCP_DEBUG && CONFIG_UDHCP_DEBUG >= 1 \ 5732 5733 # define IF_UDHCP_VERBOSE(...) __VA_ARGS__ \ 5734 5735 #else \ 5736 5737 # define IF_UDHCP_VERBOSE(...) \ 5738 5739 #endif \ 5740 5741 #define udhcpc_trivial_usage \ 5742 "[-fbnq"IF_UDHCP_VERBOSE("v")"oCRB] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n" \ 5743 " [-V VENDOR] [-x OPT:VAL]... [-O OPT]..." IF_FEATURE_UDHCP_PORT(" [-P N]") \ 5744 5745 #define udhcpc_full_usage "\n" \ 5746 IF_LONG_OPTS( \ 5747 "\n -i,--interface IFACE Interface to use (default eth0)" \ 5748 "\n -p,--pidfile FILE Create pidfile" \ 5749 "\n -s,--script PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ 5750 "\n -B,--broadcast Request broadcast replies" \ 5751 "\n -t,--retries N Send up to N discover packets" \ 5752 "\n -T,--timeout N Pause between packets (default 3 seconds)" \ 5753 "\n -A,--tryagain N Wait N seconds after failure (default 20)" \ 5754 "\n -f,--foreground Run in foreground" \ 5755 USE_FOR_MMU( \ 5756 "\n -b,--background Background if lease is not obtained" \ 5757 ) \ 5758 "\n -n,--now Exit if lease is not obtained" \ 5759 "\n -q,--quit Exit after obtaining lease" \ 5760 "\n -R,--release Release IP on exit" \ 5761 "\n -S,--syslog Log to syslog too" \ 5762 IF_FEATURE_UDHCP_PORT( \ 5763 "\n -P,--client-port N Use port N (default 68)" \ 5764 ) \ 5765 IF_FEATURE_UDHCPC_ARPING( \ 5766 "\n -a,--arping Use arping to validate offered address" \ 5767 ) \ 5768 "\n -O,--request-option OPT Request option OPT from server (cumulative)" \ 5769 "\n -o,--no-default-options Don't request any options (unless -O is given)" \ 5770 "\n -r,--request IP Request this IP address" \ 5771 "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \ 5772 "\n Examples of string, numeric, and hex byte opts:" \ 5773 "\n -x hostname:bbox - option 12" \ 5774 "\n -x lease:3600 - option 51 (lease time)" \ 5775 "\n -x 0x3d:0100BEEFC0FFEE - option 61 (client id)" \ 5776 "\n -F,--fqdn NAME Ask server to update DNS mapping for NAME" \ 5777 "\n -V,--vendorclass VENDOR Vendor identifier (default 'udhcp VERSION')" \ 5778 "\n -C,--clientid-none Don't send MAC as client identifier" \ 5779 IF_UDHCP_VERBOSE( \ 5780 "\n -v Verbose" \ 5781 ) \ 5782 ) \ 5783 IF_NOT_LONG_OPTS( \ 5784 "\n -i IFACE Interface to use (default eth0)" \ 5785 "\n -p FILE Create pidfile" \ 5786 "\n -s PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ 5787 "\n -B Request broadcast replies" \ 5788 "\n -t N Send up to N discover packets" \ 5789 "\n -T N Pause between packets (default 3 seconds)" \ 5790 "\n -A N Wait N seconds (default 20) after failure" \ 5791 "\n -f Run in foreground" \ 5792 USE_FOR_MMU( \ 5793 "\n -b Background if lease is not obtained" \ 5794 ) \ 5795 "\n -n Exit if lease is not obtained" \ 5796 "\n -q Exit after obtaining lease" \ 5797 "\n -R Release IP on exit" \ 5798 "\n -S Log to syslog too" \ 5799 IF_FEATURE_UDHCP_PORT( \ 5800 "\n -P N Use port N (default 68)" \ 5801 ) \ 5802 IF_FEATURE_UDHCPC_ARPING( \ 5803 "\n -a Use arping to validate offered address" \ 5804 ) \ 5805 "\n -O OPT Request option OPT from server (cumulative)" \ 5806 "\n -o Don't request any options (unless -O is given)" \ 5807 "\n -r IP Request this IP address" \ 5808 "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \ 5809 "\n Examples of string, numeric, and hex byte opts:" \ 5810 "\n -x hostname:bbox - option 12" \ 5811 "\n -x lease:3600 - option 51 (lease time)" \ 5812 "\n -x 0x3d:0100BEEFC0FFEE - option 61 (client id)" \ 5813 "\n -F NAME Ask server to update DNS mapping for NAME" \ 5814 "\n -V VENDOR Vendor identifier (default 'udhcp VERSION')" \ 5815 "\n -C Don't send MAC as client identifier" \ 5816 IF_UDHCP_VERBOSE( \ 5167 5817 "\n -v Verbose" \ 5168 5169 #define tftp_trivial_usage \ 5170 "[OPTIONS] HOST [PORT]" 5171 #define tftp_full_usage "\n\n" \ 5172 "Transfer a file from/to tftp server\n" \ 5173 "\nOptions:" \ 5174 "\n -l FILE Local FILE" \ 5175 "\n -r FILE Remote FILE" \ 5176 IF_FEATURE_TFTP_GET( \ 5177 "\n -g Get file" \ 5178 ) \ 5179 IF_FEATURE_TFTP_PUT( \ 5180 "\n -p Put file" \ 5181 ) \ 5182 IF_FEATURE_TFTP_BLOCKSIZE( \ 5183 "\n -b SIZE Transfer blocks of SIZE octets" \ 5184 ) 5185 5186 #define tftpd_trivial_usage \ 5187 "[-cr] [-u USER] [DIR]" 5188 #define tftpd_full_usage "\n\n" \ 5189 "Transfer a file on tftp client's request\n" \ 5190 "\n" \ 5191 "tftpd should be used as an inetd service.\n" \ 5192 "tftpd's line for inetd.conf:\n" \ 5193 " 69 dgram udp nowait root tftpd tftpd /files/to/serve\n" \ 5194 "It also can be ran from udpsvd:\n" \ 5195 " udpsvd -vE 0.0.0.0 69 tftpd /files/to/serve\n" \ 5196 "\nOptions:" \ 5197 "\n -r Prohibit upload" \ 5198 "\n -c Allow file creation via upload" \ 5199 "\n -u Access files as USER" \ 5200 5201 #define time_trivial_usage \ 5202 "[-v] PROG ARGS" 5203 #define time_full_usage "\n\n" \ 5204 "Run PROG, display resource usage when it exits\n" \ 5205 "\nOptions:" \ 5206 "\n -v Verbose" \ 5207 5208 #define timeout_trivial_usage \ 5209 "[-t SECS] [-s SIG] PROG ARGS" 5210 #define timeout_full_usage "\n\n" \ 5211 "Runs PROG. Sends SIG to it if it is not gone in SECS seconds.\n" \ 5212 "Defaults: SECS: 10, SIG: TERM." \ 5213 5214 #define top_trivial_usage \ 5215 "[-b] [-nCOUNT] [-dSECONDS]" IF_FEATURE_TOPMEM(" [-m]") 5216 #define top_full_usage "\n\n" \ 5217 "Provide a view of process activity in real time.\n" \ 5218 "Read the status of all processes from /proc each SECONDS\n" \ 5219 "and display a screenful of them." \ 5220 //TODO: add options and keyboard commands 5221 5222 #define touch_trivial_usage \ 5223 "[-c] [-d DATE] [-r FILE] FILE [FILE]..." 5224 #define touch_full_usage "\n\n" \ 5225 "Update the last-modified date on the given FILE[s]\n" \ 5226 "\nOptions:" \ 5227 "\n -c Don't create files" \ 5228 "\n -d DT Date/time to use" \ 5229 "\n -r FILE Use FILE's date/time" \ 5230 5231 #define touch_example_usage \ 5232 "$ ls -l /tmp/foo\n" \ 5233 "/bin/ls: /tmp/foo: No such file or directory\n" \ 5234 "$ touch /tmp/foo\n" \ 5235 "$ ls -l /tmp/foo\n" \ 5236 "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n" 5237 5238 #define tr_trivial_usage \ 5239 "[-cds] STRING1 [STRING2]" 5240 #define tr_full_usage "\n\n" \ 5241 "Translate, squeeze, or delete characters from stdin, writing to stdout\n" \ 5242 "\nOptions:" \ 5243 "\n -c Take complement of STRING1" \ 5244 "\n -d Delete input characters coded STRING1" \ 5245 "\n -s Squeeze multiple output characters of STRING2 into one character" \ 5246 5247 #define tr_example_usage \ 5248 "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \ 5249 "hello world\n" 5250 5251 #define traceroute_trivial_usage \ 5252 "[-"IF_TRACEROUTE6("46")"FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ 5253 " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]\n" \ 5254 " [-z PAUSE_MSEC] HOST [BYTES]" 5255 #define traceroute_full_usage "\n\n" \ 5256 "Trace the route to HOST\n" \ 5257 "\nOptions:" \ 5258 IF_TRACEROUTE6( \ 5259 "\n -4,-6 Force IP or IPv6 name resolution" \ 5260 ) \ 5261 "\n -F Set the don't fragment bit" \ 5262 "\n -I Use ICMP ECHO instead of UDP datagrams" \ 5263 "\n -l Display the TTL value of the returned packet" \ 5264 "\n -d Set SO_DEBUG options to socket" \ 5265 "\n -n Print numeric addresses" \ 5266 "\n -r Bypass routing tables, send directly to HOST" \ 5267 "\n -v Verbose" \ 5268 "\n -m Max time-to-live (max number of hops)" \ 5269 "\n -p Base UDP port number used in probes" \ 5270 "\n (default 33434)" \ 5271 "\n -q Number of probes per TTL (default 3)" \ 5272 "\n -s IP address to use as the source address" \ 5273 "\n -t Type-of-service in probe packets (default 0)" \ 5274 "\n -w Time in seconds to wait for a response (default 3)" \ 5275 "\n -g Loose source route gateway (8 max)" \ 5276 5277 #define traceroute6_trivial_usage \ 5278 "[-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ 5279 " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE]\n" \ 5280 " HOST [BYTES]" 5281 #define traceroute6_full_usage "\n\n" \ 5282 "Trace the route to HOST\n" \ 5283 "\nOptions:" \ 5284 "\n -d Set SO_DEBUG options to socket" \ 5285 "\n -n Print numeric addresses" \ 5286 "\n -r Bypass routing tables, send directly to HOST" \ 5287 "\n -v Verbose" \ 5288 "\n -m Max time-to-live (max number of hops)" \ 5289 "\n -p Base UDP port number used in probes" \ 5290 "\n (default is 33434)" \ 5291 "\n -q Number of probes per TTL (default 3)" \ 5292 "\n -s IP address to use as the source address" \ 5293 "\n -t Type-of-service in probe packets (default 0)" \ 5294 "\n -w Time in seconds to wait for a response (default 3)" \ 5295 5296 #define true_trivial_usage \ 5297 "" 5298 #define true_full_usage "\n\n" \ 5299 "Return an exit code of TRUE (0)" 5300 #define true_example_usage \ 5301 "$ true\n" \ 5302 "$ echo $?\n" \ 5303 "0\n" 5304 5305 #define tty_trivial_usage \ 5306 "" 5307 #define tty_full_usage "\n\n" \ 5308 "Print file name of stdin's terminal" \ 5309 IF_INCLUDE_SUSv2( "\n" \ 5310 "\nOptions:" \ 5311 "\n -s Print nothing, only return exit status" \ 5312 ) 5313 #define tty_example_usage \ 5314 "$ tty\n" \ 5315 "/dev/tty2\n" 5316 5317 #define ttysize_trivial_usage \ 5318 "[w] [h]" 5319 #define ttysize_full_usage "\n\n" \ 5320 "Print dimension(s) of stdin's terminal, on error return 80x25" 5321 5322 #define tunctl_trivial_usage \ 5323 "[-f device] ([-t name] | -d name)" IF_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") 5324 #define tunctl_full_usage "\n\n" \ 5325 "Create or delete tun interfaces\n" \ 5326 "\nOptions:" \ 5327 "\n -f name tun device (/dev/net/tun)" \ 5328 "\n -t name Create iface 'name'" \ 5329 "\n -d name Delete iface 'name'" \ 5330 IF_FEATURE_TUNCTL_UG( \ 5331 "\n -u owner Set iface owner" \ 5332 "\n -g group Set iface group" \ 5333 "\n -b Brief output" \ 5334 ) 5335 #define tunctl_example_usage \ 5336 "# tunctl\n" \ 5337 "# tunctl -d tun0\n" 5818 ) \ 5819 ) \ 5820 "\nSignals:" \ 5821 "\n USR1 Renew lease" \ 5822 "\n USR2 Release lease" \ 5338 5823 5339 5824 #define udhcpd_trivial_usage \ … … 5346 5831 IF_FEATURE_UDHCP_PORT( \ 5347 5832 "\n -P N Use port N (default 67)" \ 5348 ) 5349 5350 #define umount_trivial_usage \ 5351 "[OPTIONS] FILESYSTEM|DIRECTORY" 5352 #define umount_full_usage "\n\n" \ 5353 "Unmount file systems\n" \ 5354 "\nOptions:" \ 5355 IF_FEATURE_UMOUNT_ALL( \ 5356 "\n -a Unmount all file systems" IF_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ 5357 ) \ 5358 IF_FEATURE_MTAB_SUPPORT( \ 5359 "\n -n Don't erase /etc/mtab entries" \ 5360 ) \ 5361 "\n -r Try to remount devices as read-only if mount is busy" \ 5362 "\n -l Lazy umount (detach filesystem)" \ 5363 "\n -f Force umount (i.e., unreachable NFS server)" \ 5364 IF_FEATURE_MOUNT_LOOP( \ 5365 "\n -d Free loop device if it has been used" \ 5366 ) 5367 5368 #define umount_example_usage \ 5369 "$ umount /dev/hdc1\n" 5370 5371 #define uname_trivial_usage \ 5372 "[-amnrspv]" 5373 #define uname_full_usage "\n\n" \ 5374 "Print system information\n" \ 5375 "\nOptions:" \ 5376 "\n -a Print all" \ 5377 "\n -m The machine (hardware) type" \ 5378 "\n -n Hostname" \ 5379 "\n -r OS release" \ 5380 "\n -s OS name (default)" \ 5381 "\n -p Processor type" \ 5382 "\n -v OS version" \ 5383 5384 #define uname_example_usage \ 5385 "$ uname -a\n" \ 5386 "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n" 5387 5388 #define uncompress_trivial_usage \ 5389 "[-cf] [FILE]..." 5390 #define uncompress_full_usage "\n\n" \ 5391 "Decompress .Z file[s]\n" \ 5392 "\nOptions:" \ 5393 "\n -c Write to stdout" \ 5394 "\n -f Overwrite" \ 5395 5396 #define unexpand_trivial_usage \ 5397 "[-fa][-t N] [FILE]..." 5398 #define unexpand_full_usage "\n\n" \ 5399 "Convert spaces to tabs, writing to stdout\n" \ 5400 "\nOptions:" \ 5401 IF_FEATURE_UNEXPAND_LONG_OPTIONS( \ 5402 "\n -a,--all Convert all blanks" \ 5403 "\n -f,--first-only Convert only leading blanks" \ 5404 "\n -t,--tabs=N Tabstops every N chars" \ 5405 ) \ 5406 IF_NOT_FEATURE_UNEXPAND_LONG_OPTIONS( \ 5407 "\n -a Convert all blanks" \ 5408 "\n -f Convert only leading blanks" \ 5409 "\n -t N Tabstops every N chars" \ 5410 ) 5411 5412 #define uniq_trivial_usage \ 5413 "[-cdu][-f,s,w N] [INPUT [OUTPUT]]" 5414 #define uniq_full_usage "\n\n" \ 5415 "Discard duplicate lines\n" \ 5416 "\nOptions:" \ 5417 "\n -c Prefix lines by the number of occurrences" \ 5418 "\n -d Only print duplicate lines" \ 5419 "\n -u Only print unique lines" \ 5420 "\n -f N Skip first N fields" \ 5421 "\n -s N Skip first N chars (after any skipped fields)" \ 5422 "\n -w N Compare N characters in line" \ 5423 5424 #define uniq_example_usage \ 5425 "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \ 5426 "a\n" \ 5427 "b\n" \ 5428 "c\n" 5429 5430 #define unzip_trivial_usage \ 5431 "[-opts[modifiers]] FILE[.zip] [LIST] [-x XLIST] [-d DIR]" 5432 #define unzip_full_usage "\n\n" \ 5433 "Extract files from ZIP archives\n" \ 5434 "\nOptions:" \ 5435 "\n -l List archive contents (with -q for short form)" \ 5436 "\n -n Never overwrite files (default)" \ 5437 "\n -o Overwrite" \ 5438 "\n -p Send output to stdout" \ 5439 "\n -q Quiet" \ 5440 "\n -x XLST Exclude these files" \ 5441 "\n -d DIR Extract files into DIR" \ 5442 5443 #define uptime_trivial_usage \ 5444 "" 5445 #define uptime_full_usage "\n\n" \ 5446 "Display the time since the last boot" 5447 5448 #define uptime_example_usage \ 5449 "$ uptime\n" \ 5450 " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" 5451 5452 #define usleep_trivial_usage \ 5453 "N" 5454 #define usleep_full_usage "\n\n" \ 5455 "Pause for N microseconds" 5456 5457 #define usleep_example_usage \ 5458 "$ usleep 1000000\n" \ 5459 "[pauses for 1 second]\n" 5460 5461 #define uudecode_trivial_usage \ 5462 "[-o OUTFILE] [INFILE]" 5463 #define uudecode_full_usage "\n\n" \ 5464 "Uudecode a file\n" \ 5465 "Finds outfile name in uuencoded source unless -o is given" 5466 5467 #define uudecode_example_usage \ 5468 "$ uudecode -o busybox busybox.uu\n" \ 5469 "$ ls -l busybox\n" \ 5470 "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n" 5471 5472 #define uuencode_trivial_usage \ 5473 "[-m] [INFILE] STORED_FILENAME" 5474 #define uuencode_full_usage "\n\n" \ 5475 "Uuencode a file to stdout\n" \ 5476 "\nOptions:" \ 5477 "\n -m Use base64 encoding per RFC1521" \ 5478 5479 #define uuencode_example_usage \ 5480 "$ uuencode busybox busybox\n" \ 5481 "begin 755 busybox\n" \ 5482 "<encoded file snipped>\n" \ 5483 "$ uudecode busybox busybox > busybox.uu\n" \ 5484 "$\n" 5485 5486 #define vconfig_trivial_usage \ 5487 "COMMAND [OPTIONS]" 5488 #define vconfig_full_usage "\n\n" \ 5489 "Create and remove virtual ethernet devices\n" \ 5490 "\nOptions:" \ 5491 "\n add [interface-name] [vlan_id]" \ 5492 "\n rem [vlan-name]" \ 5493 "\n set_flag [interface-name] [flag-num] [0 | 1]" \ 5494 "\n set_egress_map [vlan-name] [skb_priority] [vlan_qos]" \ 5495 "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 5496 "\n set_name_type [name-type]" \ 5497 5498 #define vi_trivial_usage \ 5499 "[OPTIONS] [FILE]..." 5500 #define vi_full_usage "\n\n" \ 5501 "Edit FILE\n" \ 5502 "\nOptions:" \ 5503 IF_FEATURE_VI_COLON( \ 5504 "\n -c Initial command to run ($EXINIT also available)" \ 5505 ) \ 5506 IF_FEATURE_VI_READONLY( \ 5507 "\n -R Read-only" \ 5508 ) \ 5509 "\n -H Short help regarding available features" \ 5510 5511 #define vlock_trivial_usage \ 5512 "[-a]" 5513 #define vlock_full_usage "\n\n" \ 5514 "Lock a virtual terminal. A password is required to unlock.\n" \ 5515 "\nOptions:" \ 5516 "\n -a Lock all VTs" \ 5517 5518 #define volname_trivial_usage \ 5519 "[DEVICE]" 5520 #define volname_full_usage "\n\n" \ 5521 "Show CD volume name of the DEVICE (default /dev/cdrom)" 5522 5523 #define wall_trivial_usage \ 5524 "[FILE]" 5525 #define wall_full_usage "\n\n" \ 5526 "Write content of FILE or stdin to all logged-in users" 5527 #define wall_sample_usage \ 5528 "echo foo | wall\n" \ 5529 "wall ./mymessage" 5530 5531 #define watch_trivial_usage \ 5532 "[-n SEC] [-t] PROG ARGS" 5533 #define watch_full_usage "\n\n" \ 5534 "Run PROG periodically\n" \ 5535 "\nOptions:" \ 5536 "\n -n Loop period in seconds (default 2)" \ 5537 "\n -t Don't print header" \ 5538 5539 #define watch_example_usage \ 5540 "$ watch date\n" \ 5541 "Mon Dec 17 10:31:40 GMT 2000\n" \ 5542 "Mon Dec 17 10:31:42 GMT 2000\n" \ 5543 "Mon Dec 17 10:31:44 GMT 2000" 5544 5545 #define watchdog_trivial_usage \ 5546 "[-t N[ms]] [-T N[ms]] [-F] DEV" 5547 #define watchdog_full_usage "\n\n" \ 5548 "Periodically write to watchdog device DEV\n" \ 5549 "\nOptions:" \ 5550 "\n -T N Reboot after N seconds if not reset (default 60)" \ 5551 "\n -t N Reset every N seconds (default 30)" \ 5552 "\n -F Run in foreground" \ 5553 "\n" \ 5554 "\nUse 500ms to specify period in milliseconds" \ 5555 5556 #define wget_trivial_usage \ 5557 IF_FEATURE_WGET_LONG_OPTIONS( \ 5558 "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]\n" \ 5559 " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ 5560 " [--no-check-certificate] [-U|--user-agent AGENT]" \ 5561 IF_FEATURE_WGET_TIMEOUT("[-T SEC] ") " URL" \ 5562 ) \ 5563 IF_NOT_FEATURE_WGET_LONG_OPTIONS( \ 5564 "[-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT]" \ 5565 IF_FEATURE_WGET_TIMEOUT("[-T SEC] ") " URL" \ 5566 ) 5567 #define wget_full_usage "\n\n" \ 5568 "Retrieve files via HTTP or FTP\n" \ 5569 "\nOptions:" \ 5570 "\n -s Spider mode - only check file existence" \ 5571 "\n -c Continue retrieval of aborted transfer" \ 5572 "\n -q Quiet" \ 5573 "\n -P DIR Save to DIR (default .)" \ 5574 IF_FEATURE_WGET_TIMEOUT( \ 5575 "\n -T SEC Network read timeout is SEC seconds" \ 5576 ) \ 5577 "\n -O FILE Save to FILE ('-' for stdout)" \ 5578 "\n -U STR Use STR for User-Agent header" \ 5579 "\n -Y Use proxy ('on' or 'off')" \ 5580 5581 #define which_trivial_usage \ 5582 "[COMMAND]..." 5583 #define which_full_usage "\n\n" \ 5584 "Locate a COMMAND" 5585 #define which_example_usage \ 5586 "$ which login\n" \ 5587 "/bin/login\n" 5588 5589 #define who_trivial_usage \ 5590 "[-a]" 5591 #define who_full_usage "\n\n" \ 5592 "Show who is logged on\n" \ 5593 "\nOptions:" \ 5594 "\n -a Show all" \ 5595 5596 #define whoami_trivial_usage \ 5597 "" 5598 #define whoami_full_usage "\n\n" \ 5599 "Print the user name associated with the current effective user id" 5600 5601 #define zcat_trivial_usage \ 5602 "FILE" 5603 #define zcat_full_usage "\n\n" \ 5604 "Decompress to stdout" 5605 5606 #define zcip_trivial_usage \ 5607 "[OPTIONS] IFACE SCRIPT" 5608 #define zcip_full_usage "\n\n" \ 5609 "Manage a ZeroConf IPv4 link-local address\n" \ 5610 "\nOptions:" \ 5611 "\n -f Run in foreground" \ 5612 "\n -q Quit after obtaining address" \ 5613 "\n -r 169.254.x.x Request this address first" \ 5614 "\n -v Verbose" \ 5615 "\n" \ 5616 "\nWith no -q, runs continuously monitoring for ARP conflicts," \ 5617 "\nexits only on I/O errors (link down etc)" \ 5618 5833 ) \ 5834 5835 #define dhcprelay_trivial_usage \ 5836 "CLIENT_IFACE[,CLIENT_IFACE2]... SERVER_IFACE [SERVER_IP]" \ 5837 5838 #define dhcprelay_full_usage "\n\n" \ 5839 "Relay DHCP requests between clients and server" \ 5840 5841 #define dumpleases_trivial_usage \ 5842 "[-r|-a] [-f LEASEFILE]" \ 5843 5844 #define dumpleases_full_usage "\n\n" \ 5845 "Display DHCP leases granted by udhcpd\n" \ 5846 IF_LONG_OPTS( \ 5847 "\n -f,--file=FILE Lease file" \ 5848 "\n -r,--remaining Show remaining time" \ 5849 "\n -a,--absolute Show expiration time" \ 5850 ) \ 5851 IF_NOT_LONG_OPTS( \ 5852 "\n -f FILE Lease file" \ 5853 "\n -r Show remaining time" \ 5854 "\n -a Show expiration time" \ 5855 ) \ 5856 5857 #define busybox_notes_usage \ 5858 "Hello world!\n" 5619 5859 5620 5860 #endif
Note:
See TracChangeset
for help on using the changeset viewer.