Bash est sensible à la casse. Cela veut dire que pour lui une majuscule est différente d'une minuscule.
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.
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 `@
').
Par défaut, les déplacements se font comme dans Emacs. Pour information, voici les principales commandes :
Sachez aussi qu'il est possible d'avoir les raccourcis à la mode vi.
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é.
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.
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; } &