इतिहास का आकार हमेशा के लिए कैसे बदलें?


69

उबंटू में इतिहास का डिफ़ॉल्ट आकार 1000 है, लेकिन यह बहुत छोटा है। मैं इसे 10000 में बदलना चाहता हूं, इसलिए मैं अपील करता हूं

export HISTSIZE=10000
export HISEFILESIZE=10000

, .profile और 'स्रोत' यह

source .profile

फिर मैं दौड़ता हूं

echo $HISTSIZE
echo $HISTFILESIZE

1000 दोनों के लिए प्रदर्शित किया गया था, लेकिन मैंने अपने कंप्यूटर को रिबूट किया यह 'डिफ़ॉल्ट' हो गया। यह काम क्यों नहीं करता है?


आपके पास प्रश्न में एक टाइपो है: export HISEFILESIZE=10000(हालांकि ऐसा लगता है कि .profileयदि आप ईकोस काम करते हैं तो आप अपने में नहीं थे )। बस अगर कोई इसे यहां देखता है, तो यह होना चाहिएHISTFILESIZE
लियो

जवाबों:


71

मैंने एक ही बात की कोशिश की, केवल यह पता लगाने के लिए कि चुपके उबंटू इन चर को ~/.bashrcडिफ़ॉल्ट रूप से सेट करता है , जिसे ~/.profileगैर लॉगिन शेल के लिए निष्पादित किया जाता है जैसे कि बस टर्मिनल विंडो खोलना। इन पंक्तियों को बदलना ~/.bashrcमेरे लिए तय है:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

6
केबी में है?
पटोशी

12
@duckx नहीं, इतिहास फ़ाइल में संग्रहीत लाइन की संख्या में HISTFILESIZE है, जबकि HISTSIZE प्रत्येक शेल प्रक्रिया द्वारा संग्रहीत और उपलब्ध लाइन की संख्या है (और फिर HISTFILESIZE में सहेजा गया है)। ध्यान दें कि कोई मान (या गैर-संख्या या नकारात्मक) के साथ, फिर कोई सीमा नहीं होती है।
vabab

2
यह एक्सएफसीई टर्मिनल पर किसी कारण से काम नहीं करता है
मिशल प्रेज़ायलोविक्ज़

1
@MichalPrzybylowicz: लिखकर तय किया जा सकता है /etc/bash.bashrcअगर यह आपके लिए स्वीकार्य है। निचे देखो। (शायद यह भी गायब था export)
सर्व-इंक

43

बैश संदर्भ मैनुअल से :

HISTSIZE 
    The maximum number of commands to remember on the history list.

    If the value is 0, 
       **commands are not saved** in the history list. 

    Numeric values less than zero result in 
       every command being saved on the history list (there is no limit). 

तो एक अनंत इतिहास सूची के लिए , बनाएं:
HISTSIZE = (कुछ संख्या 0 से कम )

HISTFILESIZE 
    The maximum number of lines contained in the history file. 

    When this variable is assigned a value, 
        the history file is truncated, if necessary, 
        to contain no more than that number of lines 
        by removing the oldest entries. 

        The history file is also truncated to this size after 
        writing it when a shell exits. 

    If the value is 0, 
        **the history file is truncated to zero size.** 

    Non-numeric values and numeric values less than zero 
        inhibit truncation. 

तो एक अनंत .bash_history इतिहास फ़ाइल के लिए , बनाएं:
HISTFILESIZE = (कुछ संख्या 0 से कम )


2

जैसा कि @Michal Przybylowicz द्वारा बताया गया है , इन फ़ाइलों को कभी-कभी Xubuntu (और Lubuntu) में नजरअंदाज कर दिया जाता है। यदि हां, तो आप इसके बजाय लाइनों को लिख सकते हैं

export HISTSIZE=10000
export HISTFILESIZE=10000

को/etc/bash.bashrc । यह इन पर्यावरण चर के मूल्यों को विश्व स्तर पर बदल देगा।

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