Ga naar inhoud

πŸ“„ Het tail Commando in Linux

In deze handleiding leer je hoe je tail gebruikt op een Linux-systeem.

Het commando tail wordt gebruikt om de laatste regels van een bestand of output te bekijken.
Het is handig om snel recente wijzigingen in logbestanden of andere bestanden te controleren, zonder het hele bestand te hoeven openen.

Achtergrondinformatie

Het commando tail is standaard aanwezig op vrijwel alle Unix/Linux-systemen.

  • Standaard toont tail de laatste 10 regels van een bestand.
  • Je kunt het aantal regels aanpassen met de optie -n.
  • tail wordt vaak gebruikt in combinatie met andere commando’s via pipes (|) om het einde van de uitvoer te inspecteren.
  • Met de -f optie kun je een bestand realtime volgen, wat ideaal is voor logbestanden.

Controleren of tail aanwezig is

Het tail-commando staat bijna altijd standaard op je systeem geΓ―nstalleerd.

Wil je controleren of tail aanwezig is, dan kun je de versie opvragen:

tail --version
Voorbeeldoutput
tail (GNU coreutils) 9.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

βš™οΈ Installeren van tail

Het commando tail maakt deel uit van het pakket GNU coreutils.
Daarom is het op vrijwel alle Linux-distributies standaard geΓ―nstalleerd, inclusief Debian en Ubuntu.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install coreutils

Voorbeeldoutput
tail (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Hieronder vind je enkele veelgebruikte combinaties van het tail-commando:

  • tail bestand.txt β†’ Toon de laatste 10 regels van een bestand
Voorbeeld gebruik van tail bestand.txt

Commando:

tail bestand.txt
Voorbeeldoutput:
# Laatste 10 regels van bestand.txt worden weergegeven

  • tail -n 20 bestand.txt β†’ Toon de laatste 20 regels van een bestand

  • tail -c 100 bestand.txt β†’ Toon de laatste 100 bytes van een bestand

  • command | tail β†’ Bekijk de laatste regels van de uitvoer van een commando

  • -f bestand.txt β†’ Volg het bestand realtime (handig voor logbestanden)
  • --follow=name β†’ Volg bestand met naam, ook bij herstart van logrotatie
  • -q β†’ Toon meerdere bestanden zonder kopteksten
  • -v β†’ Toon altijd kopteksten bij meerdere bestanden
  • -n +N β†’ Toon vanaf regel N tot het einde van het bestand

Het tail-commando heeft zelf geen configuratie, maar je kunt aliassen maken voor standaardgedrag.

1. Per gebruiker instellen

Voeg dit toe aan ~/.bashrc:

alias tail10='tail -n 10'
alias tailf='tail -f'

2. System-wide instellen

Plaats dezelfde alias in /etc/bash.bashrc of /etc/profile

Logging van het tail-commando

Het tail-commando schrijft zelf geen logbestanden weg.
Wil je gebruik van tail monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /usr/bin/tail -p x -k tail_monitor
  • -w /usr/bin/tail β†’ bewaak het bestand tail
  • -p x β†’ log bij uitvoeren
  • -k tail_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k tail_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Coreutils en het tail-commando

Het tail-commando maakt deel uit van coreutils.
Je kunt tail dus niet apart updaten, alleen het hele pakket.

sudo apt update
sudo apt install --only-upgrade coreutils

Verwijderen van tail

Het tail-commando is een fundamenteel hulpmiddel in Linux.
Verwijderen kan scripts of workflows beΓ―nvloeden die afhankelijk zijn van het lezen van het einde van bestanden.

Voorbeeld alias om tail te blokkeren:

alias tail='echo "tail is uitgeschakeld"'

Permissies aanpassen:

sudo chmod 700 /usr/bin/tail
(Alleen root kan het uitvoeren)

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor tail:

man tail
Voorbeeld
TAIL(1)                     User Commands                     TAIL(1)

NAME
       tail - output the last part of files

SYNOPSIS
       tail [OPTION]... [FILE]...

DESCRIPTION
       Print the last 10 lines of each FILE to standard output by default.