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


59

যখন আমরা ব্যবহার clearকমান্ড বা Ctrl+ + Lটার্মিনাল, এটা টার্মিনাল মুছে ফেলা হবে কিন্তু আমরা এখনও সর্বশেষ ব্যবহৃত কম্যান্ড দেখতে ফিরে স্ক্রল করতে পারেন। টার্মিনাল পুরোপুরি সাফ করার কোনও উপায় আছে কি?


এটি টার্মিনাল নির্ভর, এবং উত্তরগুলির কোনওটিরই ঠিকানা এটি নয়।
থমাস ডিকি

উত্তর:


69

আপনি ব্যবহার করতে পারেন tput reset

এছাড়াও resetএবং tput resetআপনি নিম্নলিখিত শেল স্ক্রিপ্ট ব্যবহার করতে পারেন।

#!/bin/sh
echo -e \\033c

এটি কনসোলটিতে নিয়ন্ত্রণের অক্ষর প্রেরণ করে Esc-Cযা টার্মিনালটি পুনরায় সেট করে।

গুগল কীওয়ার্ড: লিনাক্স কনসোল নিয়ন্ত্রণ সিকোয়েন্সস

man console_codes বলেছেন:

সিকোয়েন্স ইএসসি সি একটি টার্মিনাল রিসেটের কারণ, যা আপনি চান যদি স্ক্রিনটি সমস্ত গার্ফড থাকে। শীর্ষ-পরামর্শ দেওয়া "প্রতিধ্বনি ^ V ^ O" কেবলমাত্র জি 0 কারেন্ট তৈরি করবে, তবে কোনও গ্যারান্টি নেই যে টেবিলে জি0 পয়েন্ট দেয়)। কিছু বিতরণে একটি প্রোগ্রাম পুনরায় সেট করা হয় (1) যা কেবল "প্রতিধ্বনি। [সি" করে। যদি কনসোলের জন্য আপনার টার্মিনো এন্ট্রিটি সঠিক হয় (এবং এতে একটি এন্ট্রি রয়েছে RSS1 = \ ইসি), তবে "tput রিসেট "ও কাজ করবে।


1
রিসেট এবং টিপুট রিসেটের মধ্যে পার্থক্য কী?
টুথর্ট

tput resetresetউবুন্টু 16.04 এর চেয়ে দ্রুততর , কমপক্ষে
আইভান রদ্রিগেজ টরেস

5
-1, আপনি যদি স্ক্রোল আপ করে থাকেন তবে আপনি এখনও বাফারটি দেখতে পারবেন
জোও পিমেন্টেল

15

আপনি resetকমান্ডটি ব্যবহার করতে পারেন , এটি টার্মিনাল সেটিংস পুনরায় সেট করবে।


15

আমি জানি আপনি একটি জিনোম টার্মিনালে আছেন তবে আমি ভেবেছিলাম যে ম্যাকের জন্য (আমার মতো) অন্যদের জন্য আমি একটি টিপ দিয়ে উত্তর দেব:

আপনি যদি ব্যবহার করছেন Terminal.appবা iTerm.appতারপরে Control+Lস্ক্রোল করবেন তাই টার্মিনালটি ফাঁকা দেখাচ্ছে তবে Cmd+Kবাস্তবে টার্মিনালটি পুনরায় সেট করা হবে / স্ক্রোল-ব্যাক সাফ করুন।

অথবা, আপনি যদি আপনার টার্মিনালের জন্য কীবোর্ড পছন্দগুলি সেট করতে সক্ষম হন তবে আপনি উপরে বর্ণিত হিসাবে Ctrl+Kইনপুট এর মতো কিছু বরাদ্দ করতে সক্ষম হতে পারেন echo -e \\033c


2
Cmd+Kআমি কি চেয়েছিলাম ty
গৌরব গান্ধী

9

অ্যান্থনের উত্তরটি কে.ডি. কনসোল-এ কাজ করে তবে urxvt নয়। Urxvt- এ, আমি কয়েক বছর ধরে রিসেটটি ব্যবহার করে স্ক্রোলব্যাকটি সাফ করার জন্য ব্যবহার করি (এটি অন্যান্য সমস্ত কাজ সহ) এবং কনসোলে এটি কাজ করে নি বলে সন্তুষ্ট ছিল না। তাই এখন লিনাক্সের জন্য আমার একটি নতুন নাম আছে:

alias allclear='clear; echo -e "\033c\e[3J"'

তবে এটি ওএস এক্সে কাজ করে না

tput reset কোন প্রসঙ্গে AFAICT কাজ করে না।

কেডিএস কনসোলে, ctrl- shift- kস্ক্রোলব্যাক সাফ করে (বর্তমান শেল প্রম্পট সহ, তাই এটি সম্পূর্ণ শূন্য)। ওএস এক্স-এর আইটির্ম বা অ্যাপলের টার্মিনালে cmd- shift- kএছাড়াও স্ক্রোলব্যাক সাফ করে। Urxvt এ এই বৈশিষ্ট্যটি যুক্ত করতে, এটি ~ / .আরক্ষেত্রগুলিতে যুক্ত করুন:

urxvt*keysym.C-S-K: command:\033c

এই উত্তরটির উত্তর হ'ল লিনাক্স ব্যাশ ব্যবহার করা যে কেউ পছন্দ করবে যদি তারা ম্যাকের উপর যেমন কমান্ড + কে চাপায় তেমন ফলাফলের প্রত্যাশা করে তবে আমি নীচে নিম্নলিখিত ফাংশনটি যুক্ত করে এটিকে একক আদেশে পরিণত করেছি /etc/bash.bashrc এর (তারপরে সার্ভার থেকে লগ আউট করুন, লগ ইন করুন এবং এটি এলক্লেয়ার কমান্ডের সাহায্যে কাজ করবে): cho allclear(){প্রতিধ্বনি "ক্লিয়ারিং টার্মিনাল এবং স্ক্রোলব্যাক ..." `` 1.5 1.5 `পরিষ্কার; প্রতিধ্বনি -e "\ 033c [e [3J" ` }` সম্পাদনা করুন: কাজের জন্য ফর্ম্যাট করা যায় না। যদি কেউ এটি সম্পাদনা করতে সক্ষম হয় তবে এটি পাঠযোগ্য, আমি এটির প্রশংসা করব।
KLaw

3

আমি এই নেটগুলিতে কয়েক বছর আগে পেয়েছি এবং আমার জন্য ভাল কাজ করে। এটি কোনও স্ক্রোলের ইতিহাস ছাড়াই টার্মিনালটি সম্পূর্ণভাবে সাফ করে।

echo -e "\e[3J"

2

আমি F12নিম্নলিখিত প্রতিটি শেলটিতে পর্দা সাফ করার জন্য ম্যাপ করেছি : ব্যাশ , সিএসএস এবং ফিশ শেল । আমার কমান্ডটি পূর্ববর্তী সকলের চেয়ে আলাদা কারণ আপনি ইতিমধ্যে বর্তমান লাইনে যা টাইপ করেছেন তা এটি সংরক্ষণ করে।
(দ্রষ্টব্য: নীচের সমস্ত কনফিগারেশনগুলি টার্মিনাল নির্ভর, তবে আমি আশা করি যে তারা কার্যত সর্বত্র কাজ করবে)

সজোরে আঘাত

ফাইলটি খুলুন ~/.inputrcএবং নিম্নলিখিত লাইনটি সন্নিবেশ করুন:

"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"

প্রাপ্তিসাধ্য বাঁধাই নতুন কী আছে, হয় একটি নতুন টার্মিনাল খুলতে বা টাইপ Ctrl+ + Xতারপর Ctrl+ + Rবর্তমান টার্মিনালে .inputrc ফাইল পুনরায় লোড করার।

ব্যাখ্যা
ফাইল ~ / .inputrc বাশ টার্মিনালের কী বাইন্ডিংগুলি নিয়ন্ত্রণ করে।

লাইন সম্পর্কে:

  1. লাইনের প্রথম অংশ "\e[24~", কীটি মানচিত্র করে F12
  2. C-k( Ctrl+ + X) হত্যা আংটি (ব্যাশ এর কপি-এবং-অতীত মেমরি) মুছে যায়।
  3. স্থানটি পরবর্তী কমান্ডের একটি বীপ এড়িয়ে চলে।
  4. C-u( Ctrl+ + U) হত্যা আংটি বর্তমান লাইন পাঠায়, এবং এটি নিশ্চিহ্ন।
  5. echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\nটার্মিনালে দুই গোষ্ঠীবদ্ধে কমান্ড পাঠায়। এগুলি দ্বারা পৃথক করা হয় ;এবং দ্বারা সমাপ্ত হয় \n
    • echo -ne '\\ec\\e[3J'পর্দা মুছে যায়।
    • history -d $((HISTCMD-1))ইতিহাসে প্রবেশ এই দুটি কমান্ড এড়াতে।
  6. C-y( Ctrl+ + Y) হত্যা আংটি দ্বারা সঞ্চিত পেস্ট C-uকমান্ড।
  7. C-?( Ctrl+ + ?) সমতূল্য Backspaceএবং স্থান উপরে ধাপ 3 সন্নিবেশ করানো সরিয়ে ফেলা হয়।

তথ্যসূত্র:

csh শেল

বেলো কমান্ডটি টাইপ করুন। প্রতিটি নতুন টার্মিনালের কী বাইন্ডিং লোড করতে এটি
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
আপনার .cshrcফাইলে beোকানো যেতে পারে ।
(হ্যাঁ, এটি ব্যাশের চেয়ে অনেক সহজ)

ফিশ শেল

বেলো কমান্ডটি টাইপ করুন। প্রতিটি নতুন টার্মিনালের কী বাইন্ডিং লোড করতে আপনি
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
ফাংশনটি সম্পাদনা করতে এবং সংরক্ষণ করতে পারেন fish_user_key_bindings
(হ্যাঁ, এটি ব্যাশের চেয়ে অনেক সহজ)


2

[উবুন্টু 16.04]

.Bash_history ফাইল ব্যবহারকারীর হোম ডিরেক্টরির মধ্যে তৈরি করা হয় একবার টার্মিনাল বন্ধ করা হয়

এটি দরকারী, তবে আপনি যদি এটি চান এটি মুছতে পারেন .. তবুও এটি টার্মিনালটি ব্যবহারের সাথে সাথেই তৈরি করা হবে।

আপনি এটি থেকে ম্যানুয়ালি মুছে ফেলতে পারেন:

  • আপনার ফাইল ব্রাউজার।

  • টার্মিনাল: মনে রাখবেন যে আপনি টার্মিনালটি বন্ধ করার সময় একটি নতুন .bash_history ফাইল তৈরি হবে (এটির ডিফল্ট কনফিগারেশনের ভিত্তিতে)।

অথবা আপনি যদি বাশার্ক থেকে সংযুক্ত কোনও ফাইলে আপনার প্রয়োজনীয় কার্যকারিতাটি সংরক্ষণ করেন তবে আপনি একটি কাস্টম ফাংশন কল করতে পারেন .. আপনি নিজের কোডটি সেখানে রাখতে চাইলে নিজেই বাশার্ক সম্পাদনা করতে পারেন তবে পরবর্তী উদাহরণগুলি পৃথক ফাইলে রয়েছে

সত্যই এটি আমার পক্ষে কার্যকর নয় তবে আপনি যদি ইচ্ছা করেন কমান্ডের ইতিহাসটি প্রস্থান করার আগে মুছে ফেলতে পারেন তবে আপনি এটি করতে পারতেন:

.ব্যাশ_কাস্টম # এটি আমার কাস্টম ফাইল

blotout() {
    HISTSIZE=0
    rm $HOME/.bash_history
    exit
}

তারপরে আমার ফাইলটির নাম এবং পথ যুক্ত করুন এর নীচে
.bashrc # এটি ব্যাশের কনফিগারেশন ফাইল (আমার মনে হয়)

# existent code
#...
#..

# import user customizations
source $HOME/.bash_custom

এবং সব শেষ.

তবে আপনি যা চান ঠিক তা করতে আপনার কাস্টম ফাইলটিতে এই ফাংশনটি প্রয়োজন এবং এটির লিঙ্ক করুন:

refresh() {
        tput reset
        H=HISTSIZE
        HISTSIZE=0
        HISTSIZE=H
}

অথবা আপনি চান তবে কেবল বাশার্কে ফাংশনটি রাখুন তবে আমি নিশ্চিত না ফাংশনের পরে আপনার সম্ভবত একটি রফতানি বিবৃতি প্রয়োজন এবং ফাইলটি আপডেট হলে সম্ভবত আপনার ফাংশনগুলি হারিয়ে গেছে .. আমিও সে সম্পর্কে নিশ্চিত নই: ডি।
মনে রাখবেন .bashrc বা আপনার 'কাস্টম' ফাইল সম্পাদনা করার সময় আপনাকে টার্মিনালটি পুনরায় শুরু করতে হবে।


1

আমার জন্য, সেন্টোস against এর বিপরীতে পটিটিওয়াই ব্যবহার করে স্পষ্ট স্ক্রোলব্যাকের মধ্যে কেবল স্পষ্ট কমান্ড রেখে দেয়, তবে "ক্লিয়ার অ্যান্ড অ্যান্ড ক্লিয়ার" চলমান একই সময়ে দুটি কমান্ডের স্পষ্ট কমান্ড পুরোপুরি স্ক্রোলব্যাকটি সাফ করে এবং আমাকে কোনও স্ক্রোলবার ছাড়েনি। চেষ্টা কর. এটি একটি অদ্ভুত সমাধান তবে এগুলির কোনওটিই কার্যকরভাবে স্ক্রোলব্যাকটি সাফ করেনি এবং এটি করে।


0

যোগ করা হয়েছে ~/.inputrcসম্পূর্ণ ক্লিয়ারিং জুড়তে অনুমতি F12:

"\e[24~":'!echo -ne \047\\0033\\0143\047\r'

0

ফেডোরা 30-তে, ইতিহাস মুছে ফেলার কাজটি $ HOME / .bash_history ফাইলটি মুছে ফেলার মাধ্যমে করা হয়। কীবোর্ডের মাধ্যমে টার্মিনাল ইতিহাসের ফাইল সাফ করার সবচেয়ে সহজ উপায় হ'ল:

  • প্রতিটি জিনোম টার্মিনাল উইন্ডোটি বন্ধ করতে Alt+ টিপুন F4, প্রয়োজন অনুসারে উইন্ডোজ দিয়ে সাইকেল চালিয়ে Alt+ Tabবা Alt+ Shift+ করুন Tab। (সমস্ত টার্মিনাল উইন্ডো অবশ্যই বন্ধ করতে হবে কারণ .bash_history ফাইলটি বন্ধ হয়ে গেলে তৈরি করা বা আপডেট করা হয়))
  • চাপুন Alt+ F2
  • (জিনোম) ফাইল অ্যাপ্লিকেশনটি (যা আগে নটিলাস নামে পরিচিত ছিল) খোলার nautilusজন্য Enterকীটি টাইপ করুন এবং টিপুন ।
  • লুকানো ফাইলগুলি দেখানোর জন্য প্রয়োজন হলে Ctrl+ টিপুন H
  • টাইপ করুন .bash_history(যা উইন্ডোটি খোলার সাথে সাথে টাইপ করা হলে অনুসন্ধান বারে উপস্থিত হওয়া উচিত; অন্যথায়, অনুসন্ধান বারটি Ctrl+ এর মাধ্যমে অ্যাক্সেস করা যায় L)।
  • ফাইলটি নির্বাচন করতে ডাউন তীর কী টিপুন, যা কেবলমাত্র অনুসন্ধান ফলাফল হওয়া উচিত।
  • স্থায়ীভাবে ফাইলটি মুছতে Shift+ টিপুন Delete। (আপনি যদি Deleteপরিবর্তে অশোধিত কী ব্যবহার করেন তবে .bash_history ফাইলটি ট্র্যাশ ফোল্ডারের মাধ্যমে এখনও অ্যাক্সেসযোগ্য হবে))

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

আপনার উত্তরটি ব্যাখ্যা করা এবং ফর্ম্যাট করা আপনি কমপক্ষে করতে পারেন।
প্যারাডক্স

(1) এটি স্পষ্ট নয় যে ওপি পূর্ববর্তী কমান্ডগুলির শেলের স্মৃতি (ইতিহাস) মুছে ফেলতে চায় (প্রশ্নটি টার্মিনাল সম্পর্কে )। আপনি এটি দেখতে পাচ্ছেন না, তবে history -cপূর্ববর্তী দুটি উত্তরে উপস্থাপন করা হয়েছে এবং প্রশ্নের সঠিক উত্তর না পেয়ে সেগুলি মুছে ফেলা হয়েছে। (২) টার্মিনালটি উইন্ডোটি বন্ধ করার সময় (সম্ভবত) পূর্ববর্তী কমান্ডগুলির টার্মিনালের স্মৃতি মুছে ফেলা হবে, এটি অপরিবর্তিত থেকে খুব দূরে যে ওপি এটি করতে চায়। … এবং পিএস একটি একক exitকমান্ড টার্মিনাল উইন্ডোটি বন্ধ করার গ্যারান্টিযুক্ত নয়।
জি ম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.