Skip to content

Så här ser du slutet på en fil i Linux med kommandot ’Tail’

18 de augusti de 2021
linux 151619 5bf105a646e0fb005117ba99

Det finns två mycket användbara kommandon i Linux som låter dig se en del av en fil. Den första heter huvud och som standard visar det dig de första 10 raderna i en fil. Det andra är svans kommando som som standard låter dig se de senaste 10 raderna i en fil. Varför skulle du vilja använda något av dessa kommandon? Varför inte bara använda cat -kommandot för att visa hela filen eller använda en redigerare som nano? Tänk dig att filen du läser har 300 000 rader. Tänk dig också att filen förbrukar mycket diskutrymme. En vanlig användning för huvudkommandot är att se till att filen du vill visa verkligen är rätt fil. Du kan vanligtvis se om du tittar på rätt fil bara genom att se de första raderna. Du kan sedan välja att använda en redigerare som nano för att redigera filen. Svans -kommandot är användbart för att visa de sista filraderna och är mycket bra när du vill se vad som händer i en loggfil som finns i /var /log -mappen.

Exempel på användning

De svans kommandot som standard visar de sista tio raderna i en fil. Syntaxen för svans -kommandot är följande: tail

type = ”code”> Om du till exempel vill se startloggen för ditt system kan du använda följande kommando: sudo tail /var/log/boot.log

type = ”code”> Utdata skulle vara ungefär så här:

Hur man anger antalet rader som ska visas

Ange antalet rader du vill se med följande kommando: sudo tail -n20

type = ”code”> Exemplet ovan visar de sista 20 raderna i filen.

Linux svans specifik längd

Alternativt kan du använda -n växla för att ange startpunkten i filen också. Du kanske vet att de första 30 raderna i en fil är kommentarer och du vill bara se data i en fil. I det här fallet skulle du använda följande kommando: sudo tail -n+20

typ = ”kod”>

Linux svans utgångspunkt

Svanskommandot används ofta vid sidan av Mer kommando så att du kan läsa filen en sida i taget. Till exempel: sudo tail -n+20 | Mer

type = ”code”> Kommandot ovan skickar de 20 senaste raderna från filnamn och rör det som input till kommandot more. Du kan också använda svans -kommandot för att visa ett visst antal byte istället för rader: sudo tail -c20

typ = ”kod”>

Linux -svansbyte

Använd samma switch för att börja visa från ett visst byte nummer enligt följande: sudo tail -c+20

typ = ”kod”>

Hur man övervakar en loggfil

Du kommer att märka att vi har inkluderat sudo inom de flesta kommandon. Denna inkludering är bara nödvändig om du inte har behörigheter som din vanliga användare för att visa filen och du behöver förhöjda behörigheter. Många skript och program matas inte ut på skärmen men läggs till i en loggfil när de körs. Använd följande svans kommando för att kontrollera hur loggen ändras var så många sekunder: sudo tail -F -s20

type = ”code”> Du kan också använda svansen för att fortsätta övervaka en logg tills en process dör enligt följande: sudo tail -F –pid = 1234

type = ”code”> För att hitta process -id för en process kan du använda följande kommando: ps -ef | grep

type = ”code”> Tänk dig till exempel att du redigerar en fil med nano. Du kan hitta process -ID för nano med följande kommando: ps -ef | grep nano

type = ”code”> Utdata från kommandot ger dig ett process -ID. Tänk dig att process -ID är 1234. Du kan nu köra svans mot filen som redigeras av nano med följande kommando: sudo tail -F –pid = 1234

type = ”code”> Varje gång filen sparas i nano kommer svans -kommandot att hämta de nya raderna längst ner. Kommandot stoppas bara när nanoredigeraren är stängd.

Hur man försöker svansen på nytt

Om du får ett fel när du försöker köra tail -kommandot eftersom det av någon anledning inte är tillgängligt kan du använda Försök igen parameter för att fortsätta försöka tills filen är tillgänglig. sudo tail –retry -F

type = ”code”> Detta fungerar bara riktigt tillsammans med -F switch, eftersom du måste följa filen för att kunna försöka igen.

Sammanfattning

För att ta reda på mer information om tail -kommandot kan du använda följande kommando: man tail

typ = ”kod”>