Command (computing)

In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell.

Specifically, the term command is used in imperative computer languages. These languages are called this, because statements in these languages are usually written in a manner similar to the imperative mood used in many natural languages. If one views a statement in an imperative language as being like a sentence in a natural language, then a command is generally like a verb in such a language.

Many programs allow specially formatted arguments, known as flags, which modify the default behaviour of the command, while further arguments describe what the command acts on. Comparing to a natural language: the flags are adverbs, whilst the other arguments are objects.

Examples
Here are some commands given to a command line interpreter (Unix shell):
 * cd /home/pete
 * This command changes the user's place in the directory tree from their current position to the directory /home/pete. "cd" is the command and "/home/pete" is the argument.


 * echo "Hello World"
 * This command prints the text hello out to the standard output stream, which, in this case, will just print the text out on the screen. "echo" is the command and ""Hello World"" is the argument. The quotes are used to prevent "Hello" and "World" being treated as separate arguments.


 * ls -l -t -r /bin
 * ls -ltr /bin
 * These commands are equivalent. They list files in the directory /bin. "ls" is the command, "/bin" is the argument and there are three flags: "l", "t" and "r".


 * cat ch1.txt ch2.txt
 * This displays the contents of the files ch1.txt and ch2.txt. "cat" is the command and "ch1.txt" and "ch2.txt" are both arguments.

Here are some commands given to a different command line interpreter (the DOS, OS/2 and Microsoft Windows command prompt). Notice that the flags are identified differently but that the concepts are the same:
 * dir /A
 * This lists all the contents of the current directory. "dir" is the command and "A" is a flag. There is no argument.


 * type /P readme.txt
 * This displays the contents of the file readme.txt. "type" is the command. "readme.txt" is the argument. "P" is a parameter.