Hoe te Gebruiken de staart Opdracht op Linux

0
343
Fatmawati Achmad Zaenuri/Shutterstock

De Linux-tail commando geeft de gegevens van het einde van een bestand. Het kan zelfs weer updates die zijn toegevoegd aan een bestand in real-time. Wij laten u zien hoe om het te gebruiken.

Heb systemd Doden staart?

De staart opdracht geeft u de gegevens van het einde van een bestand. Meestal, nieuwe data wordt toegevoegd aan het einde van een bestand, zodat de staart opdracht is een snelle en gemakkelijke manier om te zien de meest recente toevoegingen aan een bestand. Het kan ook controleren van een bestand weergeven elke nieuwe invoer van tekst naar dat bestand op als ze zich voordoen. Dit maakt het een geweldig hulpmiddel om te controleren log bestanden.

Veel moderne Linux distributies hebben genomen van de systemd systeem-en service manager. Dit is het eerste proces is uitgevoerd, het is proces-ID 1, en het is de ouder van alle andere processen. Deze rol gebruikt te worden behandeld door de oudere init systeem.

Samen met deze verandering kwam een nieuwe indeling voor het systeem log bestanden. Niet meer gemaakt in de platte tekst onder systemd ze zijn opgenomen in een binair formaat. Lezen van deze log bestanden, moet u gebruik maken van de journactl utility. Het tail commando werkt met platte tekst formaten. Het niet lezen van binaire bestanden. Betekent dit nu de staart opdracht is een oplossing op zoek naar een probleem? Doet het nog steeds iets te bieden?

Er is meer aan de staart opdracht dan het tonen van updates in real-time. En voor die kwestie, zijn er nog tal van log-bestanden die niet door het systeem gegenereerd en worden nog steeds gemaakt als platte tekst bestanden. Bijvoorbeeld, in de log-bestanden die zijn gegenereerd door toepassingen zijn niet veranderd, hun formaat.

Met behulp van de staart

Pas de naam van een bestand naar de staart en het zal u tonen de laatste tien regels van dat bestand. De voorbeeld bestanden die we met behulp van lijsten bevatten gesorteerd woorden. Elke regel is genummerd, dus het moet makkelijk te volgen de voorbeelden en zie wat het effect van de verschillende opties hebben.

staart word-list.txt

Om een ander nummer van de lijnen, het gebruik van de -n (aantal lijnen) optie:

tail-n 15 word-list.txt

Eigenlijk, kunt u afzien van de “-n”, en gewoon gebruik maken van een koppelteken “-” en het nummer. Zorg ervoor dat er geen spaties tussen hen. Technisch gezien is dit een verouderd commando vorm, maar het is nog steeds in de man pagina, en het werkt nog steeds.

staart -12 word-list.txt

Met staart Met Meerdere Bestanden

U kunt staart werken met meerdere bestanden in een keer. Net voorbij de bestandsnamen op de commando-regel:

tail-n 4 list-1.txt list-2.txt list-3.txt

Een kleine koptekst weergegeven voor elk bestand, zodat u weet welk bestand de lijnen behoren.

Het weergeven van Lijnen vanaf het Begin van een Bestand

De + (te tellen vanaf de start) modifier maakt staart regels van de display van het begin van een bestand, te beginnen bij een bepaald nummer van de lijn. Als het bestand is erg lang en je kiest een lijn dicht bij het begin van het bestand, dan krijg je een veel output gestuurd naar het terminal venster. Als dat het geval is, is het zinvol om de output met een pijp van staart tot minder.

staart +440 list-1.txt

U kunt door de tekst op een gecontroleerde manier.

Omdat er gebeuren 20,445 regels in dit bestand, deze opdracht is het equivalent van het gebruik van de “-6” – optie:

staart +20440 list-1.txt

Het gebruik van Bytes Met staart

U kunt vertellen staart te gebruiken verschuivingen in bytes in plaats van lijnen met behulp van de-c (bytes) optie. Dit kan handig zijn als u een bestand van de tekst die is opgemaakt in een normale afmeting records. Merk op dat een newline karakter telt als één byte. Dit commando geeft de laatste 93 bytes in het bestand:

staart -c 93 list-2.txt

U kunt combineren met de-c (bytes) optie met de + (te tellen vanaf het begin van het bestand) modifier, en geeft een offset in bytes berekend vanaf het begin van het bestand:

staart -c +351053 list-e.txt

De leidingen In de staart

Als we eerder doorgesluisd de uitgang van de staart in minder . We kunnen ook de pijp van de uitvoer van andere commando ‘ s in de staart.

Voor het identificeren van de vijf bestanden of mappen met de oudste wijziging van tijden, gebruikt u de -t (sorteren door wijziging) optie met ls , en de slang van de uitgang in de staart.

ls -tl | staart -5

Het hoofd opdracht worden de regels van de tekst van het begin van een bestand. Wij kunnen dit combineren met de staart om op te halen een gedeelte van het bestand. Hier gebruiken we het hoofd opdracht om uit te pakken, de eerste 200 lijnen van een bestand. Dit wordt doorgesluisd naar staart, die met het uitpakken van de laatste tien regels. Dit geeft ons lijnen 191 tot lijn 200. Dat is de laatste tien lijnen van de eerste 200 lijnen:

hoofd -n 200 list-1.txt | tail -10

Dit commando geeft een overzicht van de vijf meest geheugen-intensieve processen.

ps aux | sort-nk +4 | -5 staart

Laten we breken die naar beneden.

Het ps commando geeft informatie over de lopende processen. De opties die gebruikt worden zijn:

  • een: de Lijst van alle processen, niet alleen voor de huidige gebruiker.
  • u: Weergave van een gebruiker-georiënteerde uitgang.
  • x: Lijst van alle processen, inclusief degenen die niet actief is in een TTY.

De opdracht sorteren sorteert de uitvoer van ps . De opties die we met behulp van sorteren zijn:

  • n: numeriek Sorteren.
  • k +4: Sorteren op de vierde kolom.

De staart -5 commando geeft de laatste vijf processen van de gesorteerde-uitgang. Dit zijn de vijf meest geheugen-intensieve processen.

Met behulp van de staart Bijhouden van Bestanden in Real-Time

Het bijhouden van nieuwe tekst items die in de file—meestal een log-bestand kan eenvoudig met staart. Pas de bestandsnaam in op de commando-regel en gebruik je de-f (volg) optie.

tail-f geek-1.log

Als elke nieuwe log regel wordt toegevoegd aan het logbestand, staart updates zijn weergegeven in het terminal venster.

U kunt het verfijnen van de uitvoer naar behoren alleen de lijnen die van bijzonder belang of interesse. Hier gebruiken we grep om alleen lijnen die het woord “gemiddelde”:

tail-f geek-1.log | grep gemiddelde

Volg de wijzigingen aan twee of meer bestanden, langs de bestandsnamen op de commando-regel:

tail-f -n 5 geek-1.log geek-2.log

Elk item is voorzien van een header die aangeeft welk bestand de tekst vandaan kwam.

Het display wordt geüpdatet telkens een nieuwe vermelding aan een gevolgd bestand. Opgeven voor de periode update, gebruik je de-s (slaap-periode) optie. Dit vertelt staart wacht een aantal seconden, vijf in dit voorbeeld, tussen-bestand controleert.

tail-f -s 5 geek-1.log

Toegegeven, je kan niet zien op een screenshot, maar de updates van het bestand gebeurt eenmaal per twee seconden. Het nieuwe bestand items worden weergegeven in het venster terminal eenmaal per vijf seconden.

Wanneer u na de tekst toevoegingen aan meer dan één bestand, kunt u het onderdrukken van de headers die aangeven welk log bestand de tekst vandaan komt. Gebruik de q (quiet) optie om dit te doen:

tail-f -q geek-1.log geek-2.log

De uitvoer van de bestanden wordt weergegeven in een naadloze mix van tekst. Er is geen indicatie welk log bestand elk item vandaan kwam.

de staart Heeft Nog steeds Waarde

Hoewel de toegang tot het systeem log bestanden is nu journalctl, staart heeft nog steeds veel te bieden. Dit is vooral het geval wanneer het wordt gebruikt in combinatie met andere opdrachten, die door de leidingen in of buiten staart.

systemd misschien veranderd het landschap, maar er is nog een plek voor de traditionele hulpprogramma ‘ s die voldoen aan de Unix filosofie van het doen van een ding en doen het goed.

LEES VERDER

  • “Wi-Fi-6 Is Hier: Moet Je Upgraden naar Wi-Fi-6 in 2020?
  • “Hoe Stel je een Mac voor Je Kinderen
  • “Heeft U Behoefte aan Anti-Ransomware-Software voor Uw PC?
  • “Hoe Stream de 62e Jaarlijkse Grammy Awards zonder Kabel
  • “Wat Doet “GLHF” Betekenen, en Hoe Gebruik Je Het?