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.
Tartalomjegyzék
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.
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.
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.
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.