Many executables, whether binaries or script files, accept options to modify their run-time behavior. For example: from the command-line, typing command -o would invoke command, with option o.
Over time, there has evolved a loose standard for the meanings of command-line option flags. The GNU utilities conform more closely to this "standard" than older UNIX utilities.
Traditionally, UNIX command-line options consist of a dash, followed by one or more lowercase letters. The GNU utilities added a double-dash, followed by a complete word or compound word.
The two most widely-accepted options are:
Help: Give usage message and exit.
Version: Show program version and exit.
Other common options are:
All: show all information or operate on all arguments.
List: list files or arguments without taking other action.
Quiet: suppress stdout.
Recursive: Operate recursively (down directory tree).
Verbose: output additional information to stdout or stderr.
Compress: apply compression (usually gzip).
In tar and gawk:
File: filename follows.
In cp, mv, rm:
Force: force overwrite of target file(s).
Many UNIX and Linux utilities deviate from this "standard," so it is dangerous to assume that a given option will behave in a standard way. Always check the man page for the command in question when in doubt.
A complete table of recommended options for the GNU utilities is available at the GNU standards page.