आप GNU tailउपयोगिता का वर्णन करते हैं । इन दो झंडों के बीच का अंतर यह है कि अगर मैं एक फ़ाइल खोलता हूं, उदाहरण के लिए एक लॉग फ़ाइल, जैसे:
$ tail -f /var/log/messages
... और अगर मेरी मशीन पर लॉग रोटेशन की सुविधा उस लॉग फ़ाइल को घुमाने का फैसला करती है, जबकि मैं इसे लिखे जा रहे संदेशों को देख रहा हूं ("रोटेट" का अर्थ है हटाना या किसी अन्य स्थान पर जाना आदि), जो आउटपुट मैं देख रहा हूं वह बस रूक जा।
अगर मैं फ़ाइल को tailइस तरह से खोलता हूं :
$ tail -F /var/log/messages
... और फिर से, फ़ाइल को घुमाया जाता है, आउटपुट मेरे कंसोल में प्रवाहित होता रहेगा क्योंकि tailफ़ाइल जैसे ही दोबारा उपलब्ध होगी, यानी लॉग में प्रोग्राम (एस) लिखने के बाद नया लिखना शुरू कर दिया /var/log/messages।
मुक्त बीएसडी सिस्टम पर, कोई -Fविकल्प नहीं है, लेकिन जीएनयू सिस्टम पर ऐसा tail -fव्यवहार करेगा , जैसे tail -Fकि आपको संदेश मिलता है
tail: file has been replaced, reopening.
आउटपुट में जब आप देख रहे हैं फ़ाइल गायब हो जाती है और फिर से दिखाई देती है।
आप इस परीक्षण कर सकते हैं
एक शेल सत्र में, करते हैं
$ cat >myfile
वह अब आपके लिए सामान टाइप करने की प्रतीक्षा करेगा। बस आगे बढ़ें और कुछ गिबरिश, कुछ पंक्तियाँ लिखें। यह सब फ़ाइल में सहेजा जाएगा myfile।
में एक और खोल सत्र (शायद एक और टर्मिनल में, बाधित किए बिनाcat ):
$ tail -f myfile
यह myfileकंसोल में (अंत) सामग्री दिखाएगा । यदि आप पहले शेल सत्र में वापस जाते हैं और कुछ और टाइप करते हैं, तो आउटपुट तुरंत tailदूसरे शेल सत्र में दिखाया जाएगा ।
अब छोड़ दिया catदबाकर Ctrl+D, और हटानेmyfile फ़ाइल:
$ rm myfile
फिर बिल्ली को फिर से चलाएँ:
$ cat >myfile
... और कुछ टाइप करें, कुछ पंक्तियाँ।
जीएनयू के साथ tail, ये लाइनें दूसरे शेल सत्र (जहां अभी भी चल रही हैं) में दिखाई नहीं देंगी tail -f।
व्यायाम को दोहराएं tail -Fऔर अंतर देखें।