मैं अपने सर्वर के इतिहास से पिछले सभी आदेशों को साफ़ करना चाहता हूं । मैंने इस्तेमाल किया history -c और ऐसा लगता है कि सभी चीजें साफ हो गई हैं लेकिन जब मैं सर्वर पर एसएसएच करता हूं, तो सभी कमांड अभी भी हैं ।
में हर एक ओपन बैश शेल (आपके पास कई टर्मिनल खुले हो सकते हैं):
history -chistory -w
क्यों: जैसा कि ऊपर बताया गया है, history -c फ़ाइल खाली करता है ~/.bash_history. यह ध्यान रखना महत्वपूर्ण है कि बैश शेल तुरंत इतिहास को बैश_हिस्टोर फ़ाइल में फ्लश नहीं करता है । इसलिए, (1) इतिहास को फ़ाइल में फ्लश करना महत्वपूर्ण है, और (2) इतिहास को साफ़ करें, सभी टर्मिनलों में. ऊपर दिए गए आदेश यही करते हैं ।
ऐसा करने का एक और तरीका है हटाना ~/.bash_history का उपयोग करके फ़ाइल rm ~/.bash_history कमान। जब आप दूसरी बार लॉगिन करते हैं, तो .bash_history फ़ाइल स्वचालित रूप से बनाई जाएगी ।
जब आप लॉग आउट करते हैं, तो आपके वर्तमान शेल का इतिहास ~/में जोड़ा जाता है । बैश_इतिहास, जो पिछले गोले के इतिहास का एक कैश है, अधिकतम संख्या में ("मैन बैश"में हिस्टफाइलसाइज़ देखें) ।
यदि आप इतिहास को पूरी तरह से हटाना चाहते हैं, तो आपको अनिवार्य रूप से ~/खाली करना होगा । बैश_इतिहास जो उपरोक्त प्रविष्टियों में से कई ने सुझाव दिया है । जैसे कि:
history -c && history -w
यह वर्तमान शेल के इतिहास को साफ़ करता है और फिर वर्तमान शेल के इतिहास (खाली) को ओवरराइट करने के लिए मजबूर करता है ~/ । बैश_इतिहास।...या अधिक सटीक होने के लिए, यह इसे हिस्टफाइल को अधिलेखित करने के लिए मजबूर करता है (जो डिफ़ॉल्ट रूप से ~/ । बैश_इतिहास)।
संपादित करें अपने .profile और फ़ाइल के अंत में नीचे दी गई रेखा जोड़ें
rm -f .bash_history
इस तरह, हर बार जब आप लॉगिन करते हैं, तो यह आपके को हटा देगा । आपके लिए स्वचालित रूप से बैश_इतिहास फ़ाइल । - आर रिकर्सिव निकालें विकल्प जोड़ना खतरनाक लगता है और इसकी आवश्यकता नहीं है ।