Ha azon kapja magát, hogy újra és újra ugyanazt a parancsot futtatja, lehet, hogy van jobb módszer.

Néha többször is le kell futtatnia egy parancsot vagy programot a rendszer különféle aspektusainak, például a folyamatban lévő folyamatok, a lemezterület-használat vagy a felhasználói bejelentkezés figyeléséhez. A Linux watch parancs segítségével automatizálhatja ezeket a feladatokat anélkül, hogy újra és újra manuálisan le kellene futtatnia őket.

Ezzel a paranccsal valós időben figyelheti a rendszertevékenységeket, például a felhasználói bejelentkezéseket, a hálózati állapotot, a memória- és CPU-használatot, a lemezterületet stb. Nézzük meg, hogyan kell használni a watch parancsot Linuxon.

Mi az a Watch Command?

A watch Linux parancs ismételten, rendszeres időközönként futtat egy megadott parancsot vagy programot, és megjeleníti a kimenetét a terminálban. Ez lehetővé teszi a kimenet változásainak valós időben történő megfigyelését. Minden intervallumban frissíti a kimenetet, felülírva a parancs előző kimenetét. Alapértelmezés szerint a parancs két másodpercenként ismétlődik, és addig folytatódik, amíg manuálisan le nem állítja a használatát

instagram viewer
Ctrl + C.

Nézd meg a Parancs szintaxist

A watch parancs szintaxisa a következő:

watch options 

Különféle parancssori opciók állnak rendelkezésre a figyelő parancshoz. Ha opciók nélkül futtatja a figyelő parancsot, akkor az két másodpercenként futtatja a megadott parancsot. Például a következőkben megjelenik az ls parancs kimenete:

watch ls -l ~/

A kimenet megmutatja a könyvtárlistában bekövetkezett változásokat, ha egy fájlt létrehoznak, törölnek vagy megváltozik a méret, miközben a kimenet két másodpercenként frissül.

Futtasson egy parancsot X másodpercenként az óra használatával

Módosíthatja a figyelési parancs frissítési időközét. Ez azt jelenti, hogy megmondhatja a figyelő parancsnak, hogy várjon x másodpercet, mielőtt megismétli a parancsot. A frissítési időköz módosításához használja a -n opciót, majd az időintervallumot másodpercben.

watch -n 

Például egy parancs 5 másodpercenkénti futtatásához futtassa:

watch -n 5 

Jelölje ki a Frissítések közötti változásokat

A watch parancs minden frissítéskor felülírja a kimenetét. Használni a -d opciót, az előző és a frissített kimenet közötti változásokat is kiemelheti.

watch -d

Alapértelmezés szerint a watch parancs minden kimenet tetején egy fejlécet jelenít meg, amely tartalmazza a frissítési időközt, a parancs nevét, valamint a rendszer aktuális dátumát és időpontját. A fejlécet leválaszthatja a kimenetről a -t választási lehetőség:

watch -t 

Lejátssza a Hangjelzéseket hibánál

Amikor egy Linux-folyamat fut, egy kilépési kódot ad vissza. Megállapodás szerint az érték 0 a sikeresség esetén, és nem nulla, ami hibát jelent. Az óraparancs -b Az opció sípoló hangot ad le, ha a parancs nullától eltérő kilépést ad vissza.

Tegyük fel, hogy figyelni szeretné az sshd.service-t, és értesítést szeretne kapni, amikor a szolgáltatás leáll; használnád:

watch -b sudo systemctl status sshd.service

Ez a parancs sípoló hangot ad, amikor a szolgáltatás leáll. A hangjelzés megszűnik, amikor a szolgáltatás folytatódik. Ennek teszteléséhez nyisson meg egy másik terminálablakot, és állítsa le a szolgáltatást. Ez folyamatos hangjelzést ad a szolgáltatás újraindításáig. Ennek a funkciónak a használatához azonban telepítenie kell a csipogó csomagot a rendszerére.

Lépjen ki az órából Parancs a kimenet módosításakor

Azt is megmondhatja a figyelő parancsnak, hogy álljon le, és lépjen ki, ha a parancs kimenete megváltozik. Ezt megteheti a -g választási lehetőség. Ez az opció nagyon hasznos olyan esetekben, amikor bizonyos változásokra vár a kimenetben.

Amint a kimenet megváltozik, az óra parancs leáll. Ezt a használatot kombinálhatja az echo paranccsal, hogy üzenetet jelenítsen meg a képernyőn.

Vegyünk például egy forgatókönyvet, amikor arra vár, hogy egy fájl megérkezzen a könyvtárába. A következő parancs figyeli a megadott fájl könyvtárát. Amint megérkezik, az óra parancs leáll, és az üzenet fájl megérkezett megjelenik a terminálon.

watch -g "ls -l | grep filename" && echo "file arrived"

Egy másik hasznos példa egy értesítés, amikor egy adott felhasználó bejelentkezik a rendszerébe:

watch -g "who | grep username" && echo "username logged in"

Ez a parancs figyeli a kimenetét who parancs, amelyik listázza a bejelentkezett felhasználókat. Amint a felhasználó bejelentkezik, a figyelő parancs leáll, és üzenet jelenik meg a terminálon.

Hasonlóképpen megmondhatja a watch parancsnak, hogy állítsa le a szolgáltatást, ha változtatásokat hajt végre egy fájlban. Ne feledje, hogy vezetékes parancslánc használatakor a teljes parancsot idézőjelek közé kell tennie.

Nézze meg a tevékenységeket a Linux rendszerében

Ha ugyanazt a folyamatot ismételten megteszi, fontolja meg a watch parancs használatát az automatizáláshoz. Megkíméli Önt attól, hogy gyakran írja be a parancsokat, hogy megnézze, mi változott.

A watch parancsot más Linux-parancsokkal együtt is használhatja a rendszererőforrások és -tevékenységek figyelésére, valamint a fájlok vagy könyvtárak változásainak nyomon követésére.