The distinction between file names and archive member names is especially important when shell globbing is used, and sometimes a source of confusion for newcomers. See Wildcards , for more information about globbing. The problem is that shells may only glob using existing files in the file system. Only tar itself may glob on archive members, so when needed, you must ensure that wildcard characters reach tar without being interpreted by the shell first. Besides successful exits, GNU tar may fail for many reasons.
Some reasons correspond to bad usage, that is, when the tar command is improperly written.
Errors may be encountered later, while encountering an error processing the archive or the files. Some errors are recoverable, in which case the failure is delayed until tar has completed all its work. All abnormal exits, whether immediate or delayed, should always be clearly diagnosed on stderr , after a line stating the nature of the error. GNU tar returns only a few exit statuses. I'm really aiming simplicity in that area, for now.