====== 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" ---- [[all:bibles:linux:shell|Haut de page]] ===== 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 === PS1="\[\e]0;\h\a\]$PS1" [[https://www.linuxtricks.fr/wiki/personnaliser-le-shell-bash-alias-historique-prompt|Source]] ---- [[all:bibles:linux:shell|Haut de page]] ===== 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 Up effectue une recherche dans l'ensemble de l'historique à partir des éléments déjà tapés (Down 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 ==== [[https://linuxpedia.fr/doku.php/commande/historique]] ---- [[all:bibles:linux:shell|Haut de page]] ===== 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 === & # exécution en arrière plan # 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 # reprend la main sur une commande donnée === Exécuter un script sans prendre en compte les variables d'environnement === env -i