La syntaxe générale d'une commande (unix ou de bash) est la suivante :
[ chemin/]nom_cmd [ option ... ] [ argument ... ]
C'est une suite de mots séparés par un ou plusieurs blancs. On appelle blanc un caractère tab (tabulation horizontale) ou un caractère espace.
Un mot est une suite de caractères non blancs. Cependant, plusieurs caractères ont une signification spéciale pour le shell et provoquent la fin d'un mot : ils sont appelés méta-caractères (ex : |, <).
Bash utilise également des opérateurs (ex : (, ||) et des mots réservés :
Bash distingue les caractères majuscules des caractères minuscules.
Le nom de la commande est le plus souvent le premier mot.
Une option est généralement introduite par le caractère tiret (ex : -a) ou dans la syntaxe GNU par deux caractères tiret consécutifs (ex : --version). Elle précise un fonctionnement particulier de la commande.
La syntaxe [ elt ... ] signifie que l’élément elt est facultatif (introduit par la syntaxe [elt ]) ou bien présent une ou plusieurs fois (syntaxe elt ...). Cette syntaxe ne fait pas partie du shell ; elle est uniquement descriptive (méta-syntaxe).
Les arguments désignent les objets sur lesquels doit s’exécuter la commande.
Ex : ls -l RepC RepD : commande ls avec l’option l et les arguments RepC et RepD
Lorsque l’on souhaite connaître la syntaxe ou les fonctionnalités d’une commande cmd (ex : ls ou bash) il suffit d’exécuter la commande man cmd (ex : man bash). L’aide en ligne de la commande cmd devient alors disponible.