Tail: Difference between revisions
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Sissejuhatus = | = Sissejuhatus = | ||
<tt>tail</tt> on programm UNIX’i ja UNIX’i laadsetes süsteemides, mis kopeerib standardväljundisse ehk arvuti ekraanile failist n (n > 0) viimast rida. Vaikimisi väljastatakse 10 viimast rida. | <tt>tail</tt> on programm UNIX’i ja UNIX’i laadsetes süsteemides, mis kopeerib standardväljundisse ehk arvuti ekraanile failist n (n > 0) viimast rida. Vaikimisi väljastatakse 10 viimast rida. | ||
Süsteemiadministraatoril võib <tt>tail</tt> käepäraseks osutuda näiteks logifailide monitoorimisel. Sellest ja veel rohkemast järgnevalt juttu tulebki. | |||
= Süntaks ja parameetrid= | = Süntaks ja parameetrid= | ||
Line 7: | Line 8: | ||
<tt>tail [parameeter] [fail]</tt> | <tt>tail [parameeter] [fail]</tt> | ||
Parameetrid võimaldavad vastavalt soovile muuta vaikimisi väljastatavate ridade arvu või prinditavat üksust. Printida on võimalik peamiselt ridade või baitide kaupa. Samuti on mitmeid teisi parameetreid, millest mõnda järgnevalt lähemalt vaatamegi. '' | Parameetrid võimaldavad vastavalt soovile muuta vaikimisi väljastatavate ridade arvu või prinditavat üksust. Printida on võimalik peamiselt ridade või baitide kaupa. Samuti on mitmeid teisi parameetreid, millest mõnda järgnevalt lähemalt vaatamegi. | ||
''Näited asuvad rohelisel taustal ning näidisfailidena on kasutatud fail1’te ja file2’te. Näited on testitud Ubuntu Server 12.04.1 LTS operatsioonisüsteemil, kui ei ole teisiti öeldud.'' | |||
<b>-n väljastamine ridade kaupa</b> | <b>-n väljastamine ridade kaupa</b> | ||
Viimase 15 rea kopeerimine standardväljundisse: | Viimase 15 rea kopeerimine standardväljundisse: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -n 15 ''fail1'' | |||
|} | |||
Kuigi vaikimisi väljastab <tt>tail</tt> failist n viimast rida on võimalik ka printida alates n-ndast (n > 0) reast. Selleks tuleb soovitud ridade arvu ette lisada + märk. | Kuigi vaikimisi väljastab <tt>tail</tt> failist n viimast rida on võimalik ka printida alates n-ndast (n > 0) reast. Selleks tuleb soovitud ridade arvu ette lisada + märk. | ||
Alates 15. reast väljastamine: | Alates 15. reast väljastamine: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -n +15 ''fail1'' | |||
|} | |||
<b>-c väljastamine baitide kaupa</b> | <b>-c väljastamine baitide kaupa</b> | ||
Viimase 25 baidi kopeerimine standardväljundisse: | Viimase 25 baidi kopeerimine standardväljundisse: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -c 25 ''fail1'' | |||
|} | |||
Sarnaselt ridade kaupa väljastaminsele on ka siin võimalik kasutada + märki ja väljastada alates n-ndast (n > 0) baidist. | Sarnaselt ridade kaupa väljastaminsele on ka siin võimalik kasutada + märki ja väljastada alates n-ndast (n > 0) baidist. | ||
Alates 25. baidist väljastamine: | Alates 25. baidist väljastamine: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -c +25 ''fail1'' | |||
|} | |||
<b>-b väljastamine 512-baidiste blokkide kaupa</b> | <b>-b väljastamine 512-baidiste blokkide kaupa</b> | ||
Line 38: | Line 45: | ||
Viimase 2 512-baidi suurusega bloki väljastamine: | Viimase 2 512-baidi suurusega bloki väljastamine: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -b 2 ''fail1'' | |||
|} | |||
<b>tail enam kui 1 faili puhul</b> | <b>tail enam kui 1 faili puhul</b> | ||
Line 46: | Line 54: | ||
Kahest failist viimase 5 rea väljastamine: | Kahest failist viimase 5 rea väljastamine: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -n 5 ''fail1'' ''fail2'' | |||
|} | |||
<b>-v väljastab alati päised faili nimega</b> | <b>-v väljastab alati päised faili nimega</b> | ||
Line 54: | Line 63: | ||
Failist väljastamine alates 5. baidist koos sellenimelise päisega: | Failist väljastamine alates 5. baidist koos sellenimelise päisega: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -c +5 -v ''fail1'' | |||
|} | |||
<b>-q faili päisete keelamine</b> | <b>-q faili päisete keelamine</b> | ||
Line 62: | Line 72: | ||
Kahest failist nende viimase 5 rea väljastamine koos failide päistega: | Kahest failist nende viimase 5 rea väljastamine koos failide päistega: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -n 5 -q ''fail1'' ''fail2'' | |||
|} | |||
= Failide monitooring = | = Failide monitooring = | ||
Line 72: | Line 83: | ||
Viimase 10 rea väljastamine ning uute ridade lisandumisel nende väljastamine standardväljundisse: | Viimase 10 rea väljastamine ning uute ridade lisandumisel nende väljastamine standardväljundisse: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -f /var/log/syslog | |||
|} | |||
<b>-F</b> | <b>-F</b> | ||
Juhul kui tegemist on sellise failiga, mida aegajalt mõne tegevuse ''(näiteks file rotation[http://linux.about.com/cs/linux101/g/logfilerotation.htm])'' käigus ümbernimetatakse, siis on mõistlik <tt>–f</tt> parameetri asemel kasutada parameetrit <tt>–F</tt>. See kindlustab selle, et <tt>tail</tt> jätkab faili monitoorimist ka siis kui see luuakse uuesti või muudetakse faili nime. Näiteks: | Juhul kui tegemist on sellise failiga, mida aegajalt mõne tegevuse ''(näiteks file rotation[http://linux.about.com/cs/linux101/g/logfilerotation.htm])'' käigus ümbernimetatakse, siis on mõistlik <tt>–f</tt> parameetri asemel kasutada parameetrit <tt>–F</tt>. See kindlustab selle, et <tt>tail</tt> jätkab faili monitoorimist ka siis kui see luuakse uuesti või muudetakse faili nime. Näiteks: | ||
{|style="background:lightgreen;width:250px;margin:3px;border:1px solid grey" align=centre | |||
| style="padding:0px 0px 0px 40px;font-family:courier;font-size:8pt;" | tail -F /var/log/syslog | |||
|} | |||
<tt>tail</tt>'i monitooringu saab katkestada kasutades klahvikombinatsiooni Ctrl+C. | <tt>tail</tt>'i monitooringu saab katkestada kasutades klahvikombinatsiooni Ctrl+C. |
Latest revision as of 19:50, 4 January 2013
Sissejuhatus
tail on programm UNIX’i ja UNIX’i laadsetes süsteemides, mis kopeerib standardväljundisse ehk arvuti ekraanile failist n (n > 0) viimast rida. Vaikimisi väljastatakse 10 viimast rida. Süsteemiadministraatoril võib tail käepäraseks osutuda näiteks logifailide monitoorimisel. Sellest ja veel rohkemast järgnevalt juttu tulebki.
Süntaks ja parameetrid
tail käsu süntaks on:
tail [parameeter] [fail]
Parameetrid võimaldavad vastavalt soovile muuta vaikimisi väljastatavate ridade arvu või prinditavat üksust. Printida on võimalik peamiselt ridade või baitide kaupa. Samuti on mitmeid teisi parameetreid, millest mõnda järgnevalt lähemalt vaatamegi.
Näited asuvad rohelisel taustal ning näidisfailidena on kasutatud fail1’te ja file2’te. Näited on testitud Ubuntu Server 12.04.1 LTS operatsioonisüsteemil, kui ei ole teisiti öeldud.
-n väljastamine ridade kaupa
Viimase 15 rea kopeerimine standardväljundisse:
tail -n 15 fail1 |
Kuigi vaikimisi väljastab tail failist n viimast rida on võimalik ka printida alates n-ndast (n > 0) reast. Selleks tuleb soovitud ridade arvu ette lisada + märk.
Alates 15. reast väljastamine:
tail -n +15 fail1 |
-c väljastamine baitide kaupa
Viimase 25 baidi kopeerimine standardväljundisse:
tail -c 25 fail1 |
Sarnaselt ridade kaupa väljastaminsele on ka siin võimalik kasutada + märki ja väljastada alates n-ndast (n > 0) baidist.
Alates 25. baidist väljastamine:
tail -c +25 fail1 |
-b väljastamine 512-baidiste blokkide kaupa
See parameeter küll ei kuulu enam POSIX.1-2008[1] versioonis standartide hulka, aga kuna mõnes UNIX’i realisatsioonis võib see veel toimida, olen selle ka siinkohal ära maininud. (Minu versioon seda ei toeta, seega on näide testimata.) Samuti sarnaselt eelnevatele parameetritele on toetatud ka alates n-dast blokist väljastamine.
Viimase 2 512-baidi suurusega bloki väljastamine:
tail -b 2 fail1 |
tail enam kui 1 faili puhul
tail on suuteline väljastama andmeid korraga ka mitmest failist. Kuid sellisel juhul lisatakse vaikimisi iga faili ette päis selle faili nimega. Päis on kujul ==> XXX <==, kus XXX tähistab faili nime.
Kahest failist viimase 5 rea väljastamine:
tail -n 5 fail1 fail2 |
-v väljastab alati päised faili nimega
See parameeter võimaldab ka ühe faili korral sellenimelise päise väljastada.
Failist väljastamine alates 5. baidist koos sellenimelise päisega:
tail -c +5 -v fail1 |
-q faili päisete keelamine
Kuna mitme faili puhul väljastab tail vaikimisi iga faili ees ka päise, siis mõnikord võib tekkida vajadus neid mitte kuvada. Just seda see parameeter võimaldabki.
Kahest failist nende viimase 5 rea väljastamine koos failide päistega:
tail -n 5 -q fail1 fail2 |
Failide monitooring
-f
tail on heaks abimeheks kui tahame näha failidesse viimati lisatud ridu. Kuid parameeter –f teeb sellest veel parema tööriista. Kui muidu väljastab tail soovitud andmed ja lõpetab töö, siis seda parameetrit kasutades väljastab tail soovitud andmed ja jätkab failist „lugemist”. Kui mõni teine protsess lisab faili uusi ridu, siis tail kuvab need standardväljundisse. Mis võib osutuda väga kasulikuks näiteks logifailide monitoorimisel.
Viimase 10 rea väljastamine ning uute ridade lisandumisel nende väljastamine standardväljundisse:
tail -f /var/log/syslog |
-F
Juhul kui tegemist on sellise failiga, mida aegajalt mõne tegevuse (näiteks file rotation[2]) käigus ümbernimetatakse, siis on mõistlik –f parameetri asemel kasutada parameetrit –F. See kindlustab selle, et tail jätkab faili monitoorimist ka siis kui see luuakse uuesti või muudetakse faili nime. Näiteks:
tail -F /var/log/syslog |
tail'i monitooringu saab katkestada kasutades klahvikombinatsiooni Ctrl+C.
Allikad
http://en.wikipedia.org/wiki/Tail_%28Unix%29
http://www.gnu.org/software/coreutils/manual/html_node/tail-invocation.html
http://pubs.opengroup.org/onlinepubs/9699919799/
http://www.freebsd.org/cgi/man.cgi?query=tail&apropos=0&sektion=0&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html
http://linux.about.com/cs/linux101/g/logfilerotation.htm
Autor
Chris Liebert A22 (õppeaasta 2012/2013).