Table des matières
Shell Unix
Configuration clavier
Ubuntu
Définition clavier
/etc/default/keyboard
XKBMODEL="pc105" XKBLAYOUT="fr" XKBVARIANT="oss" XKBOPTIONS="" BACKSPACE="guess"
Caractères spéciaux
| CapsLockç | Ç |
| CapsLockà | À |
| CapsLocké | É |
| CapsLockè | È |
| AltGr+W | « |
| AltGr+X | » |
| AltGr+A | ae |
| AltGr+O | œ Œ |
Redhat/CentOS (à partir de 7)
Vérification de la configuration
localectl status
Passer en clavier azerty de façon temporaire
loadkeys fr
Passer en clavier azerty de façon permanente
localectl set-keymap fr
Redhat/CentOS (jusqu'à 6)
/etc/sysconfig/keyboard
KEYTABLE="fr-latin9" MODEL="pc105" LAYOUT="fr" KEYBOARDTYPE="pc" VARIANT="latin9"
/etc/sysconfig/i18n
LANG="fr_FR.UTF-8" SYSFONT="latarcyrheb-sun16"
Prompt
Définition
bash
Fichier .bashrc
PS1='\[\e[1;40m\]\[\e[1;31m\][\h]\[\e[1;36m\]\!\[\e[1;33m\]\w >\[\e[0;32m\] '
sh
Fichier .cshrc
set prompt="%{\033[0;33;40m%}[${PWV}]%{\033[0;32;40m%}`pwd`%# %{\033[0m%}"
tcsh/csh
Fichier .tcshrc
set prompt="%{\033[1;31;40m%}[%M]%{\033[1;32;40m%}%h%{\033[1;33;40m%}%B%~%b %# %{\033[1;32;40m%}"
Paramètres
| Information | tcsh | bash |
|---|---|---|
| Nom de la machine | %m | \h |
| Nom de l’utilisateur | %n | \u |
| Répertoire courant | %c | \W |
| Répertoire courant (chemin complet) | %/ | \w |
| Numéro de la commande dans l’historique | %h | \! |
| Répertoire courant avec le ~ pour le dossier de l’utilisateur | %~ | |
| $ pour les utilisateur et # pour root | \$ |
Couleurs
Format
Définition des couleurs sous la forme : \e[<1>;<2>;<3>m
| <1> | format de la police |
| <2> | couleur texte |
| <3> | couleur fond |
Police
| Normal | 0 | ||
| Gras | 1 | Non gras | 21 |
| Souligné | 4 | Non souligné | 24 |
| Clignotant | 5 | Non clignotant | 25 |
| Inversé | 7 | Non inversé | 27 |
Codes couleurs
| Couleur | Texte | Fond | Couleur | Texte | Fond |
|---|---|---|---|---|---|
| Noir | 0;30 | 0;40 | Gris | 1;30 | 1;40 |
| Rouge | 0;31 | 0;41 | Rose | 1;31 | 1;41 |
| Vert | 0;32 | 0;42 | Vert clair | 1;32 | 1;42 |
| Jaune | 0;33 | 0;43 | Jaune clair | 1;33 | 1;43 |
| Bleu | 0;34 | 0;44 | Bleu clair | 1;34 | 1;44 |
| Violet | 0;35 | 0;45 | Violet clair | 1;35 | 1;45 |
| Cyan | 0;36 | 0;46 | Cyan clair | 1;36 | 1;46 |
| Gris clair | 0;37 | 0;47 | Blanc | 1;37 | 1;47 |
Valeur par défaut
\e[0m : couleur par défaut du shell
Exemple
PS1='\[\e[1;36;40m\][\u@\h]\[\e[1;33;40m\]\w >\[\e[0;32;40m\] ' # affiche user@host en gras cyan sur fond noir puis le répertoire courant en gras jaune sur fond noir puis les commandes en vert sur fond noir
Titre du terminal
Il est possible de définir le titre du terminal via la variable du prompt
PS1="\[\e]0;titre du terminal\a\]$PS1"
Afficher le nom du host dans le titre du terminal
Historique des commandes
Afficher l'historique
history # affiche l'historique complet history 10 # affiche les 10 dernières commandes
Faire une recherche dans l'historique
Appuyer sur la séquence de touches CTRLR
Effacer une commande
history -d 150 history -c # purge tout l'historique de commande
Exécuter une commande
Exécuter la dernière commande
!!
Exécuter une commande par son numéro dans l'historique
!150
Exécuter la dernière commande commençant par
!vi
Exécuter la dernière commande contenant un chaîne de caractères
!?chaine?
Exécuter une commande avec substitution
^recherche^substitution # exécute la dernière commande en remplaçant la première occurrence de recherche par substitution !150:s/recherche/substitution # exécute la commande 150 en remplaçant la première occurrence de recherche par substitution !150:gs/recherche/substitution # exécute la commande 150 en remplaçant toutes les occurrences de recherche par substitution
Utiliser les paramètres d'une commande précédente
mkdir a b c d # création des répertoires a b c et d rmdir !:2-3 # on utilise le 2° et 3° paramètre de la commande précédente, on supprime b et c
Personnaliser l'historique
Recherche dans l'historique avec les touches Up et Down
Ajouter dans le fichier ~/.bashrc les 2 lignes suivantes :
shopt -s histappend PROMPT_COMMAND='history -a'
“histappend” permet également d'enregistrer dans l'historique les commandes des différents shell qui seraient utilisés simultanément et pas seulement celles du dernier shell utilisé.
Créer ou ajouter les 2 lignes au fichier ~/.inputrc
"\e[A": history-search-backward "\e[B": history-search-forward
Si un début de commande est tapé, la touche ↑ effectue une recherche dans l'ensemble de l'historique à partir des éléments déjà tapés (↓ effectue la recherche en arrière).
Taille de l'historique
Définir la variable suivante dans le fichier ~.bashrc pour conserver un historique de 5000 commandes (par défaut 500, défini à 1000 dans Ubuntu)
export HISTSIZE=5000
Ajouter un timestamp
export HISTTIMEFORMAT="%F %T "
Eviter les doublons
export HISTCONTROL=ignoreboth:erasedups
Source
Divers
Déplacements
| CtrlA | Début de ligne |
| CtrlE | Fin de ligne |
| CtrlR | Recherche dans les commandes précédentes |
| AltB | Déplacement mot précédent (backward) |
| AltF | Déplacement mot suivant (forward) |
| EscBackSpace | Effacer mot précédent |
Version OS
Debian/Ubuntu
cat /etc/os-release lsb_release -a
Redhat/CentOS
cat /etc/redhat-release cat /etc/os-release
Fedora
cat /etc/issue
Solaris
cat /etc/release
Type de shell
Le type de shell (spécifié lors de la création de l'utilisateur) peut-être retrouvé dans le fichier /etc/passwd ou directement en exécutant la commande :
echo $0
Bannière de login
Modifier le fichier /etc/motd pour changer la bannière de login.
Créer un fichier sans vi
cat << tagFIN > nomdufichier
taper les lignes au fur et à mesure en finissant par la dernière : tagFIN
Définitions couleurs pour ls
- Rediriger les couleurs par défaut dans un fichier.
dircolors -p > ~/.ls_couleur
- Modifier le fichier en question. Par exemple remplacer DIR 01;34 (gras bleu pour les répertoires) par DIR 00;35 (normal, violet). Il est également possible de combiner les couleurs de fond.
- Prise en compte (à ajouter dans son fichier .cshrc)
eval `dircolors ~/.ls_couleur`
Effacer un fichier qui commence par un -
rm -- -fichier
Exécution
Arrière plan
<commande> & # exécution en arrière plan <CTRL><Z> # passe en arrière plan la commande en cours d'exécution jobs # liste les commandes en arrière plan fg # reprend la main sur la dernière commande lancée en arrière plan fg <numéro de commande> # reprend la main sur une commande donnée
Exécuter un script sans prendre en compte les variables d'environnement
env -i <script à exécuter>
Il est possible d'initialiser quelques variables lors de l'appel :
env -i VAR1=valeur1 ENV2=valeur2 <script à exécuter>
