- Home »
tail – afișează conținutul unui fișier începând de la sfârșitul acestuia
Comanda tail
este o comandă utilitară în sistemele de operare Unix și Unix-like care afișează conținutul unui fișier începând de la sfârșitul acestuia. Aceasta este folosită în special pentru a afișa ultimele linii ale unui fișier, dar poate fi utilizată și pentru a urmări în timp real adăugarea de conținut la un fișier.
Utilizare și funcționalități
Comanda tail
este folosită pentru a afișa ultimele linii ale unui fișier. Aceasta poate fi utilă într-o varietate de situații, cum ar fi:
- Monitorizarea unui fișier de log în timp real pentru a vedea noile înregistrări adăugate.
- Afișarea ultimelor linii ale unui fișier de jurnal pentru a verifica starea unui sistem sau a unei aplicații.
- Extragerea ultimelor linii ale unui fișier pentru a le utiliza într-un alt proces sau script.
Comanda tail
poate fi utilizată cu diferite opțiuni pentru a controla modul în care este afișat conținutul fișierului. Câteva opțiuni comune includ:
-n
: Specifică numărul de linii pe care să le afișeze de la sfârșitul fișierului. De exemplu,tail -n 10 file.txt
va afișa ultimele 10 linii ale fișieruluifile.txt
.-f
: Urmează în timp real adăugarea de conținut la un fișier. Acest lucru este util pentru monitorizarea unui fișier de log în timp real. De exemplu,tail -f log.txt
va afișa noile înregistrări adăugate la fișierullog.txt
.-c
: Specifică numărul de caractere pe care să le afișeze de la sfârșitul fișierului. De exemplu,tail -c 100 file.txt
va afișa ultimele 100 de caractere ale fișieruluifile.txt
.
Limbaje de programare utilizate
Comanda tail
este scrisă în limbajul de programare C și face parte din pachetul GNU Core Utilities. Acesta este disponibil pe majoritatea sistemelor de operare Unix și Unix-like, inclusiv Linux.
Instalare pe sistemele de operare suportate
Pentru a instala comanda tail
pe sistemele de operare suportate, urmați pașii de mai jos:
Linux
Pe majoritatea distribuțiilor Linux, comanda tail
este deja instalată implicit. Dacă nu este instalată, puteți utiliza managerul de pachete al distribuției pentru a o instala. De exemplu, pe distribuțiile bazate pe Debian, puteți utiliza următoarea comandă:
sudo apt-get install coreutils
macOS
Pe macOS, comanda tail
este disponibilă implicit. Nu este necesară o instalare suplimentară.
Windows
Pe Windows, comanda tail
nu este disponibilă implicit. Cu toate acestea, puteți utiliza un emulator de terminal, cum ar fi Git Bash sau Cygwin, pentru a utiliza comanda tail
într-un mediu similar cu Unix.
Exemple de comenzi
Iată câteva exemple de comenzi tail
și descrierea lor:
Afișarea ultimelor 10 linii ale unui fișier
tail -n 10 file.txt
Această comandă va afișa ultimele 10 linii ale fișierului file.txt
.
Monitorizarea în timp real a unui fișier de log
tail -f log.txt
Această comandă va afișa noile înregistrări adăugate la fișierul log.txt
în timp real.
Afișarea ultimelor 100 de caractere ale unui fișier
tail -c 100 file.txt
Această comandă va afișa ultimele 100 de caractere ale fișierului file.txt
.
Comenzi similare și avantaje
Există și alte comenzi similare cu funcționalități similare cu tail
. Iată câteva exemple:
head
: Afișează primele linii ale unui fișier.cat
: Afișează conținutul complet al unui fișier.grep
: Caută un anumit șablon într-un fișier sau într-o ieșire de la un alt program.
Un avantaj al utilizării comenzii tail
este că aceasta permite monitorizarea în timp real a unui fișier de log și afișarea doar a ultimelor linii, ceea ce poate fi util în situații în care se dorește urmărirea evenimentelor recente.
Exemple de scripturi
Iată câteva exemple de scripturi care utilizează comanda tail
pentru automatizare:
Scriptul 1: Monitorizarea unui fișier de log și trimiterea unei notificări prin e-mail
#!/bin/bash
LOG_FILE="log.txt"
EMAIL="user@example.com"
tail -f "$LOG_FILE" | while read line
do
echo "$line" | grep "ERROR" > /dev/null
if [ $? = 0 ]
then
echo "Error found: $line" | mail -s "Error notification" "$EMAIL"
fi
done
Acest script monitorizează în timp real un fișier de log și caută linii care conțin cuvântul „ERROR”. Dacă se găsește o linie care corespunde, se trimite o notificare prin e-mail către adresa specificată.
Scriptul 2: Afișarea ultimelor linii ale mai multor fișiere
#!/bin/bash
FILES=("file1.txt" "file2.txt" "file3.txt")
for file in "${FILES[@]}"
do
echo "Last 5 lines of $file:"
tail -n 5 "$file"
echo ""
done
Acest script afișează ultimele 5 linii ale mai multor fișiere. Numele fișierelor sunt specificate într-un tablou și se utilizează o buclă pentru a itera prin fiecare fișier și a afișa ultimele linii.
Scriptul 3: Afișarea ultimelor linii ale unui fișier și salvarea într-un alt fișier
#!/bin/bash
INPUT_FILE="input.txt"
OUTPUT_FILE="output.txt"
tail -n 10 "$INPUT_FILE" > "$OUTPUT_FILE"
Acest script afișează ultimele 10 linii ale unui fișier și le salvează într-un alt fișier. Numele fișierelor de intrare și de ieșire sunt specificate în variabile și se utilizează comanda tail
pentru a afișa și redirecționa linii în fișierul de ieșire.
Tabel cu funcții și constante
Funcție/Constantă | Descriere |
---|---|
-n |
Specifică numărul de linii pe care să le afișeze de la sfârșitul fișierului. |
-f |
Urmează în timp real adăugarea de conținut la un fișier. |
-c |
Specifică numărul de caractere pe care să le afișeze de la sfârșitul fișierului. |
Concluzie
Comanda tail
este o unealtă utilă pentru afișarea ultimelor linii ale unui fișier și monitorizarea în timp real a unui fișier de log. Aceasta este scrisă în limbajul de programare C și face parte din pachetul GNU Core Utilities. Comanda tail
este utilizată frecvent de administratorii de sistem, dezvoltatori și utilizatori obișnuiți pentru a verifica starea unui sistem sau a unei aplicații și pentru a urmări evenimente recente. Aceasta poate fi utilă într-o varietate de scenarii și poate fi integrată în scripturi pentru automatizare.