আমি এক সপ্তাহ আগে একটি নির্দিষ্ট দিনে আমার বাশ কমান্ড লাইনে কী টাইপ করেছি তা দেখতে চাই। কমান্ড লাইনের ইতিহাস পুনরুদ্ধার করার কোনও উপায় আছে? নীচের মতো কিছু, সম্ভবত?
> 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
(যা আপনি এখানে বিটিডব্লু খুঁজে পেতে পারেন ), তাই আপনি সমস্ত ধরণের যাদুকরী কাজ করতে পারেন। তবে আপনি যা করতে চান তার জন্য নিম্নলিখিত কাজ করে।
[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
...
এছাড়াও, আপনি যদি নিজের এই HISTIMEFORMAT অবিরত রাখতে চান, তবে এটি আপনার নিজের bashrc
মতো করে যুক্ত করার বিষয়টি বিবেচনা করুন ;
echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc
আপনি যখন টার্মিনালে একটি নতুন ট্যাব খুলবেন বা লগ আউট করে এবং প্রবেশ করবেন তখন পরিবর্তনগুলি দেখতে পাবেন।