সম্পূর্ণভাবে বাশার ইতিহাস কীভাবে সাফ করবেন?


254

আমি আমার সার্ভারের ইতিহাস থেকে পূর্ববর্তী সমস্ত কমান্ড সাফ করতে চাই। আমি ব্যবহার করেছি history -cএবং এটি সমস্ত জিনিস পরিষ্কার হয়ে গেছে বলে মনে হয় তবে আমি যখন সার্ভারে চলে যাই তখন সমস্ত কমান্ডগুলি এখনও সেখানে রয়েছে।

আমি কীভাবে এগুলি স্থায়ীভাবে সাফ করতে পারি?

উত্তর:


332

ফাইলটি ~/.bash_historyইতিহাস ধারণ করে।

সার্ভারে ব্যাশ ইতিহাস পুরোপুরি সাফ করতে, টার্মিনালটি খুলুন এবং টাইপ করুন

cat /dev/null > ~/.bash_history

অন্যান্য বিকল্প উপায় লিঙ্ক করা ~/.bash_historyহয়/dev/null

যাহোক,

এক বিরক্তিকর পার্শ্ব প্রতিক্রিয়া যে ইতিহাস এন্ট্রিগুলি একটি আছে মেমরি কপি এবং এটি হবে ফাইল আপনি লগ আউট করলে ফিরে ফ্লাশ

এটি কার্যকর করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন (আমার জন্য কাজ করেছেন):

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

17
আপনি উপরের কমান্ডটি .bashrc এবং .bash_logout এ রাখতে পারেন। আপনি যখন লগইন করবেন তখন এর অর্থ কী হবে তার সুস্পষ্ট ইতিহাস থাকবে এবং যখন আপনি লগ আউট করবেন তখন আপনার ইতিহাস সাফ হয়ে যাবে
কাসিম

26
আপনার সেখানে কেন / দেব / নাল দরকার? করবে না > ~/.bash_hstoryযথেষ্ট হবে?
কনফিগারকারী

4
হ্যাঁ এটা যথেষ্ট হবে!
fromnaboo

3
আমি এসএসএইচের মাধ্যমে সংযুক্ত হওয়ার সময় এটি রাস্পবেরি বাক্সে করার চেষ্টা করেছি। @ কাসিমের পরামর্শ অনুসারে আমি উপরের কমান্ডটি (বিড়াল / দেব / নাল> ~ / .বাশ_ইস্টরি && ইতিহাস -c&& প্রস্থান) উভয়ই জুড়েছি ash এখন আমি এসএসএইচ দিয়ে সংযোগ করার সাথে সাথে দূরবর্তী হোস্ট সংযোগটি বন্ধ করে (মোডেড প্রিন্ট করার পরে)। সহায়তা: /
উন্নত

14
আপনি যখন সঠিকভাবে না পড়া এবং প্রক্রিয়াজাতকরণ এবং ডেটা প্রবাহকে বুঝতে না পেরে অন্ধভাবে জিনিসগুলি করেন তখন কী হয় তা দেখাতে যায়। এটি খারাপ যোগাযোগের ক্ষতিগুলিও দেখায়। দেবভা 2 যা করেছে তা এটি একবার চালানো হয়েছিল এবং কাসিমের যা লেখা উচিত তা হ'ল লগইন স্ক্রিপ্টে যুক্ত করার আগে প্রস্থান আদেশটি সরিয়ে দেওয়া।
শ্রী

141

কি করো:

ইন যে খোলা ব্যাশ শেল (আপনি একাধিক টার্মিনাল খোলা থাকতে পারে):

history -c
history -w

কেন: উপরে উল্লিখিত হিসাবে, history -cফাইলটি খালি করে ~/.bash_history। এটি লক্ষণীয় গুরুত্বপূর্ণ যে বাশ শেলটি তাত্ক্ষণিকভাবে ইতিহাসকে bash_history ফাইলটিতে ফ্লাশ করে না। সুতরাং, (1) ইতিহাসে ফাইলটিতে ফ্লাশ করা গুরুত্বপূর্ণ, এবং (2) সমস্ত টার্মিনালে ইতিহাস মুছে ফেলা উচিত । উপরের আদেশগুলি এটি করে।

তথ্যসূত্র: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and- কি-to-watch-out-for /


3
আসলে, অন্য উপায় আমার পক্ষে কাজ করেছিল।
ক্রিস্টিয়ানপ

24
অনেক ক্ষেত্রে, আপনি এই দুটি কমান্ড একসাথে একত্রিত করতে পারেন:history -cw
এলিয়ট

2
কোনও কারণে এটি উবুন্টু 14.04 এ সম্ভবত কাজ করে না। এটা করা উচিত কিন্তু তা না। আপনি যদি "ইতিহাস -cw" কমান্ডটি জারি করেন তবে আপনি আপ তীর দিয়ে নিশ্চিত করতে পারবেন যে ইতিহাস আর নেই, তবে আপনি যদি অন্য একটি টার্মিনাল উইন্ডোটি (ইউনিটির ডেস্কটপে) শিফট + দিয়ে টার্মিনাল আইকনে ক্লিক করুন (আমার কাছে আছে) লঞ্চারে পিন করা হয়েছে) কমান্ডের ইতিহাস ফিরে এসেছে, আপনি কতবার "ইতিহাস -cw" করেন তা বিবেচনাধীন নয়। "বিড়াল / দেব / নাল> ~ / .Bash_history" আমার পক্ষে কাজ করার একমাত্র উপায়।
হেটোরু হ্যানসু

যদিও আমি উবন্তু নই, ওএসএক্সে আমার ব্যাশ শেলের জন্য ভাল কাজ করে।
স্কট বিগস

3
এটি ইতিহাস -c এবং তারপরে ইতিহাস -W, আপনি প্রথমে ইতিহাস সাফ করুন তারপরে পরিবর্তনগুলি লিখুন। টার্মিনালটি বন্ধ করে এবং এটি আবার খোলার মাধ্যমে এটি সহজেই নিশ্চিত হয়ে যায় - প্রথম কমান্ডগুলি আবার রয়েছে, এর সাথে - শেষ ইতিহাস কার্যকরভাবে সাফ হয়ে গেছে।
হেটোরু হ্যানসু

56

চিরকালের জন্য ইতিহাস সাফ করার জন্য নিম্নলিখিত কমান্ডগুলি কার্যকর করুন

history -c && history -w

শুভকামনা!


3
গৃহীত উত্তরের চেয়ে অনেক ভাল। ;)
চিরামিসু

এই উত্তরগুলি যদি এই পতাকাগুলি কী করে তা ব্যাখ্যা করে (এবং কেন / যখন তারা সঠিক কমান্ড ব্যবহার করতে হবে) তবে এই উত্তরটি আরও বেশি সহায়ক হবে।
লার্শ

20

আরও একটি সহজ সরল রয়েছে: history -cটার্মিনাল প্রম্পটে চলছে এবং চলে গেছে bash_historyফাইলটিতে থাকা সমস্ত এন্ট্রি ।


না এটা না. লগ আউট, লগ ইন, তীর আপ আমাকে সবকিছু দেয়। আপনার "ইতিহাস-ও" দরকার।
stolsvik

1
আপনি যদি ওপি'র প্রশ্নটি পড়ে থাকেন তবে আপনি জানতে পারবেন যে history -cসঠিক পদ্ধতি ব্যবহার করা হ'ল এই প্রশ্নের কারণ।
জে.মনি

10

এটি করার আরেকটি উপায় হ'ল কমান্ড ~/.bash_historyব্যবহার করে ফাইলটি মুছে ফেলা rm ~/.bash_history। আপনি যখন অন্য সময় লগইন করবেন তখন .bash_historyফাইলটি স্বয়ংক্রিয়ভাবে তৈরি হয়ে যাবে।


4
আপনি লগ আউট করার সময় কমপক্ষে কয়েকটি OS- এ। / .Bash_history ডিস্কে লেখা থাকে - * বুন্টস সম্পর্কে নিশ্চিত নন।
d -_- বি

7

বর্তমান শেলের ইতিহাস সাফ করুন:

history -c

আপনি যখন লগ আউট করেন, আপনার বর্তমান শেলটির ইতিহাসটি number / .bash_history এ সংযুক্ত করা হয়, যা পূর্বের শাঁসের ইতিহাসের একটি ক্যাশে, সর্বাধিক সংখ্যায় ("ম্যান বাশ" এ HISFILESIZE দেখুন)।

আপনি যদি ইতিহাস পুরোপুরি মুছে ফেলতে চান, তবে আপনাকে অবশ্যই উপরের ent / .Bash_history খালি করতে হবে যা উপরের অনেকগুলি এন্ট্রি প্রস্তাব করেছে। যেমন:

history -c && history -w

এটি বর্তমান শেলের ইতিহাস সাফ করে এবং তারপরে বর্তমান শেলটির ইতিহাসকে (খালি)। / .Bash_history ওভাররাইট করতে বাধ্য করে .... বা আরও নির্ভুল হতে, এটি এটি HISFILE (ও ~ / .bash_history এ ডিফল্ট) ওভাররাইট করতে বাধ্য করে।

আশাকরি এটা সাহায্য করবে.


4
আপনার উত্তরটি সঠিক, তবে প্রশ্নটি দুটি বছর পুরনো ছিল, উত্তরগুলি গ্রহণ করেছিল এবং আপনি যে উত্তরটি দিয়েছিলেন সেগুলিও অন্তর্ভুক্ত করেছিল।
চার্লস সবুজ

6
rm ~/.bash_history; history -c; logout

এখন আবার লগ ইন করুন এবং সাক্ষ্য দিন যে আপনার তীর আপ আপনাকে কিছু দেয় না।


1
@ ক্যাসিএ এটি একটি সার্ভার এবং একটি ssh অধিবেশন সম্পর্কে, তাই সম্পাদনা করার দরকার নেই ...
রাদু রেডানু

0

আর একবার চেষ্টা কর

আপনার সম্পাদনা করুন .profileএবং ফাইলের শেষে নীচের লাইনটি যুক্ত করুন

rm -f .bash_history

এই বার, আপনি যখনই লগইন করবেন, এটি আপনার .bash_history ফাইলটি স্বয়ংক্রিয়ভাবে আপনার জন্য মুছে ফেলবে। -R পুনরাবৃত্তির অপসারণ বিকল্প যুক্ত করা বিপজ্জনক বলে মনে হচ্ছে এবং এটির প্রয়োজন নেই।

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