I'm not sure if you mean -
or --
, so here's some information about both:
-
is a shorthand that some programs accept to refer to STDIN
, the standard input of the program. That is, in a pipeline like echo foo | cat -
(although -
is actually unnecessary in this instance), cat
receives "foo" and a newline as its input from STDIN
.
--
indicates the end of arguments. In programs that deal with files, this often means that what follows will only be filenames, and not, say, command-line options. In such an instance it is used to try and get around filenames that look like options (for example, if you have a file named -e
and an the program also accepts a -e
argument). Another way to get around this is to do something like command ./-e
, which is actually more compatible across programs as it doesn't require the underlying program to implement handling --
.
-
has a meaning too when used as a filename (it typically means stdin/stdout), but the second paragraph is clearly talking about--
, so I'm not sure which he actually wants – Michael Mrozek Nov 17 '12 at 03:07