El Linux tail
Il comando visualizza i dati dalla fine di un file. Può persino mostrare gli aggiornamenti aggiunti a un file in tempo reale. Ti mostriamo come usarlo.
Sistema Kill Tail?
il tail
Il comando visualizza i dati dalla fine di un file. Generalmente, nuovi dati vengono aggiunti alla fine di un file, affinché tail
Il comando è un modo semplice e veloce per vedere le aggiunte più recenti a un file. Puoi anche monitorare un file e visualizzare ogni nuova voce di testo in quel file non appena si verifica.. Questo lo rende un ottimo strumento per monitorare i file di registro..
Molte moderne distribuzioni Linux hanno adottato il systemd
Responsabile Sistemi e Servizi. Questa è la prima procedura eseguita, avere ID processo 1ed è il genitore di tutti gli altri processi. Questo ruolo era gestito da anziani init
sistema.
Insieme a questo cambiamento, è arrivato un nuovo formato per i file di registro di sistema. Non più creato in testo normale, Su systemd
sono registrati in formato binario. Per leggi questi file di registro, deve usare il journactl
utilità. il tail
Il comando funziona con formati di testo normale. Non legge i file binari. Quindi, ciò significa che tail
Il comando è una soluzione alla ricerca di un ostacolo? Hai ancora qualcosa da offrire?
C'è di più tail
comando per mostrare gli aggiornamenti in tempo reale. E in realtà, ci sono ancora molti file di registro che non sono generati dal sistema e sono ancora creati come file di testo normale. Come esempio, file di registro generati da Applicazioni non hanno cambiato formato.
Usando la colla
Passa il nome di un file a tail
e ti mostrerà le ultime dieci righe di quel file. I file di esempio che stiamo utilizzando contengono elenchi di parole ordinate. Ogni riga è numerata, quindi dovrebbe essere facile seguire gli esempi e vedere che effetto hanno le varie opzioni.
coda word-list.txt
Per visualizzare un numero diverso di righe, usa el -n
(numero di righe) opzione:
coda -n 15 lista-parole.txt
In realtà, puoi fare a meno della "-n" e usare un trattino "-" e il numero. Assicurati che non ci siano spazi tra di loro. tecnicamente, questo è un modulo di comando deprecato, ma è ancora in pagina mane funziona ancora.
coda -12 lista-parole.txt
Usare tail con molti file
Puoi avere tail
lavorare con molti file contemporaneamente. Basta passare i nomi dei file nella riga di comando:
coda -n 4 lista-1.txt lista-2.txt lista-3.txt
Viene visualizzata una piccola intestazione per ogni file in modo da sapere a quale file appartengono le righe.
Visualizzazione delle righe dall'inizio di un file
il +
(contare dall'inizio) il modificatore fa tail
mostra le righe dall'inizio di un file, a partire da un numero di riga specifico. Se il tuo file è molto lungo e scegli una riga vicino all'inizio del file, riceverai molti risultati inviati alla finestra del terminale. Se è il caso, ha senso canalizzare l'uscita di tail
entro less
.
coda +440 list-1.txt
Puoi sfogliare il testo in modo controllato.
Perché ci sono 20,445 righe in questo file, questo comando è simile all'utilizzo dell'opzione “-6”:
coda +20440 list-1.txt
Utilizzo di byte trascinati
Si può dire tail
usare gli offset in byte invece delle linee usando il -c
(byte) opzione. Questo può essere utile se hai un file di testo formattato in record di dimensioni normali. Nota che un carattere di nuova riga conta come un byte. Questo comando visualizzerà l'ultima 93 byte di file:
coda -c 93 list-2.txt
Puoi combinare il -c
(byte) opzione con il +
(conta dall'inizio del file) e specificare un offset in byte contati dall'inizio del file:
coda -c +351053 list-e.txt
Tubo nella coda
In precedenza, canaliamo l'uscita di tail
entro less
. Possiamo anche incanalare l'output di altri comandi su tail
.
Per identificare i cinque file o cartelle con i tempi di modifica più vecchi, Utilizzare il -t
(ordina per ora di modifica) opzione con ls
e convogliare l'uscita a tail
.
ls -tl | coda -5
il head
comando elenca le righe di testo dall'inizio di un file. Possiamo combinare questo con tail
per estrarre una sezione del file. Qui, stiamo usando il head
comando per estrarre il primo 200 righe di un file. Questo è incanalato a tail
, che estrae le ultime dieci righe. Questo ci dà le linee 191 fino alla linea 200. In altre parole, le ultime dieci righe della prima 200 Linee:
testa -n 200 list-1.txt | coda -10
Questo comando elenca i primi cinque processi che consumano memoria.
ps a | sort -nk +4 | coda -5
Analizziamolo.
il ps
comando visualizza informazioni sui processi in esecuzione. Le alternative utilizzate sono:
- un: Elenca tutti i processi, non solo per l'utente attuale.
- tuo: Visualizza un output orientato all'utente.
- X: Elenca tutti i processi, compresi quelli che non vengono eseguiti all'interno di un TTY.
il sort
comando ordina l'uscita a partire dal ps
. Le alternative che stiamo usando con sort
è così:
- Nord: Ordina numericamente.
- K +4: Ordina nella quarta colonna.
il tail -5
Il comando visualizza gli ultimi cinque processi dall'output ordinato. Questi sono i cinque processi che consumano più memoria.
Utilizzo di tail per tenere traccia dei file in tempo reale
Tieni traccia delle nuove voci di testo in arrivo in un file, generalmente un file di registro, è facile con tail
. Passa il nome del file nella riga di comando e usa il -f
(Continua) opzione.
tail -f geek-1.log
Man mano che ogni nuova voce di registro viene aggiunta al file di registro, tail aggiorna la sua visualizzazione nella finestra del terminale.
Puoi perfezionare l'output per includere solo righe di particolare rilevanza o interesse. Qui, stiamo usando grep
per mostra solo le righe che includono la parola “Nella media”:
tail -f geek-1.log | grep nella media
Per tenere traccia delle modifiche in due o più file, passa i nomi dei file nella riga di comando:
coda -f -n 5 geek-1.log geek-2.log
Ogni voce è contrassegnata da un'intestazione che mostra da quale file proviene il testo.
La schermata viene aggiornata ogni volta che arriva una nuova voce in un file seguito. Per specificare il periodo di aggiornamento, Utilizzare il -s
(periodo di riposo). Questo dice tail
aspetta qualche secondo, cinque in questo esempio, tra i controlli dei file.
coda -f -s 5 geek-1.log
È vero che non puoi dirlo guardando uno screenshot, ma gli aggiornamenti archiviare stanno accadendo una volta ogni due secondi. Sono in corso nuove voci di file visualizzato nella finestra del terminale una volta ogni cinque secondi.
Quando tieni traccia delle aggiunte di testo a più di un file, puoi sopprimere le intestazioni che indicano da quale file di registro proviene il testo. Utilizzare il -q
opzione (silenzioso) per fare questo:
tail -f -q geek-1.log geek-2.log
L'output dei file viene visualizzato in una perfetta combinazione di testo. Non vi è alcuna indicazione da quale file di registro provenga ciascuna voce.
la coda ha ancora valore
Anche se l'accesso ai file di registro di sistema ora lo fornisce journalctl
, tail
ha ancora molto da offrire. Questo è particolarmente vero se usato insieme ad altri comandi, entrare o uscire tail
.
systemd
avrebbe potuto cambiare il paesaggio, ma c'è ancora un posto per le utility tradizionali conformi alla filosofia Unix di fare una cosa e farla bene.
impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);