लिनक्स में टर्मिनल इतिहास को हटाएँ [बंद]


170

जब आप लिनक्स टर्मिनल में अप कुंजी का उपयोग करते हैं, तो आप पिछले आदेशों का फिर से उपयोग कर सकते हैं। महान विशेषता। हालाँकि, मैंने कमांड में संवेदनशील विवरणों के साथ mysql को लॉग इन करना शुरू कर दिया।

मैं उस इतिहास को कैसे हटा सकता हूं?


क्षमा करें, मैं यह उल्लेख करना भूल गया कि मैं बैश का उपयोग कर रहा हूं।
फ्रैंक विला जूल

16
चूँकि यह प्रश्न बंद है इसलिए मैं इसे उत्तर के रूप में नहीं जोड़ सकता। आप इस आदेश के साथ किसी विशेष सत्र के लिए किसी भी इतिहास को बचाने के लिए नहीं बता सकते हैं:export HISTFILE=/dev/null
क्रिस Eberle

1
मैं इसे भी जोड़ सकता हूं: कमांड लाइन के लिए संवेदनशील जानकारी दर्ज न करें - शीघ्र प्रतीक्षा करें: डी
हमिंगबर्ड

जवाबों:


343

आप अपना बैश इतिहास इस तरह से साफ़ कर सकते हैं:

history -cw


4
वास्तव में इस उत्तर की तरह - यह तुरंत प्रभावी होता है, .bash_historyजिसके बजाय हटाने के लिए शेल को प्रभावी होने के लिए पुनः आरंभ करने की आवश्यकता होती है।
मिकमेकाना

1
मेरे Ubuntu 14.04 मशीन पर काम नहीं करता है। इतिहास सिर्फ नए टर्मिनल के साथ दिखाई देता है। सब काम किया है >~/bash_history। हालांकि इसके लिए टर्मिनल को फिर से शुरू करना होगा।
अनिकेत ठाकुर

इसके अलावा Mac OS X El Capitan पर काम करता है (संस्करण 10.11.2 पर परीक्षण किया गया है), लेकिन आपको उस निम्नलिखित पंक्ति को अपने साथ जोड़ना होगा ~/.bash_profile: export SHELL_SESSION_HISTORY=0फिर, source ~/.bash_profileछोड़ना और अपने टर्मिनल ऐप को फिर से शुरू करना। यदि आप यह समझना चाहते हैं कि यह निर्यात कमांड क्या करता है, तो आपको निश्चित रूप से इस लिंक की जाँच करनी चाहिए: superuser.com/questions/950403/…
King-Wizard

1
केवल -c पर्याप्त नहीं है? नियमावली कहती है-सभी प्रविष्टियों को हटाकर इतिहास सूची को साफ करता है। -वह वर्तमान इतिहास को इतिहास फ़ाइल में दर्ज करता है और उन्हें इतिहास सूची में जोड़ता है। जस्ट-सी ठीक काम करता है।
काह्न

24

यदि आप bash का उपयोग करते हैं, तो टर्मिनल इतिहास को .bash_history नामक फ़ाइल में सहेजा जाता है। इसे हटा दें, और इतिहास चला जाएगा।

हालाँकि, MySQL के लिए बेहतर तरीका कमांड लाइन में पासवर्ड डालना नहीं है। यदि आप केवल -p विकल्प निर्दिष्ट करते हैं, बिना मान के, तो आपको पासवर्ड के लिए संकेत दिया जाएगा और यह लॉग इन नहीं होगा।

एक अन्य विकल्प, यदि आप हर बार अपना पासवर्ड दर्ज नहीं करना चाहते हैं, तो इसे my.cnf फ़ाइल में संग्रहीत करें। कुछ के साथ ~ / .my.cnf नामक एक फ़ाइल बनाएँ:

[client]
user = <username>
password = <password>

फ़ाइल अनुमतियाँ बदलना सुनिश्चित करें ताकि केवल आप फ़ाइल को पढ़ सकें।

बेशक, इस तरह से आपका पासवर्ड अभी भी आपके होम डायरेक्टरी में एक प्लेनटेक्स्ट फ़ाइल में सहेजा जाता है, ठीक वैसे ही जैसे यह पहले .bash_history में सेव किया गया था।


4
निर्दिष्ट करने के लिए +1 -p। इस समस्या के लिए यह पूरी तरह से सही तरीका है
andyb

2
दरअसल, मेरे लिनक्स सिस्टम पर, बैश इतिहास को याद रखता है और लॉगआउट पर फ़ाइल को फिर से बनाता है। आपको लॉग इन करना होगा, फाइल को डिलीट करना होगा, फिर से लॉग इन करना होगा, पहले शेल को लॉग आउट करना होगा, फाइल को डिलीट करना होगा, और फिर दूसरे शेल को लॉग आउट करना होगा।
cHao

यह बात बताने के लिए धन्यवाद। मुझे लगा कि मैं सीधे कमांड में -p + पासवर्ड विकल्प का उपयोग करके स्मार्ट हो रहा हूं क्योंकि यह बहुत तेजी से सिर्फ ऊपर के तीर को दबाने के लिए था क्योंकि मेरे पास बहुत लंबा पासवर्ड है। पुनर्विचार करने का समय ..
फ्रैंक विला

5
यह मत भूलो unset HISTFILEकि वर्तमान इतिहास सहेजा नहीं गया है।
इग्नासियो वाज़क्वेज़-अब्राम्स

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