GNU/Linux >> Tutoriels Linux >  >> Linux

Coloriser votre environnement terminal et shell ?

Je passe la plupart de mon temps à travailler dans des environnements Unix et à utiliser des émulateurs de terminaux. J'essaie d'utiliser la couleur sur la ligne de commande, car la couleur rend la sortie plus utile et intuitive.

Quelles options existent pour ajouter de la couleur à mon environnement de terminal ? Quelles astuces utilisez-vous ? Quels écueils avez-vous rencontrés ?

Malheureusement, la prise en charge de la couleur varie en fonction du type de terminal, du système d'exploitation, du paramètre TERM, de l'utilitaire, des implémentations boguées, etc.

Voici quelques conseils tirés de ma configuration, après de nombreuses expérimentations :

  1. J'ai tendance à définir TERM=xterm-color , qui est pris en charge sur la plupart des hôtes (mais pas tous).
  2. Je travaille sur un certain nombre d'hôtes différents, différentes versions de système d'exploitation, etc. J'utilise tout, de macOS X, Ubuntu Linux, RHEL/CentOS/Scientific Linux et FreeBSD. J'essaie de garder les choses simples et génériques, si possible.
  3. Je fais beaucoup de travail en utilisant GNU screen , ce qui ajoute une autre couche de plaisir.
  4. De nombreux systèmes d'exploitation définissent des éléments tels que dircolors et par défaut, et je ne veux pas modifier cela sur une centaine d'hôtes différents. J'essaie donc de m'en tenir aux valeurs par défaut. Au lieu de cela, je modifie la configuration des couleurs de mon terminal.
  5. Utiliser la couleur pour certaines commandes Unix (ls , grep , less , vim ) et l'invite Bash. Ces commandes semblent utiliser les "séquences d'échappement ANSI" standard. Par exemple :

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'
    

Je posterai mon .bashrc et répondez à ma propre question Jeopardy Style.

Réponse acceptée :

Voici quelques actions que vous pouvez effectuer :

Éditeurs + Code
De nombreux éditeurs prennent en charge la coloration syntaxique. vim et emacs l'avoir par défaut. Vous pouvez également l'activer sous nano .

Vous pouvez également mettre en surbrillance le code de syntaxe sur le terminal en utilisant Pygments comme outil de ligne de commande.

grep
grep --color=auto met en évidence tous les matchs. Vous pouvez également utiliser export GREP_OPTIONS='--color=auto' pour le rendre persistant sans alias. Si vous utilisez --color=always , il utilisera de la couleur même en passepoil, ce qui confond les choses.

ls

ls --color=always

Couleurs spécifiées par :

export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

(indice :dircolors peut être utile)

PS1
Vous pouvez configurer votre PS1 (invite du shell) pour utiliser des couleurs. Par exemple :

PS1='e[33;[email protected]: e[31mWe[0m$ '

Produira une PS1 comme :

[jaune][e-mail protégé] :[rouge]~[normal]$

Vous pouvez devenir vraiment créatif avec cela. En guise d'idée :

PS1='e[se[0;0He[1;33mh    tne[1;32mThis is my computere[u[[email protected]:  w]$ '

Place une barre en haut de votre terminal avec des informations aléatoires. (Pour de meilleurs résultats, utilisez également alias clear="echo -e 'e[2Jnn'" .)

Se débarrasser des séquences d'échappement

Connexes :Résolution d'écran non répertoriée ?

Si quelque chose bloque la sortie de couleur lorsque vous ne le souhaitez pas, j'utilise ce sed ligne pour supprimer les séquences d'échappement :

sed "s/[^[[0-9;]*[a-zA-Z]//gi"

Si vous souhaitez une expérience plus authentique, vous pouvez également vous débarrasser des lignes commençant par e[8m , qui demande au terminal de masquer le texte. (Pas largement pris en charge.)

sed "s/^[^[8m.*$//gi"

Notez également que ces ^[s doivent être des ^[s réels et littéraux. Vous pouvez les saisir en appuyant sur ^V^[ dans bash, c'est-à-dire Ctrl + V , Ctrl + [ .


Linux
  1. Vélocité terminale :se déplacer rapidement dans votre coquille

  2. Enregistrez votre terminal avec script et scriptreplay

  3. La différence d'utilisation entre les variables shell et les variables d'environnement ?

  4. Enregistrer et restaurer vos onglets de terminal ?

  5. Différence entre les commandes dans le script bash et les commandes dans le terminal

Changez le thème de couleur de votre terminal Linux

Apportez de la couleur à votre terminal Linux avec lolcat

Obtenez des notes et des critiques de films directement sur votre terminal

Top 10 des meilleurs thèmes et schémas de couleurs du terminal Ubuntu

Bash Beginner Series #1 :Créez et exécutez votre premier script shell Bash

Quelle est la différence entre une console, un terminal et un shell ?