किन स्थितियों में उपयोगकर्ता शेल को इतिहास में अपनी कमांड रिकॉर्ड नहीं करने देगा?


18

अगर मैं जोड़ने export HISTCONTROL=ignorespaceमें .bashrc, पार्टी जो इतिहास में उनके सामने खाली स्थान के किसी भी आदेश रिकॉर्ड नहीं होंगे। लेकिन मुझे समझ नहीं आ रहा है कि यह किन परिस्थितियों में उपयोगी होगा। क्या कोई कुछ उदाहरण दे सकता है?

जवाबों:


32

यदि आपके कमांड में पासवर्ड या अन्य संवेदनशील फ़ीचर हैं


4
@acgtyrant फिर आपने पासवर्ड के साथ कमांड दर्ज नहीं किया। विचार यह है कि यदि आप कमांडलाइन पर एक पासवर्ड प्रदान करते हैं, तो बस कमांड से पहले एक जगह डालें और यह दर्ज नहीं किया जाएगाHISTFILE
उलरिच डांगेल

3
mysql कमांड उस उपयोगकर्ता के पासवर्ड को स्वीकार कर सकती है जिसे आप डेटाबेस से कनेक्ट कर रहे हैं, यहां सूचीबद्ध करने के लिए बहुत सारे हैं। बिंदु @Ulrich Dangel पर बना स्पॉट है। यदि आप पासवर्ड के साथ कमांड टाइप कर रहे हैं, तो उन्हें इतिहास में न छोड़ें।
slm

5
मैं यह भी जोड़ूंगा कि जब आप और व्यवस्थापक आप अक्सर इतिहास नहीं चाहते हैं, क्योंकि यदि कोई हमलावर सिस्टम में आने के लिए है तो आप उसे एक निशान छोड़ रहे हैं जहां चीजें बॉक्स पर हैं और किस प्रकार के कमांड हैं आमतौर पर बॉक्स पर चलाए जाते हैं।
स्लम

1
यदि आपके पास संवेदनशील जानकारी के साथ कोई कमांड नहीं है, तो आप उस सुविधा के लिए लक्षित दर्शक नहीं हैं। एक कार्यक्रम में प्रत्येक सुविधा का उपयोग प्रत्येक उपयोगकर्ता द्वारा नहीं किया जाता है। (यही कारण है कि कार्यक्रमों में "फीचर क्रीप" है: हर कोई एक दर्जन विशेषताओं का उपयोग करता है, लेकिन एक अलग दर्जन, और आश्चर्य करता है कि अन्य सभी बेकार cruft क्या है।)
कज़

1
ध्यान रखें कि कमांड-लाइन तर्क अक्सर psया अंदर देख कर दिखाई देते हैं /proc। कुछ सिस्टम पर्यावरण को अन्य उपयोगकर्ताओं को भी दिखाई देते हैं। एक tmpfs, ओटीओएच पर एक मोड 0700 फ़ाइल, इन समस्याओं को नहीं है।
derobert

26

एक अन्य उपयोग उन आदेशों के लिए है जिन्हें आप गलती से दोहराना नहीं चाहते हैं, जैसे कि rm -rf *। मैं इतिहास का व्यापक उपयोग करता हूं और कभी-कभी Enterगलती से मारा जाता है, जब मैंने इतिहास से जो कमांड प्राप्त किया है वह वह नहीं है जिसकी मुझे तलाश थी। दी गई, असली समाधान यह है कि हमेशा उन्हें निष्पादित करने से पहले कमांड को ध्यान से पढ़ें। लेकिन थोड़ा सा अड़ियल होने के नाते, मैं एक अतिरिक्त सावधानी के रूप में अपने इतिहास से विशेष रूप से विनाशकारी आदेशों को रखना भी पसंद करता हूं।


14
मुझे लगता है कि मुझे यह बहुत सुविधाजनक लगा कि मैं कुछ खतरनाक कमांडों को अनदेखा कर सकता हूं, भले ही मैं एक स्पेस को शामिल करना भूल जाऊं HISTIGNORE=" *:rm -f*:rm -r*:*--force*":। यह रोकता है rm -fऔर rm -rइतिहास में सहेजा जा रहा है, साथ ही कुछ भी शामिल है --force
पेट्र पुडलक

यह / एक वास्तविक समाधान है। चाकू को इधर-उधर न छोड़ें, असली समाधान यह है कि अपने आप को उनके साथ न करें। जैसा कि पुरानी कहावत है "आप नदी में संयुक्त राष्ट्र में नहीं जा सकते" - मतलब नदी को साफ नहीं करना है, इसके बजाय उसमें कूड़ा डालना बंद करो।
सीटीएल-एल्ट-डेलोर

6

मेरे एक पूर्व सहकर्मी ने अधिकांश cdऔर lsआदेशों के साथ ऐसा किया , केवल "उपयोगी" आदेशों को रिकॉर्ड करने के लिए।


3
मैं लगभग ऐसा करने के बिना काम पर कभी भी नेटहॉक नहीं चलाता ... (या शीर्ष, या आदमी ...)
लॉटऑफ़्रीटाइम

वास्तव में, किसी को भी जोड़ सकते हैं export HISTCONTROL=ingoredupsमें .bashrcपार्टी की दुकान डुप्लिकेट तो मेकअप इतिहास और अधिक स्पष्ट करने के लिए नहीं बताने के लिए। आप इस लेख
acgtyrant

2

डाटा प्राइवेसी। पल कानून प्रवर्तन आपके दरवाजे को तोड़ देता है, आप नहीं चाहेंगे कि उन्हें अवशेष मिले

  • जहां से आप नवीनतम उच्चारण ^ Wwarez को भूल जाते हैं
  • आपने हाल ही में कौन सी फ़िल्में फाड़ी हैं और एक धार को खिलाया है
  • पासवर्ड एन्क्रिप्शन / डिक्रिप्शन प्रोग्राम्स के तर्कों से होकर गुजरे

गंभीरता से, यह शायद आपके ब्राउज़र में एक सख्त गोपनीयता सेटिंग के बराबर है, इसे सर्फ इतिहास को रिकॉर्ड करने से रोक रहा है।


0

यदि आप नियंत्रण को नियंत्रित करते हैं .bash_history यह कुछ विशेष कमांड को "विशेष" के रूप में चिह्नित करने का एक उपयोगी तरीका है। के साथ संयुक्त इतिहास-खोज- * , यह बस प्रेस के लिए एक रास्ता है Space+ m+ Up+ Enterचलाने के लिए make --directory ~/dev/tilde cleanऔर Space+ e+ Up+ Enterचलाने के लिए editor ~/.bash_history, जो दोनों के मैं बैश इतिहास फ़ाइल के रखरखाव के लिए इस्तेमाल करते हैं।

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