72 points par GN⁺ 2026-03-27 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Récapitulatif de différentes combinaisons de raccourcis clavier et de commandes pour gagner en vitesse et en efficacité dans un environnement shell
  • Les raccourcis de base comme CTRL + W, U, K, Y servent à l’édition de ligne, CTRL + A/E, ALT + B/F au déplacement du curseur, et reset permet de restaurer le terminal
  • Dans Bash et Zsh, CTRL + R permet de rechercher dans l’historique des commandes, !!·!$·ESC+. de réutiliser des commandes précédentes, et Brace Expansion ainsi que Globstar d’automatiser les tâches répétitives
  • Des fonctions avancées comme Process Substitution, tee, bg/disown améliorent l’efficacité du contrôle des processus et de la gestion des logs
  • Si l’on maîtrise le shell comme une boîte à outils familière, on gagne en productivité et en concentration ; l’essentiel est d’adopter les raccourcis un par un jusqu’à en faire une habitude

Raccourcis et fonctions de base qui marchent dans presque tous les shells

  • La combinaison CTRL + W, U, K, Y est un ensemble de raccourcis d’édition de ligne qui permet de supprimer ou restaurer rapidement des mots ou des portions de ligne selon la position du curseur

    • CTRL + W supprime le mot situé avant le curseur
    • CTRL + U coupe depuis le curseur jusqu’au début de la ligne, et CTRL + Y permet de recoller
    • CTRL + K coupe depuis le curseur jusqu’à la fin de la ligne
    • CTRL + A / E permet d’aller au début ou à la fin de la ligne, ALT + B / F de se déplacer mot par mot en arrière ou en avant
    • Ces raccourcis sont activés par défaut dans la plupart des terminaux ; sur Mac, il faut configurer la touche Option comme Meta pour qu’ils fonctionnent
    • Les commandes reset ou stty sane permettent de restaurer le terminal lorsqu’un fichier binaire l’a corrompu par erreur à l’affichage
    • Même si l’écran est illisible, la saisie reste possible : tapez reset puis Entrée pour restaurer l’affichage
    • CTRL + C / D servent respectivement à interrompre une commande et à envoyer un signal EOF (fin de fichier)
    • Si l’on appuie sur CTRL + D sur une invite vide, cela ferme le shell
    • CTRL + L équivaut à la commande clear pour nettoyer immédiatement l’écran
    • Cela replace aussi l’invite tout en haut de l’écran tout en conservant la commande en cours de saisie
    • cd - permet de revenir immédiatement au répertoire précédent, et pushd / popd permettent de naviguer entre plusieurs emplacements via une pile de répertoires
    • > file.txt vide un fichier sans le supprimer, ce qui préserve les permissions et le propriétaire
    • La variable $_ permet de réutiliser le dernier argument de la commande précédente
    • Exemple : mkdir -p /path/newdir && cd "$_"
    • set -e, set -u sont des options qui renforcent la sécurité des scripts
    • set -e provoque un arrêt immédiat en cas d’erreur
    • set -u déclenche une erreur lorsqu’une variable non définie est référencée
    • La combinaison set -euo pipefail offre une protection plus robuste

Raccourcis et fonctions avancés dans Bash et Zsh

  • CTRL + R effectue une recherche incrémentale inversée dans l’historique des commandes
    • En saisissant un mot-clé, on peut retrouver immédiatement une commande passée et la réutiliser
  • !! relance intégralement la commande précédente
    • sudo !! permet de relancer la commande précédente avec les droits administrateur
  • CTRL + X, CTRL + E ouvre la commande en cours de saisie dans l’éditeur par défaut (Vim, Nano, etc.) pour modification puis exécution
    • Dans Zsh, une configuration séparée est nécessaire
    • La commande fc est la méthode traditionnelle pour ouvrir une commande précédente dans $EDITOR et la modifier
  • ESC + . ou ALT + . insère à la position du curseur le dernier argument de la commande précédente
    • En répétant le raccourci, on peut faire défiler les arguments de commandes encore plus anciennes
    • !$ fournit la même fonction en mode non interactif
  • Brace Expansion est une fonction d’expansion avec accolades qui réduit les saisies répétitives

    • cp pf.conf{,.bak}cp pf.conf pf.conf.bak
    • mv filename.{txt,md}mv filename.txt filename.md
    • mkdir -p project/{src,tests,docs} crée plusieurs répertoires à la fois
    • Process Substitution <(command) traite la sortie d’une commande comme s’il s’agissait d’un fichier
    • Exemple : diff <(sort file1.txt) <(sort file2.txt) permet une comparaison sans fichier temporaire
    • Globstar(**) permet de rechercher récursivement des fichiers dans les sous-répertoires
    • Dans Bash, on l’active avec shopt -s globstar, alors que dans Zsh il est activé par défaut
    • Exemple : ls **/*.js cherche les fichiers JS dans tous les sous-dossiers
  • La combinaison CTRL + Z, bg, disown permet d’exécuter un processus en arrière-plan puis de le détacher du shell

    • CTRL + Z pour suspendre → bg pour reprendre en arrière-plan → disown pour le détacher du shell
    • Le processus peut ainsi continuer même après la fermeture de la session SSH
    • command |& tee file.log envoie à la fois la sortie standard (stdout) et la sortie d’erreur (stderr) dans un pipe
    • |& est la forme abrégée de 2>&1 |
    • Avec tee, on peut à la fois afficher la sortie à l’écran et l’enregistrer dans un log

Conseils essentiels pour bien exploiter le shell

  • Le shell est une boîte à outils et, lorsqu’on le maîtrise bien, il peut fortement améliorer la productivité
  • Il est plus efficace d’adopter les raccourcis un par un que de vouloir tous les apprendre d’un coup
  • Réduire les saisies répétitives et la frappe inutile permet de simplifier le flux de travail
  • Une fois à l’aise, le terminal n’est plus un obstacle mais votre propre espace de travail

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.