Alain Leroy
nom_de_commande options arguments
Les options sont généralement introduites avec le caractère moins (-).
Exemple :
ls -l /bin
Ici ls est le nom de la commande. l est une option, précédée du caractère "-", /bin est un argument, ici un nom de répertoire.
Les options possibles ne sont pas générales à toutes les commandes, elles leur sont propres. Il faut consulter le manuel de référence pour chaque commande pour connaître les options possibles.
Une commande n'est jamais transmise à UNIX directement par l'utilisateur. Si elle est frappée au clavier d'un terminal, elle est transmise à un intermédiaire qui l'interprète, éventuellement la complète et enfin la passe à UNIX. Cet intermédiaire est ce que l'on appelle un SHELL. C'est un programme qui s'exécute en étant associé au terminal de l'utilisateur et qui signale sa disponibilité en émettant une invite à l'écran: le prompt.
Si la commande est lancée via le système de multifenêtrage, par l'intermédiaire d'un gestionnaire de fichiers (comme sur MacIntosh ou Windows), c'est le gestionnaire de fichiers qui joue le rôle du Shell, mais le mécanisme est automatique est il est plus complexe de préciser les options désirées.
Dans ce qui suit nous supposerons que l'intermédiaire est un Shell et que nous entrons directement les commandes au clavier. Les commandes ne sont exécutées que lorsque le caractère <Return> est frappé.
Il existe plusieurs façons de lancer des commandes :
prompt% cp -r projet projet.sauv <Return> .....la commande s'exécute, le Shell ne rend pas la main prompt% L'exécution est terminée
prompt% cp -r projet projet.sauv & <Return> [1] 3426 prompt%
Le Shell lance la commande en background, indique le numéro du
travail dans ce mode ainsi que le numéro du processus d'exécution puis rend
la main.
On peut ne pas espacer le & du dernier caractère de la
commande
prompt% pwd; cd /usr; pwd <Return> /users/dupont/affaire /usr prompt%
Les commandes s'exécutent les unes après les autres. Le caractère ";" est équivalent à un <Return>.
prompt% head -25 un_fichier | tail -1 <Return> ceci est la 25 ieme ligne... prompt%
Dans cet exemple, on lit les 25 premières lignes du fichier (commande head), au lieu qu'elles soient affichées à l'écran comme cela devrait être, les lignes sont dirigées vers l'entrée de la commande tail qui ne prend que la dernière de ces lignes. Le résultat affiché correspond à la 25ième ligne du fichier en question. Essayez sur un de vos fichiers. Les deux commandes s'exécutent simultanément.
Autre exemple plus courant cette fois: ls -l repertoire | more.
prompt% ls -ld /usr > liste_usr prompt%
Le fichier liste_usr est créé, il contiendra le résultat de la commande ls -ld /usr, qui sans la redirection aurait été affiché à l'écran. Si le fichier existait, son contenu précédent est perdu.
Il est possible de rediriger la sortie standard en ajout avec les caractères >>, on aurait pu entrer la commande suivante : ls -ld ... >> liste_usr. Le fichier, s'il existe, n'est pas écrasé. Les caractères émis par la commande sont ajoutés en fin de fichier.
L'entrée standard peut aussi être redirigée avec le caractère < de la manière suivante :
commande < fichier