Personnaliser son terminal



Sources


A quoi cela sert ?

A rien, c'est cela qui est genial!

Sujets abordés:

Bashrc

Le fichier ~/.bashrc peut être exécuté au "lancement" d'un shell bash, y compris à la connexion ssh
Il peut être donc pratique d'y stocker tout ces petits scripts qui facilitent la vie!
Pour le mettre en place, il faut commencer par éditer ~/.bash_profile (le créer s'il n'existe pas)
if [[ -f .bashrc ]] 
then
   . ./.bashrc
fi
BASH_ENV=~./bashrc
export BASH_ENV
On peut donc maintenant s'occuper de nos scripts!
Ceux ci sont libres, donc soyez créatifs ;)
Voici le mien: http://tutos.dryades.org/files/linux/bashrc

Motd

Le message affiché au login se trouve dans /etc/motd
Pour afficher un message en couleur, il suffit de faire un echo de message formaté dans le fichier.
echo -en "\033[32mDryades.org  - Bienvenue sur $HOSTNAME" > /etc/motd
echo -en "\033[0m" >> /etc/motd
Pour le logout, il n'existe pas d'équivalent direct, mais bash propose une solution: ~/.bash_logout
Pour les autres shells, seul google vous aidera :p

Sshrc

Le fichier /etc/sshrc est exécuté à la connexion ssh
Encore une fois, c'est un script, donc on peut mettre ce que bon nous semble :)
Voici le mien: http://tutos.dryades.org/files/linux/sshrc

DIR_COLORS

Le fichier /etc/DIR_COLORS contient la définition des couleurs à utiliser pour chaque type de fichier
Il est donc possible de personnaliser encore plus son shell :)

Prompt

L'aspect du prompt est définit par une expression stockée dans la variable $PS1
Pour voir la configuration de son prompt actuel il suffit donc de tapper
echo $PS1
il suffit donc de modifier cette expression pour afficher le prompt de son choix !
Encore faut il savoir quoi écrire !
Pour cela, voici la liste des codes possibles:
  • \a : an ASCII bell character (07)
  • \d : the date in « Weekday Month Date » format (e.g., « Tue May 26″)
  • \D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
  • \e : an ASCII escape character (033)
  • \h : the hostname up to the first ‘.’
  • \H : the hostname
  • \j : the number of jobs currently managed by the shell
  • \l : the basename of the shell’s terminal device name
  • \n : newline
  • \r : carriage return
  • \s : the name of the shell, the basename of $0 (the portion following the final slash)
  • \t : the current time in 24-hour HH:MM:SS format
  • \T : the current time in 12-hour HH:MM:SS format
  • \@ : the current time in 12-hour am/pm format
  • \A : the current time in 24-hour HH:MM format
  • \u : the username of the current user
  • \v : the version of bash (e.g., 2.00)
  • \V : the release of bash, version + patch level (e.g., 2.00.0)
  • \w : the current working directory, with $HOME abbreviated with a tilde
  • \W : the basename of the current working directory, with $HOME abbreviated with a tilde
  • \! : the history number of this command
  • \# : the command number of this command
  • \$ : if the effective UID is 0, a #, otherwise a $
  • \nnn : the character corresponding to the octal number nnn
  • \\ : a backslash
  • \[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
  • \] : end a sequence of non-printing characters
Rajouter des couleurs
  • Pour ouvrir la partie en couleurs : \e[x;ym
  • Pour fermer : \e[m

Il vous reste à remplacer X et Y par les codes couleurs du tableau suivant.

Liste des couleurs
Couleur Code
Noir 0;30
Bleu 0;34
Vert 0;32
Cyan 0;36
Rouge 0;31
Violet 0;35
Brun 0;33
Vert 0;32

Nota : remplacez le digit 0 par 1 pour avoir une version plus claire de la couleur.


ls

Voici quelques options sympa pour la commande ls
Listing en couleur et alias utiles
export LS_OPTIONS='-G' alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -lisah' alias lt='ls $LS_OPTIONS -ltr' alias l='ls $LS_OPTIONS'
(pour enlever un alias il suffit de faire unalias NOM_ALIAS