Ci sono due comandi molto utili in Linux che ti permettono di vedere parte di un file. Il primo si chiama head e per impostazione predefinita mostra le prime 10 righe di un file. Il secondo è il comando tail che per impostazione predefinita consente di visualizzare le ultime 10 righe in un file.
Perché dovresti utilizzare uno di questi comandi? Perché non utilizzare semplicemente il comando cat per visualizzare l'intero file o utilizzare un editor come nano?
Immagina che il file che stai leggendo contenga 300,000 righe. Immagina anche che il file occupi molto spazio su disco.
Un uso comune del comando head è assicurarsi che il file che si desidera visualizzare sia effettivamente il file corretto. Di solito puoi capire se stai guardando il file corretto semplicemente vedendo le prime righe. È quindi possibile scegliere di utilizzare un editor come nano per modificare il file.
Il comando tail è utile per visualizzare le ultime righe di file ed è molto utile quando si vuole vedere cosa sta succedendo in un file di registro contenuto nella cartella / var / log.
Esempio di utilizzo
Il comando tail per impostazione predefinita mostra le ultime 10 righe di un file.
La sintassi per il comando tail è la seguente:
coda
Ad esempio, per visualizzare il registro di avvio del sistema, è possibile utilizzare il seguente comando:
sudo tail
L'output sarebbe qualcosa del genere:
Come specificare il numero di righe da mostrare
Specificare il numero di righe che si desidera visualizzare utilizzando il seguente comando:
sudo tail -n20
L'esempio precedente mostrerebbe le ultime 20 righe del file.
In alternativa, puoi usare il -n passare per specificare anche il punto di partenza nel file. Forse sai che le prime 30 righe in un file sono commenti e vuoi solo vedere i dati all'interno di un file. In questo caso, useresti il seguente comando:
sudo tail -n + 20
Il comando tail viene spesso utilizzato insieme a ancora di più in modo da poter leggere il file una pagina alla volta.
Per esempio:
sudo tail -n + 20 <fi
Il comando precedente invia le ultime 20 righe dal nome del file e lo convoglia come input per il comando more.
Puoi anche usare il comando tail per mostrare un certo numero di byte invece di righe:
sudo tail -c20
Usa lo stesso interruttore per iniziare a mostrare da un certo numero di byte come segue:
sudo tail -c + 20
Come monitorare un file di registro
Noterai che abbiamo incluso sudo nella maggior parte dei comandi. Questa inclusione è necessaria solo quando non si dispone delle autorizzazioni come utente normale per visualizzare il file e sono necessarie autorizzazioni elevate.
Molti script e programmi non vengono visualizzati sullo schermo, ma vengono aggiunti a un file di registro durante l'esecuzione. Usa il seguente comando tail per controllare come cambia il registro ogni tanti secondi:
sudo tail -F -s20
Puoi anche usare tail per continuare a monitorare un log finché un processo non muore come segue:
sudo tail -F --pid = 1234
Per trovare l'ID di processo per un processo puoi utilizzare il seguente comando:
ps -ef | grep & l
Ad esempio, immagina di modificare un file utilizzando nano. Puoi trovare l'ID del processo per nano utilizzando il seguente comando:
p
L'output del comando ti darà un ID di processo. Immagina che l'ID del processo sia 1234. Ora puoi eseguire tail sul file modificato da nano utilizzando il seguente comando:
sudo tail -F --pid = 1234
Ogni volta che il file viene salvato in nano, il comando tail prenderà le nuove righe in fondo. Il comando si interrompe solo quando l'editor nano viene chiuso.
Come ritentare il comando tail
Se ricevi un errore durante il tentativo di eseguire il comando tail perché inaccessibile per qualche motivo, puoi utilizzare il riprovare parametro per continuare a riprovare finché il file non è disponibile.
sudo tail --retry -F
Funziona davvero solo in combinazione con -F switch, poiché è necessario seguire il file per riprovare.
sommario
Per trovare maggiori informazioni sul comando tail puoi usare il seguente comando: