टर्मिनल * आउटपुट * इतिहास?


19

मैं अपने टर्मिनल में कमांड इतिहास के माध्यम से नेविगेट करने के लिए कार्यों का व्यापक उपयोग करता हूं; मुझे आश्चर्य है कि क्या कमांड आउटपुट इतिहास को नेविगेट करने का कोई तरीका है? (बड़े histize रखने और pgup कुंजी पर झुकाव के अलावा)

मैं केवल 'कमांड को फिर से चालू नहीं कर सकता', क्योंकि मेरी विशेष स्थिति में कमांड का स्रोत बदल जाता है; मुझे अक्सर पिछले बदलाव के आउटपुट को देखने की जरूरत है।

भाड़े का स्वागत।

धन्यवाद!

2010 संपादित करें:

मैंने 'टी' को श्रेय दिया है; अपने सत्र को कहीं और लॉग करने के सभी तरीकों में से, यह सबसे व्यापक रूप से लागू है (यानी यह ग्नू कोरुटिल्स का हिस्सा है, और काम करने के लिए एक विशिष्ट शेल या उपयोगिता की आवश्यकता नहीं है)। यह वास्तव में मैं क्या देख रहा था नहीं था, लेकिन मुझे पता है कि ऐसा वास्तव में मौजूद नहीं है।

निकटतम सन्निकटन, जिसके बारे में मैं सोच सकता हूँ कि कुछ screen(बायोबू / tmux) का उपयोग करना है जो फ़ाइल में लॉग करता है, और उस लॉगफ़ाइल के माध्यम से पेज / खोज के लिए एक कस्टम कमांड लिखता है (और कीबाइंड करता है) ( lessस्क्रीन के बजाय शीघ्रता से विचार करें )। सबको धन्यवाद।

2012 संपादित करें:

@ डस्टिन किर्कलैंड का जवाब स्पष्ट रूप से सबसे अच्छा है, कम से कम आम तौर पर; टर्मिनल का स्क्रॉलबैक बफर कमांड आउटपुट इतिहास को नेविगेट करने के लिए कम से कम घुसपैठ वाला तरीका है। बायोबू में बड़ी संख्या में इतिहास की लाइनें (10K; tmux में 2K, GNU स्क्रीन 100) सहेजी गई हैं, और यह regex खोजों की अनुमति देता है (सरसरी रूप से संकेत मिलता है कि GNU स्क्रीन में कोई स्क्रॉलबैक खोज नहीं है, और tmux केवल सादा खोज है)।

जवाबों:


4

आप byobu का उपयोग कर उल्लेख ...

यह निश्चित रूप से इसे करने का एक तरीका है। बायोबू 10K लाइनों को स्क्रॉलबैक इतिहास प्रति विंडो या प्रति विभाजन (फलक) में संग्रहीत करता है।

आप Alt- PageUp, Alt- PageDown, या दबाकर आसानी से स्क्रोलबैक में प्रवेश कर सकते हैं F7। एक बार जब आप स्क्रोलबैक मोड में होते हैं, तो आप vi- जैसी कमांड का उपयोग करके आगे और पीछे खोज सकते हैं। /regexआगे खोज करने के लिए, और ?regexपिछड़े खोज करने के लिए उपयोग करें ।


स्क्रॉलबैक इतिहास कहाँ संग्रहीत है, और क्या इसे सत्रों के बीच बनाए रखने का एक तरीका है? Ie: बायोबु के साथ ओपन टर्मिनल, कुछ कमांड चलाएं, कॉल करें exit, क्लोज टर्मिनल, बायोबु के साथ एक नया टर्मिनल खोलें और अभी भी पिछला सत्र है।
डारेल होल्ट

11

आप teeएक ही समय में अपने कमांड आउटपुट को एक फ़ाइल और टर्मिनल पर भेजने के लिए उपयोग कर सकते हैं ।


8

आप scriptअपने टर्मिनल सत्र को एक फ़ाइल में लॉग इन करने के लिए उपयोग कर सकते हैं । यदि आप हमेशा ऐसा चाहते हैं तो अपने लिए एक उपयुक्त scriptकमांड जोड़ें .login

$ man script


5

उपयोग screen -L

शेल सत्र ( exitकमांड) से बाहर निकलने के बाद आपको उसी निर्देशिका में लॉगफ़ाइल मिलता है जो आपने शुरू की थीscreen

तब आप आउटपुट को moreया के साथ देख सकते हैंless -R


5

screen आउटपुट लॉग करने के लिए सेट किया जा सकता है।

इसे चालू करने का एक तरीका, एक चालू screenसत्र के भीतर , प्रेस करना है Ctrl- aफिर :, फिर दर्ज करें log

से man screen:

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n" in the 
window's default directory, where n is the number  of  the  current  window.
This filename can be changed with the `logfile' command. If no parameter is
given, the state of logging is toggled. The session log is appended to the
previous contents of the file if it already  exists.  The current contents and
the contents of the scrollback history are not included in the session log.
Default is `off'.

logfile filename
logfile flush secs

Defines  the  name  the  log files will get. The default is "screenlog.%n". The 
second form changes the number of seconds screen will wait before flushing the
logfile buffer to the file-system. The default value is 10 seconds.

@ एसक्यूबी: मैंने अपने उत्तर का विस्तार किया है।
अगली सूचना तक रोक दिया गया।

3

बैश आप क्या किया का इतिहास रखता है, लेकिन कमांड से आउटपुट नहीं। यह संभावित रूप से विशाल हो सकता है और अक्सर उपयोगी नहीं होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.