command [-parameters] argument1 argument2 ...
The brackets around the parameters indicate they are optional.
For example, if you want to see the names of the files in the current directory, the ls command is used.
[bbadger@demo01] (1)$ ls
But if you want to view the contents of your public directory while in your home directory, the directory name, public, must be supplied as an argument.
[bbadger@demo01] (1)$ ls public
Many programs also accept flag parameters, indicated with a preceding minus sign, which change the way the program works. These options generally precede other arguments, but this is not always the case. It depends on the the specific program you are using. For example, ls doesn't display all the information known about files in a directory. However, if the -l option is given, then more information is displayed.
[bbadger@demo01] (1)$ ls -l
Like most commands, ls takes many different parameters, which can be combined together to yield various effects. However, keep in mind that different programs may interpret different arguments as different options. To some programs, -s might mean one thing, but to others it probably means something completely different. You should always consult the manual page on the specific program you wish to run for exactly what the various flags do.