क्या केवल वर्तमान सत्र के इतिहास को जांचने का कोई तरीका है?


10

मैं जानना चाहता था कि क्या कोई कमांड या कोई अन्य तरीका है जो मैं अपने कमांड इतिहास को चालू सत्र में ही देख सकता हूं।

जवाबों:


12

historyमें बनाया bashअनुमति देता है फ़ाइल नाम निर्दिष्ट करने के साथ प्रयोग किया जब -anrwझंडे, और -aसे झंडा वर्णन help historyकहता है:

इस सत्र से इतिहास फ़ाइल में इतिहास की पंक्तियाँ संलग्न करें

इसलिए, हम कर सकते हैं:

~$ history -a this_session.history
~$ cat ./this_session.history 
history mysession.history 
cat mysession.history 
clear
history -a this_session.history

रिकॉर्ड के लिए, -w(ओपियन फाइल करने के लिए इतिहास लिखें) पूरे इतिहास को निर्दिष्ट फ़ाइल में लिखता है , इसलिए -a(अपेंड) यहाँ पसंदीदा विकल्प है।


अन्य मैनुअल तरीके हैं। विशेष रूप से kshनहीं है -aके रूप में ध्वज bashकरता है, लेकिन क्या ksh और mkshक्या है HISTFILE(और वातावरण चर bashक्योंकि, वह भी है, bashशामिल की बहुत सारी kshसुविधाओं); वैसे, डिफ़ॉल्ट रूप से यह चर सेट नहीं किया गया है (कम से कम mkshउबंटू ने इसे सेट नहीं किया है)। इसलिए, वर्तमान सत्र को अन्य फ़ाइल में आउटपुट करने के लिए, हम HISTFILEकमांड को प्रीपेल्ड करते हैं, जो शेल सिंटैक्स में है जिसका अर्थ है कि आपके द्वारा निर्दिष्ट अतिरिक्त पर्यावरण चर के साथ रनिंग कमांड। इस तरह:

bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$ 
bash-4.4$ cat ./mykshfile.hist 
�echo 'Hello'
echo 'World'

आप इससे जो कुछ भी देख सकते हैं, वह यह है कि kshइसके और संबंधित गोले इतिहास को विशेष वर्णों के साथ बनाते हैं, बजाय सादे पाठ के कि bashयह क्या करता है। तो, आप उस फ़ाइल को खोलना चाहते हैं ksh

जहां तक उबंटू पर पोसिक्स /bin/shशेल , जो डेबियन अल्मक्विस्ट शेल या डैश है, वहां fcबिल्ट-इन मौजूद है । हालाँकि, उबंटू डैश बिना लिब-एड के संकलित है , जो उबंटू डेवलपर्स द्वारा प्रदर्शन के कारणों के लिए एक सचेत विकल्प है, इसलिए fcऔर अन्य मोड जिन्हें लाइन एडिटिंग की आवश्यकता होती है, वे बॉक्स से बाहर काम नहीं करते हैं (जब तक कि dashखुद को पुनः स्थापित और स्थापित न करें lib-edit)।


शेल तटस्थ तरीके आपके सत्र को मौजूदा टूल के साथ रिकॉर्ड करने या प्रति-कमांड के आधार पर रिकॉर्ड करने के लिए अपना स्वयं का फ़ंक्शन लिखने के लिए होगा।

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