A simple shell command such as touch file1 file2 file3 consists of the command itself followed by arguments, separated by spaces.
More
complex shell commands are composed of simple commands arranged
together in a variety of ways: in a pipeline in which the output of one
command becomes the input of a second, in a loop or conditional
construct, or in some other grouping. A couple of examples:
ls | more
gunzip file.tar.gz | tar xvf -