Tips en Trucs 2022

Jouw meest gebruikte opdrachten

Laatst waren een mede Linux gebruiker en ik aan het discussiëren over Linux opdrachten. Hij vroeg me welke Linux opdracht ik het meest gebruik. Ik vertelde hem dat één van mijn meest gebruikte opdrachten sudo is. Ik gebruik het elke dag om pakketten te installeren, op te waarderen, te verwijderen en andere administratieve taken op mijn Linux systemen. Ik denk dat sudo de meest gebruikte opdracht is van veel Linux gebruikers. Als je je ooit afgevraagd hebt wat je meest gebruikte opdrachten in Linux zijn, hier is hoe je ze kan vinden.

Zoals je weet, houdt het history bestand (~/.bash_history) een lijst bij van alle opdrachten die je in de Terminal uitvoert. Je kunt gemakkelijk achterhalen welke opdrachten je het meest gebruikt door dit bestand te raadplegen.

Je kunt de top 5 meest gebruikte opdrachten op jouw Linux systeem weergeven met:

dany@pindabook:~> history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
     29 sudo
     18 echo
     11 exit
     10 cat
      9 ls

Laten we de bovenstaande opdracht opsplitsen en kijken wat elke optie doet.

Zoals je kan zien, is sudo de meest gebruikte opdracht en ik heb het 29 keer gebruikt. En ls is de minst gebruikte opdracht.

We hebben het resultaat in aflopende volgorde (omgekeerd) gesorteerd, d.w.z. van grootste naar kleinste. Om de meest gebruikte opdrachten in oplopende volgorde weer te geven (van klein naar groot), gebruik je:

dany@pindabook:~> history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
      9 ls
     10 cat
     11 exit
     18 echo
     29 sudo

Nog een andere versie van dezelfde opdracht laat extra details zien:

dany@pindabook:~> 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  29  17.3653%   sudo
     2  18  10.7784%   echo
     3  11  6.58683%   exit
     4  10  5.98802%   cat
     5  9   5.38922%   ls

Als je het aantal resultaten niet wilt beperken, verwijder je gewoon het laatste (head of tail) deel van de bovenstaande opdrachten:

dany@pindabook:~> history | awk '{print $2}' | sort | uniq -c | sort -nr
     29 sudo
     18 echo
     11 exit
     10 cat
      9 ls
      8 rm
      7 find
      6 scrot
      6 ln
      5 wget
      5 vidir
      5 killall
      5 history
      5 EDITOR=nano
      4 java
      4 ifdata
      3 ps
      3 ping
      3 GDK_SCALE=2
      2 /usr/lib64/jvm/java-17-openjdk-17/bin/java
      2 sort
      2 combine
      1 zypper
      1 touch
      1 su
      1 shortwave
      1 sh
      1 man
      1 kill
      1 ip
      1 GDK_SCALE=1.5
      1 GDK_DPI_SCALE=1
      1 GDK_DPI_SCALE=0.5
      1 du
      1 df
      1 chronic
      1 cd
      1 blanket

Opgelet: deze opdrachten werken enkel correct in een Bash shell (terminal).

Top 5 history