यदि आप स्वयं को बार-बार एक ही कमांड चलाते हुए पाते हैं, तो एक बेहतर तरीका हो सकता है।
कभी-कभी, आपको अपने सिस्टम के विभिन्न पहलुओं, जैसे चल रही प्रक्रियाओं, डिस्क स्थान उपयोग, या उपयोगकर्ता लॉगिन की निगरानी के लिए बार-बार एक कमांड या प्रोग्राम चलाने की आवश्यकता होती है। लिनक्स वॉच कमांड आपको इन कार्यों को बार-बार मैन्युअल रूप से चलाने के बिना स्वचालित करने देता है।
इस कमांड का उपयोग करके, आप वास्तविक समय में सिस्टम गतिविधियों जैसे उपयोगकर्ता लॉगिन, नेटवर्क स्थिति, मेमोरी और सीपीयू उपयोग, डिस्क स्थान इत्यादि की निगरानी कर सकते हैं। आइए देखें कि लिनक्स में वॉच कमांड का उपयोग कैसे करें।
वॉच कमांड क्या है?
वॉच लिनक्स कमांड एक निर्दिष्ट कमांड या प्रोग्राम को नियमित अंतराल पर बार-बार चलाता है, और टर्मिनल में अपना आउटपुट प्रदर्शित करता है। इससे आप वास्तविक समय में आउटपुट में परिवर्तन देख सकते हैं। यह प्रत्येक अंतराल पर आउटपुट को ताज़ा करता है, कमांड के पिछले आउटपुट को ओवरराइट करता है। डिफ़ॉल्ट रूप से, आदेश हर दो सेकंड में दोहराया जाता है और तब तक जारी रहता है जब तक आप मैन्युअल रूप से इसका उपयोग बंद नहीं कर देते Ctrl + C.
कमांड सिंटैक्स देखें
वॉच कमांड का सिंटैक्स है:
watch options
वॉच कमांड के साथ उपयोग करने के लिए विभिन्न कमांड लाइन विकल्प उपलब्ध हैं। यदि आप वॉच कमांड को बिना किसी विकल्प के चलाते हैं, तो यह हर दो सेकंड के बाद निर्दिष्ट कमांड चलाएगा। उदाहरण के लिए, निम्नलिखित आपको ls कमांड का आउटपुट दिखाएगा:
watch ls -l ~/
यदि कोई फ़ाइल बनाई जाती है, हटाई जाती है, या आकार में परिवर्तन होता है, तो आउटपुट आपको हर दो सेकंड में आउटपुट को ताज़ा करते हुए निर्देशिका सूची में परिवर्तन दिखाएगा।
घड़ी का उपयोग करके प्रत्येक X सेकंड में एक कमांड चलाएँ
आप वॉच कमांड के अपडेट अंतराल को बदल सकते हैं। इसका मतलब है कि आप कमांड को दोहराने से पहले वॉच कमांड को x सेकंड तक प्रतीक्षा करने के लिए कह सकते हैं। अद्यतन अंतराल को बदलने के लिए, का उपयोग करें -एन सेकंड में समय अंतराल के बाद विकल्प।
watch -n
उदाहरण के लिए, हर 5 सेकंड के बाद एक कमांड चलाने के लिए, चलाएँ:
watch -n 5
अपडेट के बीच परिवर्तनों को हाइलाइट करें
वॉच कमांड प्रत्येक रिफ्रेश पर अपने आउटपुट को अधिलेखित कर देता है। का उपयोग -डी विकल्प, आप पिछले और अद्यतन आउटपुट के बीच परिवर्तनों को भी उजागर कर सकते हैं।
watch -d
डिफ़ॉल्ट रूप से, वॉच कमांड प्रत्येक आउटपुट के शीर्ष पर एक हेडर प्रदर्शित करता है जिसमें अपडेट अंतराल, कमांड नाम और सिस्टम की वर्तमान तिथि और समय शामिल होता है। आप इसका उपयोग करके आउटपुट से हेडर को हटा सकते हैं -टी विकल्प:
watch -t
त्रुटि पर बीप बजाएं
जब Linux प्रक्रिया चलना समाप्त हो जाती है, यह एक निकास कोड लौटाता है। परंपरा के अनुसार, सफलता पर मान 0 है और त्रुटि का प्रतिनिधित्व करने के लिए गैर-शून्य है। घड़ी का आदेश -बी यदि कमांड गैर-शून्य निकास लौटाता है तो विकल्प बीप ध्वनि बजाता है।
मान लीजिए कि आप sshd.service की निगरानी करना चाहते हैं और सेवा बंद होने पर सूचित करना चाहते हैं; आप उपयोग करेंगे:
watch -b sudo systemctl status sshd.service
सेवा बंद होने पर यह कमांड बीप की आवाज देगा। सेवा फिर से शुरू होने पर बीप बंद हो जाएगी. इसका परीक्षण करने के लिए, दूसरी टर्मिनल विंडो खोलें और सेवा बंद करें। जब तक आप सेवा दोबारा शुरू नहीं करेंगे तब तक यह लगातार बीप देता रहेगा। हालाँकि, इस सुविधा का उपयोग करने के लिए, आपके सिस्टम पर बीप पैकेज स्थापित होना चाहिए।
आउटपुट चेंज पर वॉच कमांड से बाहर निकलें
आप वॉच कमांड को चलना बंद करने और कमांड का आउटपुट बदलने पर बाहर निकलने के लिए भी कह सकते हैं। आप इसका उपयोग करके ऐसा कर सकते हैं -जी विकल्प। यह विकल्प उन परिदृश्यों में बहुत उपयोगी है जब आप आउटपुट में कुछ बदलावों की प्रतीक्षा कर रहे हों।
एक बार आउटपुट बदल जाने पर, वॉच कमांड बंद हो जाएगा। स्क्रीन पर संदेश प्रदर्शित करने के लिए आप इस उपयोग को इको कमांड के साथ जोड़ सकते हैं।
उदाहरण के लिए, ऐसे परिदृश्य पर विचार करें जहां आप अपनी निर्देशिका में किसी फ़ाइल के आने की प्रतीक्षा कर रहे हैं। निम्न आदेश निर्दिष्ट फ़ाइल के लिए निर्देशिका की निगरानी करेगा। इसके आते ही वॉच कमांड और मैसेज चलना बंद हो जाएगा फ़ाइल आ गई टर्मिनल पर दिखेगा.
watch -g "ls -l | grep filename" && echo "file arrived"
एक अन्य उपयोगी उदाहरण एक अधिसूचना है जब कोई विशिष्ट उपयोगकर्ता आपके सिस्टम में लॉग इन करता है:
watch -g "who | grep username" && echo "username logged in"
यह कमांड के आउटपुट की निगरानी करेगा who कमांड उन उपयोगकर्ताओं को सूचीबद्ध करता है जो लॉग इन हैं. एक बार जब उपयोगकर्ता लॉग इन करेगा, तो वॉच कमांड बंद हो जाएगा और टर्मिनल पर एक संदेश प्रदर्शित करेगा।
इसी तरह, जब किसी फ़ाइल में कुछ बदलाव किए जाते हैं तो आप वॉच कमांड को किसी सेवा को रोकने के लिए कह सकते हैं। ध्यान रखें कि कमांड की पाइप श्रृंखला का उपयोग करते समय, आपको पूरे कमांड को उद्धरण चिह्नों के भीतर संलग्न करना होगा।
अपने लिनक्स सिस्टम में गतिविधियाँ देखें
यदि आप स्वयं को एक ही प्रक्रिया बार-बार करते हुए पाते हैं, तो इसे स्वचालित करने के लिए वॉच कमांड का उपयोग करने पर विचार करें। यह आपको यह देखने के लिए बार-बार कमांड टाइप करने से बचाता है कि क्या बदल गया है।
आप सिस्टम संसाधनों और गतिविधियों की निगरानी करने और फ़ाइलों या निर्देशिकाओं में परिवर्तनों को ट्रैक करने के लिए अन्य लिनक्स कमांड के साथ वॉच कमांड का भी उपयोग कर सकते हैं।