A Linux command typically consists of a program name followed by options and arguments, typed within a shell, like this:
$ wc -l myfile
The program name (
“word count” program) refers to a program somewhere on disk that the
shell will locate and run. Options, which usually begin with a dash,
affect the behavior of the program. In the preceding command, the
-l option tells
wc to count lines rather than words. The
myfile specifies the file
wc should read and process.
The leading dollar sign (
$) is a
prompt from the shell, indicating that it is
waiting for your command.
Commands can have multiple options and arguments. Options may be given individually:
$ wc -l -w myfile Two individual options
or combined behind a single dash:
$ wc -lw myfile Same as -l -w
though some programs are quirky and do not recognize combined options. Multiple arguments are also OK:
$ wc -l myfile1 myfile2 Count lines in two files
Options are not standardized. The same option letter (say,
-l) may have different meanings to
different programs: in
wc -l it means “lines of text,” but
ls -l it means “longer output.”
In the other direction, two programs might use different options to
mean the same thing, such as
“run quietly” versus
-s for “run
Likewise, arguments are not standardized, unfortunately. They usually represent filenames for input or output, but they can be other things too, like directory names or regular expressions.
Commands can be more complex and ...