টার্মিনাল কি ডেটা সঞ্চয় করে?


9

এটি এমন একটি বিষয় যা আমি সত্যিই দীর্ঘ সময়ের জন্য জানতে চেয়েছিলাম, তবে বাস্তবে কোনও প্রশ্ন উত্থাপন করতে কখনও আসে নি।

আমি জানি যে লিনাক্স ডিস্ট্রোজে সরবরাহ করা টার্মিনালে, কমান্ডের পুরো ইতিহাসটি তীর কীগুলি ব্যবহার করে দেখা যায় (যদি অন্য কোনও পদ্ধতি থাকে তবে আমি এটি সম্পর্কে অবগত নই) তবে কীভাবে এটি ঘটে?

এমন কোনও জায়গা আছে যেখানে টার্মিনাল সমস্ত কীস্ট্রোক লগ করে? এটা কি বাফার কিছু ধরণের? তবে, আবার যদি এটি বাফার হয় তবে কিছুক্ষণ পরে তা পরিষ্কার হয়ে যাবে, তাই না?

এই সিস্টেম কিভাবে কাজ করে?


পূর্বে ব্যবহৃত সমস্ত কমান্ড পাওয়ার জন্য ইতিহাস লিখুন ..
সুকুপা 91

ওপি historyকমান্ড সম্পর্কে জিজ্ঞাসা করছে না তবে পুরানো কমান্ডগুলি মনে রাখার এই পুরো সিস্টেমটি কীভাবে কাজ করে।
তরুণ

দুঃখিত আমি এটি ভুল পেয়েছি ..
সুকুপা ৯১

2
এই ব্যতিক্রমটির কথা মনে করুন: কমান্ডটি যদি কোনও স্থান দিয়ে শুরু হয় তবে কমান্ডটি ইতিহাসে শেষ হবে না।
রিনজউইন্ড

@ রিনজুইন্ড, একটি স্থান দিয়ে শুরু করা হলে এটি ইতিহাসে যুক্ত হয়।
জিসি 13

উত্তর:


10

এটি হ'ল কমান্ডের ইতিহাস এবং এটি টার্মিনালের চেয়ে শেলের বৈশিষ্ট্য।

উবুন্টুতে (এবং অন্যান্য লিনাক্স ডিস্ট্রিবিউশনের বেশিরভাগ না হলেও অনেকগুলি) ইন্টারেক্টিভ ব্যবহারের জন্য ডিফল্ট শেলটি হল ব্যাশ ( /bin/bash)। বাশ আপনার ইতিহাস রাখে, এটি শেষ কমান্ডগুলির একটি তালিকা ~/.bash_history। আপনি যখন শেলটি খোলেন (সাধারণত টার্মিনালটি খোলার মাধ্যমে) এই ফাইলটি পড়ে এবং এই শেলের অভ্যন্তরীণ ইতিহাসে লোড হয়। একবার আপনি শেলটি বন্ধ করে দিলে পরিবর্তনগুলি ফাইলটিতে ফিরে লেখা হয়। ডিফল্টরূপে এটি শেষ 500 কমান্ডের মধ্যে সীমাবদ্ধ।

কয়েকটি ভেরিয়েবল এবং শেল বিকল্প রয়েছে যা এটি ঠিক কীভাবে কাজ করে তার আচরণ পরিবর্তন করতে পারে। আপনি man bashআরও জানতে চাইলে ব্যাশ ম্যানেজটি ( ) দেখুন। কেবল ইতিহাস অনুসন্ধান করুন (এর সাথে টাইপ করুন /^HISTORYএবং নিশ্চিত করুন, এর সাথে Enterপরবর্তী অনুসন্ধানে ঝাঁপুন n)

এছাড়াও ইতিহাসকে ঘিরে আরও অনেকগুলি পদ্ধতি রয়েছে যা কেবলমাত্র Upএবং এর চেয়ে বেশি Down:

  • উদাহরণস্বরূপ, Ctrl+ Rএবং পূর্ববর্তী কমান্ডের কিছু অংশ টিপুন , বাশ ইতিহাসের পিছনে মিলবে কমান্ডের জন্য অনুসন্ধান করবে, যদি প্রথম ম্যাচটি আপনি খুঁজছেন না, তবে Ctrl+ টিপুন পুনরাবৃত্তি করুন R। (বাশ ম্যানপেজে 'ইতিহাসের হস্তক্ষেপের জন্য আদেশগুলি' দেখুন)

  • কপি /etc/inputrcকরার জন্য ~/.inputrcএবং uncomment সঙ্গে লাইন history-search-forwardএবং history-search-backwardতাদের মধ্যে। আপনি যদি কোনও কমান্ডের প্রথম অক্ষরগুলি টাইপ করেন এবং টিপেন PgUp, বাশ ইতিহাস থেকে কেবল একই আদেশগুলি প্রদর্শিত হবে যা একই অক্ষর দিয়ে শুরু হয়। (এই পরিবর্তনটি হওয়ার পরে কেবল খোলা শেলগুলিতে কাজ করা)

  • !!শেলটিতে একটি কমান্ডের পরিবর্তে টাইপ করুন, এটি শেষ কমান্ডটির পুনরাবৃত্তি করবে (এ সম্পর্কিত আরও তথ্যের জন্য ব্যাশ ম্যানপেজে 'EXতিহাসিক বিবরণ' দেখুন)।


1
এবং যদি আপনি এটি কোনও ইতিহাস না রাখতে চান তবে unset HISTFILEআপনার ~ / .Bashrc এ দিন। তারপরে এটি কেবল ইতিহাসের স্মৃতিতে রাখবে, প্রতিটি নতুন শেল ডাকে এটি সাফ করে।
একটি সিভিএন

10

কমান্ড ইতিহাস সাধারণত .bash_historyআপনার হোম ডিরেক্টরিতে ফাইলটিতে প্রতি ব্যবহারকারী ভিত্তিতে সংরক্ষণ করা হয় । মানে, প্রতিটি ব্যবহারকারীর নিজস্ব নির্ধারিত কমান্ডের সেট রয়েছে।

যখন একাধিক টার্মিনাল সেশনগুলি খোলা থাকে তারা তীর কী টিপে টিপানোর সময় আপনাকে বিভিন্ন কমান্ড দেখাতে পারে তবে আপনি যখন সমস্ত টার্মিনাল উইন্ডোটি বন্ধ করবেন তখন বিভিন্ন টার্মিনাল সেশন থেকে ইতিহাস একটি সাধারণ ~/.bash_historyফাইলে মিশে যাবে ।

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