Rendre son terminal bash plus agréable
Geek
Par djib le dimanche 2 juillet 2006, 09:21 - Lien permanent
Voici trois astuces spécifiques à bash pour rendre votre terminal plus agréable à utiliser. Il s'agit d'astuces de configuration ; pour ce qui est de raccourcis et commandes, rendez-vous sur mon autre article quelques astuces bash.
Afficher votre invite de commande en couleur
L'invite de commande (prompt en Anglais) est (en gros) ce que vous voyez après que chaque commande se soit terminée, vous proposant d'entrer une autre commande. En général, sous Ubuntu, c'est quelque chose qui ressemble à :
identifiant@machine:~$
L'intérêt de passer l'invite en couleurs est, en plus de faire joli, de pouvoir facilement retrouver les commandes tapées parmi tout le texte affiché par les programmes qui ont été exécutés.
La configuration est très simple. Ouvrez le fichier ~/.bashrc avec par exemple la commande gedit ~/.bashrc si vous avez Ubuntu ou kate ~/.bashrc si vous avez Kubuntu.
Il vous suffit ensuite de supprimer le # devant la ligne : (ligne 34 dans mon fichier)
PS1='${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:[\033[01;34m]\w[\033[00m]\$ '
et d'ajouter des # devant les lignes : (24 à 31 chez moi)
# case "$TERM" in
#xterm-color)
# PS1='${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:[\033[01;34m]\w[\033[00m]\$ '
# ;;
#*)
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
# ;;
#esac
Au prochain démarrage de votre terminal, de la couleur viendra égayer le tout.
Activer l'autocomplétion dans les shells interactifs
L'autocomplétion c'est ce qui vous permet d'éviter de taper plus de texte quand vous en avez déjà tapé assez. Typiquement si vous voulez lancer la commande firefox et que vous avez qu'un programme qui commence par fire vous pouver taper fire puis appuyer sur Tab pour compléter automatiquement.
%
Sur Ubuntu, l'autocomplétion est activée par défaut, mais pas de manière aussi avancée que vous pouvez l'obtenir : elle complète que les fichiers et le commandes. Avec l'autocomplétion avancée on peut aller plus loin, par exemple :
sud[TAB] apt-g[TAB] i[TAB] froz[TAB]
vous donnera
sudo apt-get install frozen-bubble
Ouvrez à nouveau le fichier ~/.bashrc (comme ci-dessus) et enlevez les # devant : (lignes 71 à 73 chez moi)
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Comme pour l'astuce précédente il faut redémarrer bash pour que les changements soient pris en compte.
A l'époque où j'ai plongé dans le monde de Linux, j'utilisais zsh et non bash, et ce dernier m'affichait une aide interactive lors de l'utilisation de la touche Tab dans certaines commandes. Malheureusement je ne sais pas faire ça sous bash. 
Avoir une autocomplétion non sensible à la casse
Je suis sûr que cela vous est déjà arrivé de taper un nom de fichier et que l'autocomplétion ne marche pas à cause d'une majuscule au début du nom de fichier. Et oui, bash par défaut est sensible à la casse et différencie lisezmoi et LisezMoi par exemple. Si cela vous embête, vous pouvez corriger ce comportement facilement en ajoutant la ligne :
set completion-ignore-case on
dans un fichier nommé ~/.inputrc (sous Ubuntu il y a des chances que vous ayez besoin de créer le fichier). La commande
echo "set completion-ignore-case on" >> ~/.inputrc
vous fera tout ça automatiquement.
Encore une fois, il faut redémarrer le terminal.
Afficher les commandes avec !!, !$, !^, etc. avant de les exécuter
Pour ceux qui on lu mon autre billet et qui sont devenu fada de tous ces petits raccourcis, en ajoutant la ligne shopt -s histverify dans votre .bashrc, les commandes seront confirmées avant d'être exécutées. Exemple :
$mkdir test $cd !$
Entrée après la deuxième ligne affiche.
$cd test
Appuyez sur Entrée une fois de plus pour valider.
Voilà. J'espère vous avoir fait gagné quelques précieuses secondes. Après tout, l'informatique n'est ce pas l'art de perdre plusieurs heures à gagner quelques secondes.



Commentaires
Mercu pour ces astuces, j'avais la flemme de fouiller le forum buntu pour les retrouver

Mais j'ai une petite question : par hasard, saurais-tu comment faire pour modifier les couleurs proposées ? Je suis pas très fan du vert fluo du prompt
Pour les codes couleurs : www.tldp.org/linuxfocus/F...
Quelques codes couleurs se marriant bien avec la couleur d'Ubuntu :
\033[03;31m
\033[02;31m
moi j'ai ca :
bash: /home/sebastien/.bashrc: line 72: erreur de syntaxe près du jeton `fi' inattendu
bash: /home/sebastien/.bashrc: line 72: `fi'
sebastien@sebastien:~$
pourquoi ???
Merci pour le lien sidhi.
Colar, je viens de retrouver mon invite que j'avais fait sous gentoo !!! Y'a du vert, mais j'aimais bien :
PS1="\[\033[01;35m\]\t \[\033[01;32m\]\u\[\033[01;30m\]@\[\033[01;32m\]\h\[\033[01;30m\]:\[\033[01;33m\]\w \[\033[01;34m\]\$ \[\033[00m\]"
Seb, tu as du commenter une ligne de trop.
Poste voir les lignes autour de 72.
Et pour tout ceux ki veulent un shell ki apparait et disparait en une touche, je vous conseille l'excellent Tilda !!
...ou encore Yakuake !
Oui, j'avais parlé de yakuake dans www.think-underground.com...
des info supplémentaire peuvent être trouvé ici : www.trustonme.net/didacte...
Pas besoin d'attendre de relancer un bash !
source ~/.bashrc
Grummfy, merci bien pour ce site. Par contre je pense (c'est à vérifier) que dircolors ne marche qu'avec Slackware et Gentoo. En tous car je me souviens avoir lu que la méthode n'est pas la même pour ces deux distributions que pour les autres.
rangzen, super ! Merci pour cette astuce je connaissais pas !
merci pour ces qq ptites infos. ca pourrait etre interessant de montre la syntaxe a utiliser pour changer la couleur par default. A savoir ce vert flashy extra-terrestre style! :P
chamo, rends toi sur le site proposé par Grummfy.
bash: /home/n3o/.bashrc: line 75: erreur de syntaxe : fin de fichier inattendue voila moi j ai ca alors que je voulai simplement mettre le fond en noir et l ecriture en vert meri
n3o, pourrais-tu donner plus de détails s'il te plaît ? Quelles lignes as-tu ajoutées ?