A farok parancs használata Linuxon

A Linux tail parancs egy fájl végéről jelenít meg adatokat. Még a fájlokhoz hozzáadott frissítéseket is megjelenítheti valós időben. Megmutatjuk, hogyan kell használni.

A systemd Kill tail?

A tail parancs egy fájl végéről jelenít meg adatokat. Általában az új adatok a fájl végére kerülnek, így a tail paranccsal gyorsan és egyszerűen megtekintheti a fájl legutóbbi kiegészítését. Ezenkívül képes figyelni egy fájlt, és megjeleníteni minden új szövegbevitelt a fájlba, amikor azok előfordulnak. Ez nagyszerű eszköz a naplófájlok figyelésére.

Sok modern Linux disztribúció átvette a systemd rendszer- és szolgáltatáskezelőt. Ez az első végrehajtott folyamat, megvan folyamatazonosító 1, és az összes többi folyamat szülője. Ez a szerep régen volt az idősebbek kezelik init rendszer.

Ezzel a változással együtt a rendszernaplófájlok új formátuma is megjelent. Már nem egyszerű szövegben jön létre, a systemd alatt bináris formátumban rögzítik. Nak nek olvassa el ezeket a naplófájlokat, akkor használnia kell a journactl segédprogram. A tail parancs egyszerű szöveges formátumokkal működik. Nem olvas bináris fájlokat. Tehát ez azt jelenti, hogy a tail parancs megoldást jelent a probléma keresésére? Van még mit ajánlani?

A tail parancs többről szól, mint a frissítések valós idejű megjelenítése. És ami azt illeti, még mindig rengeteg olyan naplófájl van, amelyet nem a rendszer hoz létre, és továbbra is egyszerű szöveges fájlként jön létre. Például az alkalmazások által generált naplófájlok formátuma nem változott.

  Védje meg otthoni Minecraft szerverét a DDOS támadásoktól az AWS segítségével

A farok használata

Adja át a fájl nevét a faroknak, és ez megmutatja a fájl utolsó tíz sorát. Az általunk használt példafájlok rendezett szavak listáit tartalmazzák. Minden sor számozott, így könnyen követhetőnek kell lennie a példák alapján, és meg kell nézni, milyen hatással vannak a különféle lehetőségek.

tail word-list.txt

Eltérő számú sor megtekintéséhez használja az -n (sorok száma) kapcsolót:

tail -n 15 word-list.txt

Valójában elhagyhatja az „-n” jelet, és csak egy „-” kötőjelet és a számot használhatja. Győződjön meg arról, hogy nincs köztük szóköz. Technikailag, ez egy elavult parancsforma, de még mindig benne van man oldal, és még mindig működik.

tail -12 word-list.txt

A farok használata több fájllal

Egyszerre több fájlt is használhat. Csak adja át a fájlneveket a parancssorban:

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

Minden fájlhoz megjelenik egy kis fejléc, hogy tudja, melyik fájlhoz tartoznak a sorok.

Sorok megjelenítése a fájl elejétől

A + (az elejétől számítva) módosító a fájl elejétől kezdve a sorokat egy adott sorszámmal kezdi megjeleníteni. Ha a fájl nagyon hosszú, és egy sort választ a fájl elejéhez közel, akkor sok kimenetet fog kapni a terminálablakba. Ha ez a helyzet, akkor érdemes a végből a kimenetet a kisebbre csőbe állítani.

tail +440 list-1.txt

tudsz ellenőrzött módon lapozgassa a szöveget.

Mivel ebben a fájlban történetesen 20 445 sor van, ez a parancs megegyezik a „-6” opció használatával:

tail +20440 list-1.txt

Bytes használata farokkal

A -c (bytes) kapcsolóval megadhatja a tail-nak, hogy a vonalak helyett bájtokban legyen eltolás. Ez akkor lehet hasznos, ha van egy szöveges fájlja, amelyet normál méretű rekordokká formáztak. Vegye figyelembe, hogy az újsor karakter egy bájtnak számít. Ez a parancs megjeleníti a fájl utolsó 93 bájtját:

tail -c 93 list-2.txt

Kombinálhatja a -c (bytes) opciót a + (számlálás a fájl elejétől) módosítóval, és megadhat egy eltolást bájtokban a fájl elejétől számítva:

tail -c +351053 list-e.txt

Csövek a farokba

Korábban a farok kimenetét a less értékre irányítottuk. Más parancsok kimenetét is bevezethetjük a farokba.

  Ajánlások a jól végzett munkához

Az öt legrégebbi módosítási idővel rendelkező fájl vagy mappa azonosításához használja a -t (módosítási idő szerinti rendezés) kapcsolót az ls -vel, és a kimenetet vezesse a farokba.

ls -tl | tail -5

A fej parancsa szövegsorokat sorol fel a fájl elejétől kezdve. Ezt kombinálhatjuk a farokkal, hogy kibontsa a fájl egy részét. Itt a head paranccsal kinyerjük az első 200 sort egy fájlból. Ezt a farokba vezetik, amely kivonja az utolsó tíz sort. Ez a 191-től a 200-ig terjedő sort kapja. Vagyis az első 200 sor utolsó tíz sora:

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

Ez a parancs felsorolja az öt leginkább memóriaéhes folyamatot.

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

Bontsuk szét.

A ps parancs információkat jelenít meg a futó folyamatokról. A használt lehetőségek a következők:

a: Az összes folyamatot listázza, nem csak az aktuális felhasználó számára.
u: Felhasználó-orientált kimenet megjelenítése.
x: Az összes folyamat listája, beleértve azokat is, amelyek nem a TTY-n belül futnak.

A rendezés parancs rendezi a kimenetet ps-ről. A rendezésnél használt lehetőségek a következők:

n: Számszerű rendezés.
k +4: Rendezés a negyedik oszlopban.

A tail -5 parancs megjeleníti a rendezett kimenet utolsó öt folyamatát. Ez az öt leginkább memóriaéhes folyamat.

A farok használata a fájlok valós idejű követésére

A fájlba – általában naplófájlba – érkező új szöveges bejegyzések nyomon követése egyszerű. Adja át a fájlnevet a parancssorban, és használja a -f (follow) kapcsolót.

tail -f geek-1.log

Amint minden új naplóbejegyzés hozzáadásra kerül a naplófájlhoz, a tail frissíti a terminálablakban való megjelenítését.

  Hogyan ellenőrizhető, hogy az Xbox Live nem működik-e

Finomíthatja a kimenetet úgy, hogy csak a különösen releváns vagy érdekes sorokat tartalmazza. Itt a grep to-t használjuk csak azokat a sorokat jelenítse meg, amelyek tartalmazzák az „átlagos” szó:

tail -f geek-1.log | grep average

Két vagy több fájl változásainak követéséhez adja át a fájlneveket a parancssorban:

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

Minden bejegyzéshez egy fejléc tartozik, amely megmutatja, hogy a szöveg melyik fájlból származik.

A kijelző minden alkalommal frissül, amikor új bejegyzés érkezik egy követett fájlba. A frissítési időszak megadásához használja az -s (alvó időszak) kapcsolót. Ez arra utasítja a tail-t, hogy várjon néhány másodpercet, ebben a példában ötöt a fájlellenőrzések között.

tail -f -s 5 geek-1.log

El kell ismerni, hogy egy képernyőképen nem lehet megállapítani, de a fájl frissítése két másodpercenként történik. Az új fájlbejegyzések öt másodpercenként jelennek meg a terminál ablakában.

Ha egynél több fájl szövegének kiegészítését követi, letilthatja azokat a fejléceket, amelyek jelzik, hogy a szöveg melyik naplófájlból származik. Ehhez használja a -q (csendes) kapcsolót:

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

A fájlok kimenete zökkenőmentes szövegkeverékben jelenik meg. Nincs utalás arra, hogy az egyes bejegyzések melyik naplófájlból származnak.

farok még mindig értéke

Bár a rendszernaplófájlokhoz való hozzáférést már a Journalctl biztosítja, a tailnak még mindig bőven van kínálata. Ez különösen igaz, ha más paranccsal együtt használják, a farokba vagy onnan kivezetve.

A systemd talán megváltoztatta a tájat, de még mindig van hely a hagyományos segédprogramoknak, amelyek megfelelnek a Unix filozófiájának, miszerint egy dolgot kell csinálni, és azt jól csinálni.