Le meilleur outil du bio-informaticien est sans doute son interpréteur. Bien que plusieurs l’aient déjà dompté, il arrive souvent à certains débutants de se retrouver à répéter péniblement certaines séquences lorsqu’il existe une solution plus rapide (il m’arrive encore de me retrouver dans la même situation!). Jetons un coup d’oeil aux commandes et raccourcis de l’interpréteur de commandes Bash les plus utilisées. Cette liste ne tente aucunement d’énumérer toutes les fonctionalités de Bash mais plutôt de regrouper certains raccourcis clef qui pourront possiblement économiser un peu de temps et prévenir certaines frustrations.

Édition de commandes

La Bash shell contient ses propres commandes pour manoeuvrer le curseur. Selon votre choix d’émulateur de terminal, de votre environnement graphique (s’il y a lieu) et de ses paramètres, certaines combinaisons de touches seront déjà configurées (p.ex: Ctrl-Gauche et Ctrl-Droit pour sauter entre les mots ainsi que les touches Home et End pour rapidement passer à la fin et au début de la ligne d’entrée) en plus des combinaisons de Bash. Malheureusement, ces combinaisons ne seront pas nécessairement disponibles sous différents environnements. Cependant, les combinaisons de touches qui suivent le seront.

Ctrl-a ramène le curseur au début de la ligne tandis que Ctrl-e le déplace à la fin..

Alt-f déplace le curseur vers l’avant d’un mot tandis que Alt-b accomplit l’inverse.

Alt-Retour efface le dernier mot.

Ctrl-u efface tout à partir du curseur jusqu’au début de la ligne d’entrée, Ctrl-k efface tout à partir du curseur jusqu’à la fin de la ligne d’entrée et Ctrl-y retourne ce qui vient d’être effacé.

cutpaste

Ctrl-e Ctrl-x ouvre un éditeur texte (tel que spécifié par la variable d’environnement $EDITOR) avec le contenu de la ligne de capture de commande. Le contenu de l’éditeur est exécuté lors de sa fermeture.

Enfin, Ctrl-_ annule les dernier changements.

Historique de commande

Aucun utilisateur ne devrait être contraint à explorer manuellement l’historique de commandes seulement à l’aide des touches flèches vers le haut ou vers le bas. La combinaison Ctrl-r, l’une des combinaisons les plus utiles de la Bash shell, offre la possibilité de faire une recherche dans l’historique de commandes.

ctrlr

En fait, Bash offre une panoplie d’opérations sur l’historique de commandes. Plusieurs de ces commandes commencent par un point d’exclamation. Par exemple, tout comme la variable d’environnement $_ conserve la dernière commande, la commande !! l’exécute. Pour retourner tout les paramètres passés à la dernière commande, !:* est votre ami.

lastargs

Erreur de frappe? Corrigez votre dernière commande avec une expression de type ^exho^echo, remplaçant ainsi la première occurence de « exho » dans votre dernière commande avec « echo ».

replace

Une autre combinaison intéressante: Alt-. (ou ESC-.) ajoute le dernier paramètre de la dernière commande à la ligne d’entrée de commande (utile avec les longs noms de répertoires)

Tâches

Ctrl-z suspend la tâche courante, la commande jobs retourne les tâches arrêtées tandis que fg retourne une tâche en avant plan (bg le retourne dans l’arrière plan comme si la tâche avait été roulée avec &). Personnellement, je trouve cette option utile lorsque je saute rapidement entre un éditeur et le terminal.

Lors de l’exécution de commandes qui risquent de rouler longtemps, un disown sur une tâche déjà en arrière plan garantira cette tâche de rouler même lorsque confronté à un signal SIGHUP lors d’une fin de session (le même effet peu être réalisé en roulant la commande avec nohup et &).

jobs

Accolades

L’expansion d’accolades peut aider avec de petites tâches telles le déplacement de fichiers (p.ex. mv somefile{.txt,.bak}) ou la délétion d’une série spécifique de fichiers avec des noms semblables (p. ex. rm somefile{1,2,3,5,8}.txt).

braces

Navigation

La variable d’environnement \$OLDPWD contient automatiquement le dernier répertoire (\$PWD contient le répertoire courant). En passant à cd, votre répertoire de travail changera à ce dernier.

cdmin

Ménage

Pour mettre de l’ordre dans vos idées et/ou passer à autre chose, Ctrl-l effacera les vieilles commandes de l’écran tandis que reset recommencera la session.

Statistiques

Finalement, cette combinaison de commandes vous aidera à mieux comprendre l’usage de votre interpréteur de commandes Bash en vous donnant un décompte de vos commandes les plus utilisées.

history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10