Néha többször is le kell futtatnia egy parancsot vagy programot a rendszer különböző 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.
Tartalomjegyzék
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 Ctrl + C billentyűkombinációval.
Nézd meg a Parancs szintaxist
A watch parancs szintaxisa a következő:
watch options <command>
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 az -n kapcsoló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 <command>
Jelölje ki a Változások a frissítések között
A watch parancs minden frissítéskor felülírja a kimenetét. A -d kapcsolóval az előző és a frissített kimenet közötti változásokat is kiemelheti.
watch -d
Fejléc elrejtése az óra parancs kimenetében
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 kapcsolóval:
watch -t <command>
Lejátssza a Hangjelzéseket hibánál
Amikor egy Linux-folyamat befejeződik, 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. A watch parancs -b kapcsolója sípoló hangot ad, ha a parancs nullától eltérő kilépést ad vissza.
Tegyük fel, hogy figyelni szeretné az sshd.service fájlt, é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 a -g kapcsolóval teheti meg. 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, a watch parancs leáll, és a megérkezett üzenetfájl 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 who parancs kimenetét, amely felsorolja a bejelentkezett felhasználókat. Amint a felhasználó bejelentkezik, a watch parancs leáll, és egy üzenetet jelenít 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 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.