জেডশনে কমান্ডের ইতিহাস


61

জেড কীভাবে কমান্ডের ইতিহাস ট্র্যাক করে?

আমি আমার হোম ডিরেক্টরিতে দুটি ফাইল দেখছি: .zhistoryএবং .zsh_history। তাদের মধ্যে পার্থক্য কী? ফাইলগুলিতে আমার সমস্ত ইতিহাস রয়েছে বলে মনে হয় । Zsh চিরতরে তাদের মধ্যে একটিতে লাইন যুক্ত করে রাখে ? ইতিহাসের অনুসন্ধানটি কি খুব ধীর করে দেবে না?

আমি কি এই ফাইলগুলিকে নিরাপদে অন্য কোনও স্থানে প্রতীকী লিঙ্কগুলি তৈরি করতে পারি? (যেমন ইতিহাসের পরিবর্তনের উপর নজর রাখার জন্য গিটের সংগ্রহস্থল)


আপনার ~/.zshrcএবং / অথবা /etc/zshrcসেখানে বর্ণিত বিকল্পগুলির জন্য পরীক্ষা করুন zsh.sourceforge.net/Guide/zshguide02.html#l17
UVV

উত্তর:


78

ভেরিয়েবল দ্বারা নির্দেশিত ফাইলে Zsh ইনপুট লাইনগুলি (সম্ভবত সময়ের তথ্য সহ) সঞ্চয় করে HISTFILE। এটি একটি পরম ফাইলের নাম হওয়া উচিত (অন্যথায় এটি বর্তমানে যে কোনও ডিরেক্টরি বর্তমান রয়েছে তার তুলনায় এটি ব্যাখ্যা করা হবে)।

Zsh এর জন্য কোনও বিল্ট-ইন ডিফল্ট মান নেই HISTFILE। Zsh ডিস্ট্রিবিউশনটি নতুন ব্যবহারকারীদের জন্য একটি সেটআপ উইজার্ড নিয়ে আসে যার ~/.histfileমধ্যে অন্তর্নির্মিত মান রয়েছে, তাই ডিফল্টরূপে zsh ব্যবহারকারীরা এটি পান। ওহ-মাই-জিএসএস HISTFILE=.zhistoryপ্রিসেট নিয়ে আসে । সুতরাং দেখে মনে হচ্ছে আপনি ডিফল্ট সেটআপ এবং ওহ-মাই- zsh উভয়ই zsh চেষ্টা করেছেন tried .zshrcআপনি বর্তমানে কোনটি ব্যবহার করছেন তা দেখতে আপনার (বা ফাইলের তারিখগুলি) পরীক্ষা করুন ।

Zsh ফাইলটি কীভাবে খুলবে এবং তাই এটি যদি একটি প্রতীকী লিঙ্ক হয় তবে কী ঘটে তা বেশ কয়েকটি বিকল্পের উপর নির্ভর করে।

  • যদি বিকল্পগুলির মধ্যে একটি append_history(ডিফল্ট অনুসারে সেট করা) হয়, inc_append_historyবা share_historyসেট করা থাকে, বা ইতিহাসের সাথে স্পষ্টভাবে সংরক্ষণ করা হয় তবে fc -AIzsh বিদ্যমান ফাইলটিতে যুক্ত হয়।
    নোট করুন যে এমনকি এই সেটিংসের অধীনে, zsh মাঝে মাঝে নীচে বর্ণিত ফাইলটিকে আকারে ট্রিম করতে ওভাররাইট করে।
  • অন্যথায়, বিকল্পটি hist_save_by_copyসেট করা থাকলে (zsh 5.0 থেকে এটি ডিফল্টরূপে সেট করা আছে, তবে এটি 4.2-তে বিদ্যমান নেই), zsh একটি অস্থায়ী ফাইল লিখলে তারপরে এটি সম্পূর্ণ হয়ে যায়। এই ক্ষেত্রে, যদি ইতিহাসের ফাইলটি একটি প্রতীকী লিঙ্ক হত তবে নতুন ফাইলটি প্রতীকী লিঙ্কটি প্রতিস্থাপন করবে।
  • অন্যথায় zsh স্থানে বিদ্যমান ফাইলটি ওভাররাইট করে।

প্রতীকী লিঙ্কে পয়েন্ট zsh এর পরিবর্তে HISTFILEআপনি ইতিহাস ফাইলটি যেখানে চান সেখানে সেট করুন।

ইতিহাসের কত লাইন রাখা হয় তা ভেরিয়েবল HISTSIZEএবং এর মাধ্যমে কনফিগার করা হয় SAVEHISTHISTSIZEসেশনে SAVEHISTরাখা লাইনগুলির সর্বাধিক সংখ্যা এবং ইতিহাসের ফাইলটিতে সর্বাধিক সংখ্যক রেখাগুলি রাখা হয়।

কিছু ইতিহাস সংরক্ষণ করার জন্য আপনাকে উভয়ই সেট করতে হবে HISTFILEএবং SAVEHISTডিফল্ট মানটি SAVEHIST0 হিসাবে রয়েছে You আপনি HISTSIZEপাশাপাশি বাড়াতে চাইতে পারেন (zsh 5.0 হিসাবে, ডিফল্টটি কেবলমাত্র 30)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.