আমি কীভাবে টার্মিনালের ইতিহাস সাফ করব?


93

আমি লিনাক্স মিন্ট 17.1 রেবেকা প্রায় 2 দিন ব্যবহার করছি এবং ঘটনাক্রমে টার্মিনালে আমার পাসওয়ার্ড টাইপ করেছি যা এখন আমি টাইপ করা কমান্ডের ইতিহাসের তালিকায় প্রদর্শিত হয়।

আমি টার্মিনালের ইতিহাস পুরোপুরি সাফ করতে চাই। আমি টার্মিনালে নিম্নলিখিত কমান্ডগুলি ব্যবহার করার চেষ্টা করেছি যা আমি ভেবেছিলাম ইতিহাস চিরতরে মুছে ফেলবে তবে তারা তা করে না:

history -c
reset
tput reset

উপরের কমান্ডগুলি "টার্মিনাল থেকে ইতিহাস মুছে ফেলবে" তবে আমি যখন প্রস্থান করব এবং একটি নতুন উপস্থিত করব আমার পূর্ববর্তী ইতিহাসটি এখনও আছে এবং সমস্তটি হিস্ট্রি কমান্ডটি ব্যবহার করে এবং আমার কীবোর্ডের ইউপি তীর টিপতে আবার তালিকাভুক্ত করা যেতে পারে । আমি আমার ইতিহাস পুরোপুরি পরিষ্কার না করা পর্যন্ত এটি ঘটতে চাই না, তবে আমি এটি ব্যবহার চালিয়ে যেতে চাই।

আমি কীভাবে আমার টার্মিনালের ইতিহাস পুরোপুরি সাফ করতে পারি - চিরতরে এবং তাজা শুরু করতে পারি?

দয়া করে নোট করুন: ইতিহাস সংরক্ষণ না করে আমি টার্মিনালটি থেকে বেরিয়ে আসতে চাই না কেবল এই এক উদাহরণে চিরকালের জন্য সাফ করুন।


1
sed -i "s/$your_pass//g" ~/.bash_history...
জেসনওয়ারিয়ান

3
@ জেসনওয়ারিয়ান এই একা সমস্যার সমাধান করতে পারেনি কারণ সেড কমান্ডটি শেলের ইতিহাসে শেষ হবে।
গিলস

1
আমি @ জেসনওয়ারিয়ান থেকে কোডটি ব্যবহার করার চেষ্টা করেছি কিন্তু আমি পেয়েছি: সেড: -e এক্সপ্রেশন # 1, চর 0: আগের কোনও নিয়মিত প্রকাশ যা আমি মনে করি যে আমি জানি এবং কেন এটি আমাকে অনুসন্ধান এবং কিছুটা বিশৃঙ্খলা থেকে এই নিয়ে আসতে সাহায্য করবে: বিড়াল, / dev / নাল> ~ / .bash_history && ইতিহাস -c && প্রস্থান
শাম্ভালা

1
@Gilles: আপনি ঠিক: COMMAND সামনে একটি স্থান ... হতে সেখানে অনুমিত হয়
jasonwryan

উত্তর:


145

resetবা tput resetকেবল টার্মিনালে জিনিসগুলি করে। ইতিহাস পুরোপুরি শেল দ্বারা পরিচালিত হয়, যা ক্ষতিগ্রস্থ হয় না।

history -cবর্তমান শেল আপনার ইতিহাস সাফ করে। যদি আপনি কেবল নিজের পাসওয়ার্ডটি টাইপ করে থাকেন এবং সেই শেলটি থেকে বেরিয়ে না থাকেন বা এর ইতিহাসটি স্পষ্টভাবে সংরক্ষণ না করে থাকেন তবে তা যথেষ্ট (তবে ওভারকিল)।

আপনি যখন বাশ থেকে প্রস্থান করবেন, ইতিহাস ইতিহাস ফাইলে সংরক্ষণ করা হবে যা পূর্বনির্ধারিতভাবে .bash_historyআপনার হোম ডিরেক্টরিতে থাকে। আরও স্পষ্টভাবে, বর্তমান অধিবেশন চলাকালীন ইতিহাস ফাইলটিতে সংযুক্ত করা হয়েছে; ইতিমধ্যে উপস্থিত এন্ট্রিগুলি প্রভাবিত নয়। বর্তমান শেলের ইতিহাসের সাথে ইতিহাসের ফাইলটি ওভাররাইট করতে রান করুন history -w

আপনার সমস্ত ইতিহাস এন্ট্রি মুছে ফেলার পরিবর্তে .bash_historyআপনি একটি সম্পাদক খুলতে এবং যে লাইনগুলি রাখতে চান না তা মুছতে পারেন। আপনি এ্যাড ব্যাশের ভিতরেও করতে পারেন, কম কম স্বাচ্ছন্দ্যে, historyসমস্ত এন্ট্রি প্রদর্শন করার জন্য, তারপরে history -dআপনি চান না এমন এন্ট্রিগুলি মুছতে এবং শেষ history -wপর্যন্ত সংরক্ষণ করতে।

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


1
আমি আপনার উত্তরটি পছন্দ করি এবং আপনি গ্রহণযোগ্য হবেন কারণ আপনি আমাকে বেশ কয়েকটি জিনিস বলেছিলেন যা আমি জানতাম না যা খুব দরকারী। আমিও আমার পাসওয়ার্ড পরিবর্তন করব!
শম্ভলা

historyইতিহাসের লগের সামগ্রী এবং আপনি মুছে ফেলতে চান এমন লাইন নম্বরগুলি পরীক্ষা করার জন্য প্রথমে টাইপ করুন, আপনি ইতিহাসের লগে 1000 নম্বর লাইনটি মুছতে চান, তারপরেhistory -d 1000
ক্লড ক্লোম্ব

যদি আমি .bash_history ফাইলটি সরাসরি পরিবর্তন করি তবে ইতিহাস কমান্ডটি এখনও লগ আউট / লগ ইন না করা অবধি পরিবর্তনের আগে যেমন কমান্ডগুলি প্রদর্শন করে
বেনিটক

35

আমি ইতিহাসের চেষ্টা করেছি - কিন্তু আমরা বাইরে বের হয়ে আবার খুললে ইতিহাস আবার ফিরে আসে his এটি আমাকে সাহায্য করেছিল।

cat /dev/null > ~/.bash_history && history -c && exit

এটি ইতিহাসের ফাইলে সংরক্ষণ করা ইতিহাসের পাশাপাশি বর্তমান সেশনের ইতিহাসকে সাফ করে (যাতে এটি bashপ্রস্থান করার সময় ফাইলটিতে সংরক্ষণ করা যায় না )। এটি তখন খোল থেকে প্রস্থান করে। পরবর্তী শেল সেশনের কোনও ইতিহাস থাকবে না।


18

আপনার সমস্ত ইতিহাস এন্ট্রি মুছে ফেলার পরিবর্তে, আপনার টার্মিনালে এই কমান্ডগুলি টাইপ করুন:

  1. history -c (ইতিহাস মুছে ফেলার জন্য)
  2. history -w (ইতিহাস সংরক্ষণ করুন)

বিকল্প inc_append_historyবা share_historyসেট করা থাকলে zsh এর সাথে এটি পর্যাপ্ত হবে না ।
সাগা

5

এখানে একটি সুরক্ষা সমস্যা আছে বলে আপনার ইতিহাস ফাইলটি নিরাপদে মুছে ফেলা উচিত।

$ shred -u ~/.bash_history && touch ~/.bash_history

3

একইভাবে সমস্যার মুখোমুখি হওয়া একজন নিওফাইটি আমি ইতিহাসের ফাইলটি মুছে ফেলা ও পুনরুদ্ধার করার পরিবর্তে নৃশংস অভিযাত্রীর মুখোমুখি হয়েছি: -

rm .bash_history
touch .bash_history

আমি অবগত যে কোনও অপ্রীতিকর পার্শ্ব প্রতিক্রিয়া না বাড়িয়ে এটি আমার পক্ষে কাজ করেছিল।


3

ধরন: history -c; rm ~/.bash_history

history -cআপনার বর্তমান সেশনের ইতিহাস rm ~/.bash_historyসাফ করে, আপনার দীর্ঘমেয়াদী ইতিহাস history -c; rm ~/.bash_historyসাফ করে , তাই উভয়ই সাফ করে।


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