2011-05-26 19 views
53

स्क्रीन पर प्रदर्शित करने के लिए प्रदर्शित होती है, मैं एक लॉग फ़ाइल में लिखने वाला एक एप्लिकेशन बना रहा हूं, और मुझे यह जानने की ज़रूरत है कि लिनक्स/बैश में स्क्रीन पर लॉग फ़ाइल को लगातार प्रदर्शित करने के लिए कैसे (प्रत्येक नई लाइन के साथ स्क्रीन अपडेट करना लॉग में डाल दिया)।बैश स्क्रिप्ट लॉग फ़ाइल लगातार

तो एक उदाहरण के रूप में, मान लें कि मैं लगातार apache/error.log स्क्रीन (एसएसएच टर्मिनल) को लगातार अपडेट करने के लिए चलाना चाहता हूं।

tail -f filename 
+0

http://unix.stackexchange.com/questions/45626/output-file-contents-while-they-change –

उत्तर

80

पूंछ आदेश की कोशिश करो।

+1

vu अब मैं बेवकूफ की तरह महसूस करता हूं। मैं हर समय पूंछ कमांड का उपयोग करता हूं, (केवल -एफ पैरामीटर के साथ नहीं)। आदमी पूंछ मेरा दोस्त होगा। धन्यवाद, वास्तव में मैं क्या देख रहा था !! जब यह अनुमति देता है तो जवाब स्वीकार करेगा (9min) –

+0

vu यह एक स्क्रिप्ट लिखने से भी बेहतर है :) (हालांकि मुझे लगता है कि एक स्क्रिप्ट में भी जोड़ा जा सकता है) –

+2

विकल्प '--follow = name' के साथ आप होंगे लॉग फ़ाइल की सामग्री को तब तक रखना सुनिश्चित करें, भले ही फाइल क्रॉन जॉब द्वारा घूर्णन/पुनर्निर्मित की गई हो। –

5

ssh {remotehost} tail -n0f {logfile}

यह आपको शुरू में लाइनों शून्य दे देंगे, और लगातार किसी भी नई लाइनों कि फ़ाइल में दिखाई प्रिंट:

+0

उत्कृष्ट धन्यवाद! –

21

एक अन्य समाधान

less +F filename 

या सिर्फ less filename और टाइपिंग 'एफ' में (पारी + दबाने) है। यह tail की तुलना में बेहतर हो सकता है, क्योंकि यह आपको निरंतर मुद्रण अस्थायी रद्द करने की अनुमति देता है कुछ देखने के लिए और 'एफ' (पारी + ) फिर

+0

मैं नोट्स ले रहा हूं, यह एक अच्छा विकल्प है! –

+0

प्लस, यह आपके लिए '-S' ध्वज के साथ ** बॉक्स के बाहर ** लंबी लाइनों को छोटा कर सकता है, जबकि आप उन्हें बाएं/दाएं स्क्रॉल करने की इजाजत देते हैं। 'Tail -f file.log के लिए सुपीरियर कटौती ... 'विधि। – sevko

+0

मुझे कुंजी कॉम्बो समझ में नहीं आता है। पहले 'एफ' दबाएं और फिर' शिफ्ट 'दबाएं? या उन्हें एक साथ दबाएं? मैंने कोशिश की लेकिन इससे कोई फर्क नहीं पड़ता। – becko

5

आप भी कर सकते हैं के साथ इसे फिर से सक्षम करने के लिए पीछे जाने:

less filename.txt 
and press 'F' 

में एक प्लस है - आप कभी भी CTRL-C कर सकते हैं और लॉग में वापस स्क्रॉल कर सकते हैं और 'एफ' के साथ फिर से देखना शुरू कर सकते हैं।

+0

मैं प्रश्नों के प्रतिक्रिया समय पर बहुत हैरान हूं, मैंने कुछ प्रश्नों का उत्तर देने की कोशिश की है और मेरे यहां से ताज़ा बटन पर बहुत से लोग हैं :) उत्तर/टिप के साथ-साथ –

8

घड़ी कमांड का उपयोग भी किया जा सकता है।

watch tail logfile 

आपको लॉग फ़ाइल की अंतिम 5 पंक्तियां दिखाएंगी। इसे किसी भी कमांड तक बढ़ाया जा सकता है जो स्टडआउट को सामान प्रिंट करता है।

हां, tail -f का उपयोग पारंपरिक समाधान है, लेकिन आप जो करने की कोशिश कर रहे हैं उसके आधार पर, यह बेहतर काम कर सकता है।

+0

और नोट्स के लिए धन्यवाद। लिनक्स = एक ही बिल्ली को त्वचा के दस लाख तरीके :) धन्यवाद –

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