पूंछ -f फ़ाइल परिवर्तनों को ट्रैक नहीं कर रहा है


15

मैं हाल ही में tail -fकुछ पाठ फ़ाइलों की निगरानी करने के लिए उपयोग कर रहा था जैसे tail -f /var/sometext:।

हालाँकि, जब मैंने कुछ परीक्षण किया, तो यह काम नहीं करता है। मैंने जो किया वह था मैंने एक नई फ़ाइल बनाई और भाग गया: tail -f /home/name/textफिर, मैंने लॉग को vim में खोला और कुछ संपादन किया, इसे सहेजा, और ऐसा लगता है कि पूंछ परिवर्तन नहीं देख रही है।

अजीब बात है, चल रहा echo "hello" >> /home/name/textहै ठीक काम करने के लिए लगता है (पूंछ परिवर्तन देखता है)। मैंने कहीं पढ़ा है कि फ़ाइल डिस्क्रिप्टर और फ़ाइल को सहेजते समय बनाए जा रहे नए इनकोड्स के साथ कुछ करना है।

क्या कोई मेरे लिए यह समझा सकता है? मुझे यह समझ में नहीं आया कि यह वास्तव में कैसे काम करता है, लेकिन मुझे इस बात का अंदाजा है कि फाइल डिस्क्रिप्टर हालांकि हैं।

जवाबों:


30

-fइनकोड द्वारा अनुसरण करता है। यदि आप नाम से पालन करना चाहते हैं, जैसे कि जब कोई प्रोग्राम पूरी तरह से फ़ाइल को फिर से बनाता है, तो -Fइसके बजाय उपयोग करें ।


नीट, मुझे ऐसा कभी नहीं पता था। यह उपयोगिताओं के मानदंड को पढ़ने के लिए भी भुगतान करता है (विशेषकर?) यदि आप उन्हें हर समय उपयोग करते हैं!
लाइल

1

पूंछ -f फ़ाइल के अंत को देखता है, और जब फ़ाइल का अंत चलता है, तो यह नई सामग्री को प्रिंट करता है और फ़ाइल के फिर से चलने की प्रतीक्षा करता है। दूसरे शब्दों में, दस्तावेज़ के बीच में परिवर्तन पूंछ -f द्वारा नहीं मिलेगा, केवल संलग्न।


-1

वास्तव में, सच्ची कहानी यह है:

पूंछ -f स्मृति की निगरानी करता है, डिस्क की नहीं। लेकिन यह संरक्षित मेमोरी को एक्सेस नहीं कर सकता है, जैसे कि किसी फाइल को एडिट करने से टेक्स्ट एडिटर खुल जाता है।


tail -fआदेश (फ़ाइल खोलने के बाद फ़ाइल वर्णनकर्ता) एक फ़ाइल पर चल रही है। हालाँकि वास्तव में फ़ाइल के ताज़ा संशोधन अभी भी मेमोरी (बफ़र्स, कैश) में हैं लेकिन इससे कोई फर्क नहीं पड़ता। tailअभी भी फ़ाइल विवरणक के माध्यम से फ़ाइल तक पहुँचता है। इससे कोई फर्क नहीं पड़ता कि फ़ाइल को कैसे संशोधित किया गया है। --- इग्नासियो वाज़केज़-अब्राम्स द्वारा उत्तर सही है - संपादक वर्तमान फ़ाइल (जो कि में खोला गया है tail) को संशोधित नहीं करता है , यह पुराने नाम के समान नाम के साथ एक नई फ़ाइल में परिवर्तन बचाता है।
पाबौक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.