In general, a shell command specifies an executable (such as grep) followed by arguments to the command which are separated from each other by whitespace. Arguments are typically filenames but may be other command options (usually starting with -).
Globbing filenames
When globbing is used, the glob expression is expanded to a list of filenames which is passed to the command (so the command itself does not see or interpret the glob); if the glob expression does not match any filenames, then it is passed unchanged to the command.
Since many characters have special meaning to the shell (such as *, ?, <, >), and whitespace is considered to separate arguments, there are a few ways to prevent their special interpretation so they can be included in command arguments:
Another special quoting construct is `command`, which runs the given command and parses its output into command arguments, i.e. kill -HUP `cat /var/run/inetd.pid`.