Quand on travaille régulièrement sous Linux, il est intéressant de savoir quelles commandes on utilise le plus souvent. Cela peut vous aider à optimiser vos alias, automatiser certaines tâches ou tout simplement mieux comprendre votre utilisation quotidienne.

Voici la commande à exécuter :

history | awk '{print $2}' | sort | uniq -c | sort -nr | head -10

Explication étape par étape :

  • history : affiche l'historique des commandes que vous avez tapées dans votre terminal
  • awk '{print $2}' : avec awk, on récupère uniquement la deuxième colonne, qui correspond à la commande (le premier mot)
  • sort : trie toutes les commandes par ordre alphabétique
  • uniq -c : compte les occurrences de chaque commande
  • sort -nr : trie numériquement (-n) et en ordre décroissant (-r), pour avoir les plus fréquentes en premier
  • head -10 : affiche uniquement les 10 premières lignes, soit les 10 commandes les plus utilisées

Exemple de retour :

 150 ls
 120 cd
  90 git
  85 vim
  60 docker

Vous pouvez aussi modifier la commande pour compter non seulement le premier mot, mais toute la ligne de commande (exemple : git status vs git pull). Dans ce cas, remplacez awk '{print $2}' par awk '{$1=""; print $0}'. Ce qui donne :

history | awk '{$1=""; print $0}' | sort | uniq -c | sort -nr | head -10

Exemple de retour :

  50  git status
  40  git pull
  30  docker compose up -d
  28  sudo apt update