2013-03-19 4 views
6

मैं एक विशिष्ट निर्देशिका पर एक श्रोता बनाने की कोशिश कर रहा हूं जो किसी भी फ़ाइल में जब भी कोई फ़ाइल दिखाई देता है तो लिनक्स कमांड को बंद कर देता है। उदाहरण के लिए, जब भी कोई फ़ाइल किसी निर्देशिका में दिखाई देती है जैसे सी:/home/मैं उस फ़ाइल से टेक्स्ट की एक स्ट्रिंग पढ़ना चाहूंगा और फिर एक और कमांड को लात मारूं। मैं एक लूप का उपयोग करने के बारे में सोच रहा था लेकिन यह अक्षम लगता है।मैं लिनक्स में फ़ाइल श्रोता कैसे बना सकता हूं?

+3

लिनक्स में ड्राइव के रूप में 'सी:' नहीं है। मैं उलझन में हूं। – squiguy

+0

यदि आपको तुरंत पता नहीं है, तो आप इसे लगातार मतदान करने के बजाय, समय के लिए सो सकते हैं। आप अभी भी एक लूप का उपयोग कर सकते हैं, लेकिन इसे एक मिनट में (या शायद लंबा) करें। –

+0

@squiguy आप सही हैं, मेरे बुरे। मेरा मतलब था/घर/या ऐसा कुछ। ओएस के बीच स्विचिंग से मस्तिष्क का फव्वारा बहुत अधिक है। – Ray

उत्तर

11

फ़ाइल निर्माण, खोलने, संशोधित इत्यादि जैसी घटनाओं के बारे में अधिसूचित होने के लिए inotify देखें। बैश से इसका उपयोग करने का एक अच्छा तरीका inotifywait कमांड के साथ है - here इसका मैन पेज है। जब तक आप जिस घटना की परवाह करते हैं, तब तक यह अवरुद्ध हो जाएगा। उदाहरण के लिए:

inotifywait -e create /path/to/watch 
echo "ding!" 

उस पथ में फ़ाइल या निर्देशिका बनने पर डिंग करेगा। अधिक जानकारी के लिए man page देखें।

संबंधित मुद्दे