Page suivante Page précédente Table des matières

3. Edition interactive de la ligne de commande

3.1 Casse

Bash est sensible à la casse. Cela veut dire que pour lui une majuscule est différente d'une minuscule.

3.2 Aide en ligne

Une aide en ligne est accessible grâce à la commande `help'. Sans arguments, elle liste les commandes disponibles. `help commande' affiche une aide sur la commande.

3.3 Complétion

Bash offre la possibilité de compléter automatiquement les mots avec la touche TAB. Si aucune complétion automatiquement n'est possible, un bip est émis, et une deuxième pression sur la touche TAB permet de voir les complétions possibles, s'il en existent.

On peut ainsi compléter les noms de commandes éxécutables (premier mot de la ligne), les noms de fichiers (autres mots de la lignes), les variables d'environnement (mots commençant par `$'), les noms d'utilisateurs (commençant par `~'), ou encore les noms de machines (commençant par `@').

3.4 Déplacements

Par défaut, les déplacements se font comme dans Emacs. Pour information, voici les principales commandes :

Pour en savoir plus, consultez la docs de readline.

Sachez aussi qu'il est possible d'avoir les raccourcis à la mode vi.

3.5 Historique

De nombreuses facilités existent aussi pour accéder aux lignes commandes tapées dans le passé.

Lorsque deux shells s'exécutent en même temps, ils ne partagent pas leur historique. En fait, Bash charge à l'initialisation l'historique.sauvegardée dans le fichier  /.bash_history, puis le modifie en fonction des commandes tapées par l'utilisateur en mémoire. Quand on quitte le shell, celui-ci sauvegarde son historique dans  /.bash_history. C'est donc l'historique du dernier shell quitté qui est au final sauvegardé.

3.6 Alias

les alias permettent de définir des substitions à effectuer sur les noms de commandes. Une utilisation typique consiste à remplacer `rm' par `rm -i' afin que la commande rm demande confirmation avant d'effacer un fichier :

alias rm='rm -i'
La commande `alias' sans arguments permet de lister tous les alias définis.

3.7 Contrôle des tâches

La commande jobs permet de lister les tâches en cours

Il est possible lancer un commande en tâche de fond en mettant un `&' à la fin de la commande. On peut aussi placer une tâche en cours en tâche de fond grâce à la commande `bg'. Inversement, `fg' fait passer un tâche au premier plan.

`C-c' permet de terminer la tâche courante, et `C-z' permet de l'interrompre (ce qui laisse la possibilité de la continuer plus tard).

Le `;' sert à enchaîner plusieurs commandes. Exemple :

`( liste )' exécute la liste de commandes dans un sous-shell.

(cd rep_origine ; tar cf - . ) | (cd rep_dest ; tar xf - )

(Cf. http://www.kernelnotes.org/LDP/HOWTO/mini/Hard-Disk-Upgrade.html#Part6)

`{ list; }' exécute la liste de commandes dans le shell courant.

{ commande | grep truc > machine; } &

Page suivante Page précédente Table des matières