ওএস এক্সে টার্মিনাল কমান্ডের সমস্ত ইতিহাস পড়ুন


10

ওএস এক্স-এ টার্মিনালে চালিত আমার সমস্ত কমান্ড অ্যাক্সেস করা দুর্দান্ত হবে যাতে আমি পর্যালোচনা করতে এবং চলমান অনুস্মারক শীট হিসাবে ব্যবহার করতে পারি।

আমি বিপরীত-আই-অনুসন্ধান প্রম্পটটি ব্যবহার করছি, এবং ম্যাক্টোইডসে এখানে বর্ণিত হিসাবে আমার সমস্ত ইতিহাস সংরক্ষণ করার জন্য আমার .bash_profile আপডেট করেছি : টার্মিনাল কমান্ডের ইতিহাস কীভাবে সন্ধান করতে হয়

  1. টার্মিনাল শুরু করুন।

  2. প্রবেশ করে হোম ফোল্ডারে নেভিগেট করুন:

    cd ~/
    
  3. প্রবেশ করে .বাশ_ প্রোফাইল তৈরি করুন:

    touch .bash_profile
    
  4. এখন, হয় আপনার প্রিয় পাঠ্য সম্পাদকটিতে .bash_ প্রোফাইলে সম্পাদনা করুন বা ডিফল্ট পাঠ্য সম্পাদনায় স্বয়ংক্রিয়ভাবে ফাইলটি খুলতে টার্মিনাল উইন্ডোতে এটি টাইপ করুন:

    open -e .bash_profile
    
  5. শেষ অবধি, এটি .bash_profile ফাইলে যুক্ত করুন:

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. সংরক্ষণ এবং ত্যাগ.

ওএস এক্সে টার্মিনাল কমান্ডের ইতিহাস আউটপুট দেওয়ার জন্য আমি কীভাবে অ্যাক্সেস করতে পারি তার কোনও ধারণা আছে?


4
আমি ধরে নিয়েছি আপনি পড়েছেন man bashতাই আপনার জানা উচিত যে ইতিহাসটি ফাইলটিতে সঞ্চিত আছে ~/.bash_history। আপনার আর কী জানা দরকার, আপনি কি স্পষ্ট করে বলতে পারেন?

হ্যাঁ, কারণ আমি নতুন 'ম্যান' কমান্ডটি বিদ্যমান ছিলাম তবে ম্যানুয়ালটি উত্তরটি পেয়েছে এবং এটি মজা করার জন্য উপরের প্রশ্নটি জিজ্ঞাসা করার সিদ্ধান্ত নিয়েছে। দ্রুত, পরিষ্কার এবং নজিরবিহীন উত্তরের জন্য ফিদেলি ধন্যবাদ Thanks
ক্যামেরন ম্যাকগ্রেন

উত্তর:


6

আপনার সমস্ত ইতিহাস সঞ্চিত আছে ~/.bash_history, যেখানে উভয় reverse-i-searchএবং উপরে / ডাউন কী ব্যবহার করে। এই ফাইলটি নিয়মিত ছাঁটাই করা হয়, তবে আপনি যদি নিজের লিঙ্কের গাইড অনুসরণ করেন তবে .bash_historyফাইলটি ব্যবহারিকভাবে কখনও ছাঁটাই হবে না।


ফিফো নাকি লিফোর ছাঁটাই?
পেসারিয়ার

@ পেসারিয়র, আমি পুরোপুরি নিশ্চিত হতে পারি না কারণ আমি আর ম্যাকওএস ব্যবহার করি না তবে যদি অনুমান করতেই হয়, ফিফো ছাঁটাই।
ফিদেলি

2

ব্যক্তিগতভাবে, আমি এটিকে সহজ উপায়ে করতে এবং সমস্ত প্রিন্ট করতে পছন্দ করব , সর্বশেষ সেশন যা সমস্ত টার্মিনাল উইন্ডো এবং সমস্ত কমান্ড কভার করে না তা পরীক্ষা করার পরিবর্তে।

একটি সম্পূর্ণ ইতিহাস পান

cd ~/.bash_sessions
cat *.historynew *.history

আপনি যদি সেশন তারিখ অনুসারে বাছাই করতে চান

cd ~/.bash_sessions
cat `ls -tr *.historynew *.history`

1

আপনি যদি এখনও এর জন্য ঠিক করতে চান তবে আমি কীভাবে কাজ করেছি তা এখানে। এটির সাহায্যে আমি সমস্ত ট্যাব জুড়ে ইতিহাস সংরক্ষণ এবং অ্যাক্সেস করতে পারি (উদাহরণস্বরূপ আপনি যদি একটি ট্যাবে একটি আদেশ সন্নিবেশ করেন তবে একটি নতুন ট্যাবটি খুলুন এবং টিপুন, এটি আপনাকে পূর্ববর্তী ট্যাবে সন্নিবেশিত আদেশটি প্রস্তাব করবে)

আপনার 2 টি জিনিস প্রয়োজন হবে: 1. আপনার টার্মিনালে এই কমান্ডটি হিস্টপেন্ড চালু রয়েছে তা নিশ্চিত করার জন্য প্রবেশ করুন:

shopt -s histappend && shopt histappend

২. আপনার ইতিহাস কমান্ডগুলি কোথায় সংরক্ষণ করা হচ্ছে তাও আপনার জানতে হবে।

আমার ইতিহাস ফাইলগুলি ~ / .bash_sessions এ সঞ্চিত আছে যাতে আমার কোডটি প্রতিফলিত করবে। আপনার যদি ~ / .bash_history বা অন্য কোনও ডিরেক্টরিতে সঞ্চিত থাকে, কেবল যখন আমরা এটি আমাদের বাশ_প্রফাইলে উত্স করি তখন ~ / .Bash_sessions এর জন্য কেবলমাত্র এটি স্যুইপ করুন।

একবার আপনি এটি বুঝতে পেরেছেন, আপনার ব্যাশ_ প্রোফাইলটি খুলুন এবং নিম্নলিখিত কোডটি যুক্ত করুন:

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  

1
সচেতন থাকুন যে চলমান source ~/.bash_sessions/*.historyসমস্ত কমান্ড কার্যকর করে
পাঁচিশোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.