मैं टर्मिनल से सहेजी गई कमांड को कैसे हटा सकता हूं?


16

जैसा कि आप सभी जानते हैं, मैक ओएस एक्स टर्मिनल से चलने वाले सभी कमांड को स्टोर करता है, हालाँकि, मैं टर्मिनल से अंतिम 3 कमांड को हटाना चाहता हूं (उदाहरण के लिए)। मैं यह कैसे कर सकता हूँ?

जवाबों:


12

मैक ओएस कहीं भी कुछ भी स्टोर नहीं करता है।

bash, जो कि टर्मिनल में चलाया जाने वाला शेल है, कमांड हिस्ट्री को स्टोर करता है।

टर्मिनल कमांड का इतिहास आपके उपयोगकर्ता निर्देशिका में छिपी हुई फ़ाइल में संग्रहीत है जिसे कहा जाता है .bash_history

इसका मतलब फ़ाइल है: /Users/{username}/.bash_history

आपको इसे देखने के लिए "शो सिस्टम फाइल" को सक्षम करना होगा (खोजक में "देखें" मेनू से)।

फ़ाइल शेल में आपके द्वारा लिखी गई सभी चीज़ों की एक पाठ सूची है। आप इसे TextEdit, या अपनी पसंद के संपादक में खोल सकते हैं।


आपको संभवतः Terminal.appबदलाव करने से पहले फ़ाइल में किसी भी हाल के परिवर्तन को फ्लश करना चाहिए , या यह Terminal.appस्मृति में एक संस्करण से अधिलेखित हो सकता है ।


2
कमांड फ्लाई पर संग्रहीत नहीं होते हैं, लेकिन केवल जब शेल बाहर निकलता है या जब ऐसा करने के लिए संकेत दिया जाता है (जैसे, history -aया history -w)। आमतौर पर अंतिम कमांड अभी तक फाइल में नहीं हैं।
मट्टियो

वूप्स, मेरा मतलब है कि आपको इस फाइल को संपादित करने से पहले टर्मिनल के सभी उदाहरणों को बंद करना चाहिए। फिक्स्ड।
नकली नाम

19

यह मैक ओएस फीचर नहीं बल्कि शेल फीचर है। मान लें कि आप bash का उपयोग कर रहे हैं (डिफ़ॉल्ट):

  • कमांड इतिहास को मेमोरी में संग्रहीत किया जाता है और एक फाइल में रखा जाता है (आमतौर पर ~/.bash_history)
  • आप इतिहास को historyकमांड के साथ सूचीबद्ध और संपादित कर सकते हैं

साथ man bash(में SHELL BUILTIN COMMANDSखंड) आप विभिन्न विकल्पों में से विवरण मिल जाएगा।

आप ऐसा कर सकते हैं:

  • इतिहास प्रविष्टियों को सूचीबद्ध करें

    $ history
  • पूरा इतिहास हटा दें

    $ history -c
  • दी गई प्रविष्टि हटाएं

    $ history -d offset

दोनों उत्तर सही हैं, मैंने जल्द से जल्द एक को चुना .. शुक्रिया भाई ..
जेहेलिया डिक

इतिहास-सी करने पर, यह कहता है fc: event not found: -c। फिर मैंने मैन्युअल रूप से फ़ाइल खोली, सामग्री को हटा दिया। Closed and reopened the terminalऔर इतिहास अब मौजूद नहीं है।
जिज्ञासु

2

मैक टर्मिनल उपयोगकर्ता के लिए

निम्नलिखित कमांड के साथ बैश कमांड हिस्ट्री को डिलीट करें $ echo '' > ~/.bash_history

मैक zsh उपयोगकर्ता के लिए

निम्नलिखित कमांड के साथ zsh कमांड हिस्ट्री को डिलीट करें $ echo ''> ~/.zsh_hostory


ध्यान दें कि यह संपूर्ण इतिहास को हटा देगा, न कि केवल अंतिम तीन पंक्तियों को।
जॉन एन

0

टेक्स्ट एडिट के अलावा, यदि आप पुराने स्कूल हैं, तो फ़ाइल को संपादित करने और आपत्तिजनक आदेशों को हटाने के लिए 'vi' का उपयोग करें। इसी तरह के कमांड-लाइन संपादक हैं emacs (जो ओएस एक्स के साथ संपादन करने वाले शॉर्टकट साझा करते हैं) या nano (जिसने संदर्भ पत्रक की आवश्यकता के बिना संपादक को बचाने और छोड़ने के लिए नेविगेशन और दृश्य सहायता को सरल बनाया है)


1
इसे "आप इसे TextEdit, या अपनी पसंद के संपादक " में खोल सकते हैं , जो स्वीकृत उत्तर में है।
जॉन एन

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