Basis van Linux en de opdrachtregel

$ cat ips.txt
10.0.0.5
10.0.0.9
10.0.0.9
10.0.0.5
10.0.0.2
10.0.0.5
$ sort ips.txt | uniq -c | sort -nr | head -n 1

In de keuzemogelijkheden zijn de spaties aan het begin van de regel weggelaten. Welke regel drukt de laatste pipeline in de bovenstaande sessie af?

  1. A1 10.0.0.2
  2. B2 10.0.0.9
  3. C3 10.0.0.5
Antwoord en toelichting tonen

Antwoord: C. 3 10.0.0.5

sort zet de regels zo op volgorde dat gelijke regels naast elkaar staan, en uniq -c voegt naast elkaar staande gelijke regels samen en zet er het aantal voor, wat de drie regels 3 10.0.0.5, 2 10.0.0.9 en 1 10.0.0.2 geeft. sort -nr sorteert op het getal vooraan in aflopende volgorde, en head -n 1 neemt de eerste regel, dus de uitvoer is 3 10.0.0.5. uniq voegt alleen „naast elkaar staande” gelijke regels samen, dus eerst sorteren is onmisbaar. Commando's zo met een pipe aan elkaar koppelen is een standaardmanier om in een log de IP-adressen met de meeste toegangen of de vaakst voorkomende fouten te tellen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van Linux en de opdrachtregel

  1. Je wilt regels die later aan het logbestand /var/log/app.log van een server worden toegevoegd, telkens op het scherm blijven tonen zodra ze worden toegevoegd. Welk commando is geschikt?
  2. Wat is de uitvoer van het bovenstaande commando, dat kolommen uit een door komma's gescheiden regel haalt?
  3. Wat is de uitvoer van het bovenstaande sed-commando, dat tekens vervangt?
  4. Wat drukt de laatste awk in de bovenstaande sessie af?
  5. Welke beschrijving van de bestanden die worden gevonden als „find /data -name "*.log" -mtime +7 -size +100M” met GNU find wordt uitgevoerd, is juist?