L'autre jour, un autre utilisateur de Linux et moi parlions des commandes Linux. Il m'a demandé quelle commande Linux j'utilisais le plus. Je lui ai dit que l'une de mes commandes les plus fréquemment utilisées est sudo
. Je l'utilise tous les jours pour installer, mettre à jour, supprimer des packages et d'autres tâches administratives sur ma machine Linux. Je suppose que "sudo"
est la commande la plus fréquemment utilisée par de nombreux utilisateurs de Linux. Si vous vous êtes déjà demandé quelles sont vos commandes les plus utilisées sous Linux, voici comment les trouver.
Rechercher les commandes les plus utilisées sous Linux
Comme vous le savez, le fichier historique (~/.bash_history
) conserve un enregistrement de toutes les commandes que vous exécutez dans le terminal. Vous pouvez facilement trouver les commandes que vous utilisez le plus en vous référant à ce fichier.
Laissez-moi vous montrer les 5 commandes les plus utilisées sur ma machine Linux :
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
Exemple de résultat :
153 sudo 118 pngquant 33 cd 30 ssh 29 exit
Décomposons la commande ci-dessus et voyons ce que fait chaque option.
- Le
"awk '{print $2}'"
La commande imprime la première chaîne du fichier d'historique sans afficher les options et les arguments de la commande. - Le
"sort"
commande classe toutes les lignes par ordre alphabétique. - Le
"uniq -c"
La commande supprime les lignes en double (commandes tapées) et les compte. - Et, le dernier
"sort -nr"
commande affiche les commandes dans l'ordre inverse du nombre de comptage renvoyé par"uniq"
commande.
Attention : Vous pouvez utiliser ExplainShell pour trouver ce que fait chaque partie d'une commande.
Comme vous pouvez le voir, "sudo"
est la commande la plus utilisée et je l'ai utilisée 153 fois. Et "exit
" est la commande la moins utilisée.
J'ai trié le résultat par ordre décroissant (inverse), c'est-à-dire du plus grand au plus petit. Pour afficher la première commande la plus utilisée dans l'ordre croissant (de la plus petite à la plus grande), utilisez plutôt cette commande :
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
Exemple de résultat :
29 exit 30 ssh 33 cd 118 pngquant 153 sudo
Voici une autre version de la même commande qui montre un peu plus de détails :
$ history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | \grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n5 1 177 17.7177% pngquant 2 173 17.3173% vagrant 3 101 10.1101% cd 4 71 7.10711% sudo 5 47 4.7047% ffmpeg
Si vous ne souhaitez pas limiter le nombre de résultats, supprimez simplement le dernier (head
ou tail
) une partie des commandes ci-dessus :
$ history | awk '{print $2}' | sort | uniq -c | sort -nr
Les commandes susmentionnées sont spécifiques à Bash. Si vous êtes sur Fish shell, exécutez :
$ history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5
Maintenant, c'est ton heure. Allez découvrir vos commandes les plus fréquemment utilisées sur votre machine Linux.