Tail: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
SieBot (discussione | contributi)
m Bot: Modifico: de:Tail (Unix)
Ianezz (discussione | contributi)
Rivisto, dividendo in sezioni. Elencate opzioni della Single Unix Specification, citando la versione GNU. Riferimenti alla SUS e al manuale delle GNU Coreutils. Aggiunto portale informatica.
Riga 1:
{{Titolo minuscolo}}
'''tail''' è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]], che mostra sullo ''[[standard output]]'' le ultime linee di dati provenienti da uno o più [[file di testo]] o dallo ''[[standard input]]''. Esso è anche in grado di mantenere sotto osservazione uno o più file di testo o ''[[named pipe]]'', rilevando e mostrando le linee aggiunte in coda nel frattempo. È un tipo di [[Filtro (Unix)|filtro]].
'''tail''' è un [[programma (informatica)|programma]] presente in [[Unix]] e nei [[sistema operativo|sistemi operativi]] [[Unix-like]] per mostrare le ultime righe dei dati in [[input]] da un [[file]] o dal risultato di una [[pipeline (Unix)|pipeline]]. La [[sintassi]] del comando è:
 
''tail'' viene spesso usato in una ''[[pipeline software]]'' sia come ultimo comando per mostrare solo una parte dei risultati, sia come fonte di dati a partire da un file di [[log]] in costante aggiornamento.
<tt>tail [opzioni] <nome_del_file></tt>
 
== Uso ==
Se richiamato senza parametri, <tt>tail</tt> stamperà nello [[standard output]] le ultime 10 righe del suo input. Tramite le opzioni della [[riga di comando]] è possibile cambiare il numero di righe e le unità di stampa (righe, blocchi o singoli bytes).
La [[sintassi]] del comando ''tail'' è la seguente:
Il seguente esempio mostra le ultime 20 righe di ''nomefile'':
 
<tt>tail -20[''opzioni''] [''nomefilefile''</tt>]
 
Il parametro facoltativo ''file'' indica il nome dei file in input. Se omesso, viene letto lo ''[[standard input]]''.
Con il seguente comando vengono invece stampati gli ultimi 15 bytes di tutti i files il cui nome inizia per ''foo'':
 
Il comportamento predefinito prevede di mostrare solo le ultime 10 linee di dati.
<tt>tail -15c ''foo*''</tt>
 
Tra le opzioni principali di vi sono:
==Monitoraggio dei file==
* <tt>-c ''pos''</tt> – Indica la posizione ''pos'' nel file a partire dalla quale mostrare i risultati, espressa in numero di [[byte]] a partire dalla fine dei dati (con <tt>1</tt> che indica l'ultimo byte). Se ''pos'' è preceduto dal segno "<tt>+</tt>" (ad esempio "<tt>+45</tt>"), la posizione è calcolata invece a partire dall'inizio dei dati (il primo byte ha posizione <tt>+1</tt>).
<tt>tail</tt> possiede l'opzione speciale <tt>-f</tt> (''follow'', segui) che consente di monitorare un file. Anziché visualizzare le ultime righe ed uscire, <tt>tail</tt> mostra le righe e rimane in esecuzione per monitorare il file. Quando un altro [[processo (informatica)|processo]] aggiunge delle righe al file, <tt>tail</tt> stampa le aggiunte. Ciò è particolarmente utile per tenere sotto controllo i file di log. Il seguente comando mostrerà le ultime 10 righe di ''messages'' e aggiungerà sullo schermo le nuove righe man mano che vengono aggiunte:
* <tt>-f</tt> – Se i dati provengono da un file o da una ''[[named pipe]]'', fa in modo che ''tail'' rimanga in esecuzione (invece di terminare subito) rilevando e mostrando eventuali aggiunte effettuate da parte di altri ''[[Processo (informatica)|processi]]''.
* <tt>-n ''pos''</tt> – Indica la posizione ''pos'' nel file a partire dalla quale mostrare i risultati, espressa in numero di linee a partire dalla fine dei dati (con <tt>1</tt> che indica l'ultima linea). Se ''pos'' è preceduto dal segno "<tt>+</tt>" (ad esempio "<tt>+45</tt>"), la posizione è calcolata invece a partire dall'inizio dei dati (la prima linea ha posizione <tt>+1</tt>).
* <tt>-''pos''</tt> – Forma storica dell'opzione <tt>-n</tt> (ad esempio "<tt>tail -3</tt>" equivale a "<tt>tail -n 3</tt>").
 
La versione [[GNU]] di ''tail'' è in grado di operare contemporaneamente su più file, precedendo l'output
<tt>tail -f /var/adm/messages</tt>
relativo ad ogni file con una linea di intestazione che indica a quale file si riferisce.
 
== Monitoraggio deidi file ==
Per interrompere l'esecuzione di <tt>tail</tt> mentre sta monitorando è sufficiente premere CTRL-C.
L'opzione <tt>-f</tt> (dall'inglese ''follow'', ''segui'') permette di seguire in tempo reale le aggiunte in coda ad un file o ad una ''[[named pipe]]'': in questo caso ''tail'', oltre a mostrare i dati come specificato, resta in esecuzione mostrando le aggiunte effettuate nel frattempo da altri [[processo (informatica)|processi]]. Ciò è particolarmente utile per tenere sotto controllo i file di [[log]], o per fornire dati in ingresso ad una ''[[pipeline software]]''.
 
Per interrompere l'esecuzione di ''tail'' in questo caso occorre spedirgli un [[Segnale (informatica)]] che lo faccia terminare, ad esempio premendo la combinazione di tasti [[Control key|Ctrl]]-c.
 
== Esempi ==
Mostra le ultime 10 righe del file <tt>dati.txt</tt>:
tail dati.txt
 
 
Mostra le ultime 20 righe del file <tt>dati.txt</tt>:
tail -n 20 dati.txt
 
 
Mostra le righe del file <tt>dati.txt</tt> a partire dalla ventesima:
tail -n +20 dati.txt
 
 
Mostra gli ultimi 15 byte del file <tt>dati.txt</tt>:
tail -c 15 dati.txt
 
 
Mostra le ultime 10 righe del file <tt>/var/adm/syslog</tt> e rimane in attesa di dati aggiuntivi, mostrandoli:
<tt>tail -f -n 10 /var/adm/messages</tt>syslog
 
==Voci correlate==
* [[headFiltro (Unix)]]
* [[head]]
 
== Collegamenti esterni ==
* {{cita web
* {{en}} [http://www.gnu.org/software/coreutils/manual/html_mono/coreutils.html#SEC19 Documentazione su tail dello GNU Project]
|url=http://www.opengroup.org/onlinepubs/000095399/utilities/tail.html
* {{en}} [http://www.freebsd.org/cgi/man.cgi?query=tail&apropos=0&sektion=0&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html Documentazione su tail di FreeBSD]
|titolo=tail
|accesso=07-06-2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}
* {{cita web
|url=http://www.gnu.org/software/coreutils/manual/html_node/tail-invocation.html
|titolo=tail: Output the last part of files
|accesso=07-06-2008
|opera=GNU Coreutils manual
|lingua=en
}}
* {{en}} [http://www.freebsd.org/cgi/man.cgi?query=tail&apropos=0&sektion=0&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html Documentazionepagina suman di tail diper FreeBSD]
 
{{Portale|informatica}}
 
[[Categoria:Software Unix]]