Les systèmes d'exploitation de type UNIX offrent à leurs utilisateurs des centaines de commandes qui font de la console un outil pratique et extrêmement puissant. Certaines d'entre elles sont fournies directement par le shell, alors que d'autres sont des exécutables situés dans /bin, /usr/bin, /usr/local/bin ou un autre répertoire contenant des exécutables et listé dans la variable d'environnement $PATH. La distinction entre /bin et /usr/bin ne relève que de raisons historiques propres aux PDP-11 (/bin était placé sur un tambour magnétique d'accès rapide et de petite taille, /usr/bin sur un disque normal ; sur beaucoup de systèmes actuels, il s'agit d'un lien vers le même système de fichiers.
Voici une liste des commandes les plus fréquemment incluses dans un système UNIX (donc aussi Linux). Certaines d'entre elles peuvent être spécifiques à un système en particulier, par exemple GNU. L'origine du nom des commandes est écrite entre parenthèses.
Des informations supplémentaires sur chacune de ces commandes peuvent être trouvées dans leurs pages respectives du manuel UNIX.
La plupart des commandes acceptent des arguments. On peut distinguer deux types d'arguments :
Exemple :
$> ls -l --color
Cette commande affiche le contenu du répertoire courant de façon détaillée (-l) et en colorant les fichiers selon leur type (--color).
Exemple :
$> grep titi mon_fichier
Cette commande recherche la chaîne titi dans le fichier mon_fichier.
Une fonctionnalité puissante de certaines commandes Unix est de pouvoir rediriger la sortie d'une première commande comme argument d'une seconde via le caractère pipe (tuyau en français).
Exemple :
$> ps ax | grep init
N'affichera que les lignes retournées par la commande ps ax qui contiennent la chaîne init. Il s'agit ici d'une redirection utilisant grep comme filtre.