मैं यह देखना चाहता हूं कि मैंने एक सप्ताह पहले एक निश्चित दिन पर अपनी बैश कमांड लाइन पर क्या लिखा था। क्या कमांड लाइन इतिहास को पुनः प्राप्त करने का एक तरीका है? नीचे जैसा कुछ, शायद?
> history --include-date | grep 2012-02-27`
history -E
मैं यह देखना चाहता हूं कि मैंने एक सप्ताह पहले एक निश्चित दिन पर अपनी बैश कमांड लाइन पर क्या लिखा था। क्या कमांड लाइन इतिहास को पुनः प्राप्त करने का एक तरीका है? नीचे जैसा कुछ, शायद?
> history --include-date | grep 2012-02-27`
history -E
जवाबों:
डिफ़ॉल्ट रूप से, Historyउस समय को लॉग करता है जब आप एक कमांड चलाते थे, लेकिन इसे प्रदर्शित नहीं करता है। इसका कारण यह है कि जब आप Historyकमांड चलाते हैं , तो यह एक पर्यावरण चर कहलाता है HISTTIMEFORMAT, जो यह बताता है कि समय कैसे प्रारूपित किया जाए। यदि मान है nullया सेट नहीं है, तो डिफ़ॉल्ट रूप से यह कोई समय नहीं दिखाता है।
कुछ समय के साथ एक उदाहरण-
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
1 2012-03-06 su -
2 2012-03-06 jbach@mobiletribe.net
3 2012-03-06 mysql
4 2012-03-06 ll
5 2012-03-06 cd /opt/
6 2012-03-06 ll
7 2012-03-06 exit
8 2012-03-06 ll
9 2012-03-06 ls -lsa
10 2012-03-06 cd ../
11 2012-03-06 ll
12 2012-03-06 ll
....
लेकिन वह सब नहीं है। चूंकि मान HISTTIMEFORMATलेता strftimeहै (जो आप यहां btw पा सकते हैं ), आप सभी प्रकार की जादुई चीजें कर सकते हैं। लेकिन आप क्या करना चाहते हैं, निम्नलिखित काम करता है।
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
1006 2012-03-06 14:48:05 export HISTTIMEFORMAT='%F %T %t'
1007 2012-03-06 14:48:07 history
...
इसके अलावा, यदि आप चाहते हैं कि आपका HISTTIMEFORMAT लगातार बना रहे, bashrcतो इसे अपनी पसंद के अनुसार लागू करने पर विचार करें;
echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc
जब आप टर्मिनल में एक नया टैब खोलते हैं, या लॉग आउट और अंदर आप परिवर्तन देखेंगे।