Skip to content

Instantly share code, notes, and snippets.

@RemiEven
Last active May 13, 2016 13:48
Show Gist options
  • Save RemiEven/032f99a0ec28dca4f32b547b73e06f06 to your computer and use it in GitHub Desktop.
Save RemiEven/032f99a0ec28dca4f32b547b73e06f06 to your computer and use it in GitHub Desktop.
Quelques raccourcis/commandes bash utiles

Quelques raccourcis/commandes bash utiles

Utilisation de l'historique

  • Ctrl-r (reverse-i-search), puis Esc ou Enter
  • Aller dans l'autre sens : Ctrl-s
    • Il faut lancer stty -ixon (commande qui désactive XON/XOFF)
  • annuler la recherche en cours : Ctrl-g
  • aller à la dernière commande de l'history : MetaKey->
  • aller à la première commande de l'history : MetaKey-<
  • (MetaKey : pour moi, Alt)
  • !N : dernière commande avec l'event designator N -> les "ids" donnés par history
  • !comm : dernière commande qui commence par "comm"
  • !?word? : dernière commande qui contient le mot "word"
  • ne pas sauver la commande en train d'etre écrite dans l'historique : la préfixer par un espace

Réutiliser la commande précédente

  • !! : la dernière commande

    • sudo !!
  • !:1 ( = !^) : 1er arg de la commande précedente

  • !:2 : 2e arg de la commande précedente

    git diff src/main/java/file.java
    git add !:2
    
  • !$ : dernier token de la commande précedente

  • !:* : tous les args de la commande précedente

    mvb clean install
    mvn !:*
    
  • !:- : complémentaire de !$
  • !:2-4 : args 2, 3 & 4 de la commande précedente

Déplacement dans l'arborescence

  • cd - : cd $OLDPWD revenir dans le précédent pwd
  • pushd [dir], popd[dir] gérer une stack de paths

Ecrire une commande

  • Ctrl-a : curseur en début de commande
  • Ctrl-e : curseur en fin de commande
  • Ctrl-u : couper la commande en train d'etre écrite (dans un press-papier dédié) (en fait, jusqu'à la position du curseur)
  • Ctrl-y : coller la commande précédement coupée
  • Ctrl-k : couper depuis la position du curseur
  • Ouvrir la commande en train d'etre tapée dans un éditeur de texte : Ctrl-x Ctrl-e
  • Ouvrir la dernière commande dans un éditeur de texte : fc (Fix Command)

Divers

Nettoyer l'affichage
  • Ctrl-l : clear l'écran
  • différences avec clear :
  • pas de "pollution" d'historique
  • plus rapide à taper
  • parfois marche sur des terminaux où clear n'est pas présent (ex: mongo shell)
  • reset : pour vraiment TOUT nettoyer
Utiliser des sous-commandes
  • $() (spécifique bash) : mieux que `` (plus clair, imbrication)
Factorisation
  • bash expansion : {}

mv file.{tt,txt}

echo {0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}

Divers divers
  • $0 : affiche le shell utilisé

  • $?: code de retour de la dernière commande

  • Ctrl-d : EOF (quitte le shell)

  • watch : répeter régulièrement une commande et voir l'output

  • pidof : trouver le pid d'une commande (voir aussi : pgrep, pkill)
  • pour bypasser alias : \command
alias cd="echo"
alias ls="echo \"No.\""
alias dir="echo \"Still no.\""
alias unalias="clear"
alias alias="echo \"I don't want to \""
alias bash="cd -"

Sources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment