In computing, a command is a directive to a computer program to perform a specific task. It may be issued via a command-line interface, such as a shell, or as input to a network service as part of a network protocol, or as an event in a graphical user interface triggered by the user selecting an option in a menu.
Specifically, the term command is used in imperative computer languages. The name arises 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 or options, which modify the default behaviour of the program, while further arguments may provide objects, such as files, to act on. As an analogy to a natural language, the flags are adverbs, while the other arguments are objects.
Here are some commands given to a command-line interpreter (Unix shell).
The following command changes the user's working position in the directory tree to the directory /home/pete. The utility program is cd and the argument is /home/pete:
The following command prints the text Hello World on the standard output stream, which, in this case, just prints the text on the screen. The program name is echo and the argument is "Hello World". The quotes are used to prevent Hello and World being treated as separate tokens:
echo "Hello World"
The following commands are equivalent. They list files in the directory /bin. The program is ls, having three flags (l, t, r), and the argument is the directory /bin:
ls -l -t -r /bin ls -ltr /bin
The following command displays the contents of the files ch1.txt and ch2.txt. The program name is cat, having two file name arguments:
cat ch1.txt ch2.txt
Here are some commands for the DOS, OS/2 and Microsoft Windows command prompt processor. The following command displays the contents of the file readme.txt. The program name is type and the argument is readme.txt.
The following command lists the contents of the current directory. The program name is dir, and Q is a flag requesting that the owner of each file also be listed.