| 404 | } |
| 405 | |
| 406 | void |
| 407 | usage (int status) |
| 408 | { |
| 409 | if (status != EXIT_SUCCESS) |
| 410 | emit_try_help (); |
| 411 | else |
| 412 | { |
| 413 | printf (_("\ |
| 414 | Usage: %s [OPTION]... MODE[,MODE]... FILE...\n\ |
| 415 | or: %s [OPTION]... OCTAL-MODE FILE...\n\ |
| 416 | or: %s [OPTION]... --reference=RFILE FILE...\n\ |
| 417 | "), |
| 418 | program_name, program_name, program_name); |
| 419 | fputs (_("\ |
| 420 | Change the mode of each FILE to MODE.\n\ |
| 421 | With --reference, change the mode of each FILE to that of RFILE.\n\ |
| 422 | \n\ |
| 423 | "), stdout); |
| 424 | oputs (_("\ |
| 425 | -c, --changes\n\ |
| 426 | like verbose but report only when a change is made\n\ |
| 427 | ")); |
| 428 | oputs (_("\ |
| 429 | -f, --silent, --quiet\n\ |
| 430 | suppress most error messages\n\ |
| 431 | ")); |
| 432 | oputs (_("\ |
| 433 | -v, --verbose\n\ |
| 434 | output a diagnostic for every file processed\n\ |
| 435 | ")); |
| 436 | oputs (_("\ |
| 437 | --dereference\n\ |
| 438 | affect the referent of each symbolic link,\n\ |
| 439 | rather than the symbolic link itself\n\ |
| 440 | ")); |
| 441 | oputs (_("\ |
| 442 | -h, --no-dereference\n\ |
| 443 | affect each symbolic link, rather than the referent\n\ |
| 444 | ")); |
| 445 | oputs (_("\ |
| 446 | --no-preserve-root\n\ |
| 447 | do not treat '/' specially (the default)\n\ |
| 448 | ")); |
| 449 | oputs (_("\ |
| 450 | --preserve-root\n\ |
| 451 | fail to operate recursively on '/'\n\ |
| 452 | ")); |
| 453 | oputs (_("\ |
| 454 | --reference=RFILE\n\ |
| 455 | use RFILE's mode instead of specifying MODE values.\n\ |
| 456 | RFILE is always dereferenced if a symbolic link.\n\ |
| 457 | ")); |
| 458 | oputs (_("\ |
| 459 | -R, --recursive\n\ |
| 460 | change files and directories recursively\n\ |
| 461 | ")); |
| 462 | emit_symlink_recurse_options ("-H"); |
| 463 | oputs (HELP_OPTION_DESCRIPTION); |
no test coverage detected