Nel nostro tutorial precedente, abbiamo esaminato il comando head di Linux e i suoi utilizzi di esempio. Il comando di coda è il complementare del comando di testa. Legge e stampa le ultime N righe in un file. Senza alcuna opzione di comando, stampa le ultime 10 righe in un file di testo. In questa guida, ci concentreremo sul comando tail ed esploreremo le varie opzioni fornite con il comando.
Il comando tail accetta la seguente sintassi:
$ tail [opzioni] file/i
1) Visualizza le ultime 10 righe di un file
Come sottolineato in precedenza, il comando tail, senza alcun argomento, visualizzerà le ultime 10 righe di un file. Abbiamo un file di esempio chiamato asian_countries.txt:contiene un elenco di paesi nel continente asiatico.
Per elencare gli ultimi 10 paesi nel file, esegui il comando:
$ tail asian_countries.txt
2) Visualizza le ultime N righe in un file
Si supponga di voler visualizzare un numero specifico di righe e non le 10 righe predefinite. Per ottenere ciò, usa il flag -n seguito dal numero di righe.
Ad esempio, per visualizzare le ultime 5 righe. Per farlo, invoca il comando:
$ tail -n 5 asian_countries.txt
3) Stampa l'intestazione del nome del file
Per aggiungere un tag di intestazione che corrisponda al nome del file, utilizzare l'opzione -v come segue:
$ tail -v asian_countries
Nell'esempio seguente, viene stampato prima il tag asian_countries seguito dalle ultime dieci righe del file,
4) Visualizza le ultime n righe da più file
Inoltre, puoi elencare le ultime N righe di più file usando la sintassi seguente:
$ tail -n 5 file_1 file_2
Abbiamo un altro file chiamato europe_countries.txt che contiene un elenco di paesi europei. Per stampare le ultime 5 righe nei file di testo asian_countries.txt e europe_countries.txt, esegui il comando:
$ tail -n 5 asian_countries.txt europe_countries.txt
Questa volta, nota la demarcazione del contenuto dei due file utilizzando l'intestazione del nome del file che abbiamo menzionato nel passaggio precedente. Quando si visualizzano contenuti da più file, i nomi dei tag vengono aggiunti automaticamente per una migliore presentazione.
Se desideri eliminare le intestazioni dei nomi dei file nell'output del comando tail, usa l'opzione '-q', l'esempio è mostrato di seguito:
$ tail -q -n 5 asian_countries.txt europe_countries.txt
5) Salva l'output del comando tail in un file di testo
Se non hai molto tempo per visualizzare l'output e preferisci, invece, visualizzarlo in un secondo momento, puoi salvarlo su un file di testo utilizzando l'operatore di reindirizzamento maggiore di (> ).
Ad esempio, per salvare l'output delle ultime 5 righe contenute nel file asian_countries.txt nel file di testo output.txt invocare il comando.
$ tail -n 5 asian_countries.txt > output.txt
NOTA:il segno maggiore di (> ) sovrascrive il file se utilizzato per una volta successiva utilizzando lo stesso file. Il contenuto originale viene sovrascritto e il nuovo contenuto viene scritto.
Per aggiungere o aggiungere output, utilizzare il segno doppio maggiore di (>> ). Questo aggiunge l'output al file invece di sovrascriverlo.
Ad esempio, per aggiungere le ultime 5 righe del file europe_countries.txt al file output.txt, esegui il comando:
$ tail -n 5 europe_countries.txt >> output.txt
Usando il comando cat, puoi vedere che il file di output ora contiene i dati di entrambi i file.
6 ) Usa l'opzione -f per monitorare i file di registro in tempo reale
Quando viene utilizzato con l'opzione -f, il comando tail viene utilizzato principalmente dagli amministratori di sistema per monitorare i file di registro in tempo reale. Ad esempio, per monitorare il file di registro Syslog in tempo reale, eseguire il comando seguente. Noterai alcuni output di registro nella parte inferiore del terminale ogni pochi secondi.
$ sudo tail -f /var/log/syslog
Usa l'opzione '-F' nel comando tail quando vuoi continuare a monitorare il file di registro anche durante la sua rotazione. Quando il file viene ruotato, il comando tail inizierà automaticamente a stampare le righe dal nuovo file se utilizziamo l'opzione '-F'.
$ sudo tailf -F /var/log/syslog
7) Usare il comando tail con i tubi
In Linux, le pipe forniscono un modo interessante per elaborare il testo. Con il comando tail, puoi reindirizzare l'output e modificare ulteriormente ciò che verrà visualizzato. Ad esempio, puoi ordinare l'output in ordine alfabetico come segue:
$ tail asian_countries.txt | sort
Puoi anche utilizzare più istruzioni pipe, ad esempio:
$ cat asian_countries.txt | tail -n 5 | sort
Quindi, cosa fa il comando sopra? Innanzitutto, il comando cat stampa il contenuto del file di testo asian_countries.txt. Le informazioni vengono inviate al comando tail che stampa le ultime cinque righe. Infine, le informazioni vengono ordinate in ordine alfabetico dal comando di ordinamento.
8) Stampa N numero di byte di dati da un file
Usando l'opzione '-c' nel comando tail, possiamo stampare n numero di byte di dati da un file.
$ tail -c 400 /var/log/kern.log
Il comando above tail visualizzerà 400 byte di dati dalla parte inferiore del file.
Possiamo anche stampare i dati in KB e MB utilizzando i parametri "K" e "M", l'esempio è mostrato di seguito
$ tail -c 4k /var/log/kern.log $ tail -c 4M /var/log/kern.log
9 ) Ottieni aiuto con le opzioni del comando tail
Per ottenere aiuto con più opzioni del comando tail, esegui il comando:
$ tail --help
In alternativa, puoi visitare le pagine man come mostrato:
$ man tail
10) Controlla la versione del comando tail
Infine, per verificare la versione del comando tail, eseguire:
$ tail --version
Questo è tutto da questa guida. Spero che lo trovi informativo. Si prega di condividere feedback e commenti.