আমার টার্মিনালটি পুনরায় সেট করতে এবং সাফ করতে আমি কমান্ডগুলি ব্যবহার করতে পারি?


64

আমি কমান্ডটি ব্যবহার করছি:

reset

আমার টার্মিনাল সাফ করার জন্য যদিও আমি বেশ নিশ্চিত যে এটি আমার করা উচিত নয়। নাম অনুসারে রিসেট করুন আপনার পুরো টার্মিনালটিকে পুনরায় সেট করুন (প্রচুর স্টাফ পরিবর্তন করে)। আমি যা চাই তা এখানে:

আমি মূলত কমান্ড ব্যবহার করতে চান clear। তবে আপনি যদি সাফ করেন এবং তারপরে স্ক্রোল করেন তবে আপনি এখনও আগে থেকেই টন স্টাফ পাবেন। সাধারণভাবে এটি কোনও সমস্যা নয়, তবে আমি স্থূল লগগুলি লম্বা দেখছি এবং আমি নিশ্চিত করতে চাই যে আমি সর্বাধিক সাম্প্রতিকটি দেখছি। আমি জানি যে আমি ব্যবহার করতে পারি moreবা এর মতো কিছু কিন্তু আমি এই পদ্ধতির পছন্দ করি।


এখানে ঠিক কী জিজ্ঞাসা করা হচ্ছে তাতে অনেক বিভ্রান্তি রয়েছে বলে মনে হয়। আপনি কি আদৌ প্রশ্নটি পরিষ্কার করতে পারেন? আপনার টার্মিনাল স্ক্রোলব্যাক বাফারটি সাফ করে আপনি ঠিক কী সম্পাদনের চেষ্টা করছেন? (যদি তা হয় তবে আপনি কোন টার্মিনাল অ্যাপ্লিকেশনটি ব্যবহার করছেন?)
কোয়াকোট কোয়েক্সোট

1
Ctrl-L সাফ প্রোগ্রামটি কার্যকর করার অনুরূপ স্ক্রিনটি ব্যাশ (ইম্যাক্স মোডে, যা পূর্বনির্ধারিত) সাফ করবে।

সবেমাত্র ইন্টেলিজ আইডিইতে ব্যাশ টার্মিনালে এটি পরীক্ষা করা হয়েছে। সূক্ষ্মভাবে কাজ করে এবং স্ক্রোলব্যাকটি সাফ করে যা আমি যা চেয়েছিলাম ঠিক তেমন। ধন্যবাদ।
ইয়ান লুইস

আমি জানি এটির মৃত্যুর জবাব দেওয়া হয়েছে, তবে আমি মনে করি আপনি কী চান clear && printf '\033[3J'। কোনও টার্মিনাল পুনরায় সেট করা নেই, কেবল স্ক্রিনে পাঠ্য সাফ করুন। এই পোস্টটি দেখুন: superuser.com/questions/555554/…
jwd

উত্তর:


57

স্ক্রোলব্যাক বাফার ব্যাশের বৈশিষ্ট্য নয় তবে টার্মিনাল প্রোগ্রামের। আপনি কোন টার্মিনাল ব্যবহার করছেন তা আপনি বলেননি।

আপনি যদি xterm ব্যবহার করে থাকেন তবে আপনি টার্মিনালে ESC-c প্রতিধ্বনি করে সেভ করা লাইনগুলি সাফ করতে সক্ষম হবেন।

এটি আপনি যে কোনও টার্মিনাল প্রোগ্রাম ব্যবহার করছেন তাতে বা না কাজ করতে পারে।

লিনাক্সে এটি সম্ভবত কাজ করবে:

echo -e '\0033\0143'

ফ্রিবিএসডি তে ইকো গ্রহণ করে না - যাতে আপনি চেষ্টা করতে পারেন:

printf '\033\143'

আমি এক্সটার্ম ব্যবহার করছি। তবে আপনি কী বলতে চাইছেন তা আমি বুঝতে পারি না। আমি কি আক্ষরিকভাবে টাইপ করা উচিত echo ESC-c?
ষাটটি ফুটসুডুডে

2
@ সিক্স্টিফুটারসডুড: না, আক্ষরিক নয় ESC। উইকিপিডিয়ায় " ESCপালিত চরিত্র" এবং "কন্ট্রোল চরিত্র" নিবন্ধগুলি পড়ুন - প্রায়শই ASCII চরিত্র 0x1B বোঝাতে ব্যবহৃত হয়, যা আপনি ^Vঅনুসরণ করে টিপে সন্নিবেশ করতে পারেন Esc
মাধ্যাকর্ষণ

1
আপনার করা উচিত নয়। যদি আপনার সমাধানে কাঁচা টার্মিনাল পালানোর ক্রমগুলি অন্তর্ভুক্ত থাকে তবে আপনার সমাধানটি পুনর্বিবেচনা করা উচিত। আমি বিড়ালের পরিবর্তে "কম" ব্যবহার করব। আপনি যদি সত্যিই "টার্মিনাল অব্যাহতি ক্রম" সম্পর্কে জানতে চান তবে গুগল আপনাকে সহায়তা করতে পারে।
ক্রেগ

2
@ হারাল্ডনর্ডগ্রেন ইকো-ইয়ের চেয়ে বেশি প্রমিত প্রিন্টফ ব্যবহার করা আরও ভাল।
শুভ ব্যক্তি

3
এর \0143বদলে কেন c?
রুখ

51

প্রতিটি কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করুন:

  • clearটার্মিনাল উইন্ডো সাফ করতে ব্যবহার করুন ।

  • resetযখন আপনার টার্মিনালটি নিয়ন্ত্রণ সিকোয়েন্সগুলি দ্বারা বিভ্রান্ত হয় তখন সেটি পুনরায় সেট করতে ব্যবহার করুন ।

  • catআপনি যখন এক জায়গা থেকে অন্য জায়গায় নিরবচ্ছিন্নভাবে পুরো প্রচুর ডেটা স্ট্রিম করতে চান কেবল তখনই ব্যবহার করুন ।

  • আউটপুট পৃষ্ঠাগুলি দেখতে lessবা mostদেখতে পেজার প্রোগ্রাম ব্যবহার করুন ।

  • tail -f /var/log/foo.log /var/log/bar.logবিভিন্ন লগ ফাইল দেখতে ব্যবহার করুন ।

    • জিএনইউর tailসাহায্যে -Fবিকল্পটি আরও ভাল কারণ লগ ফাইলগুলির জন্য সাধারণভাবে একটি নতুন ফাইল উপস্থিত হওয়ার পরেও ফাইলটি অনুসরণ করা চালিয়ে যেতে পারে।

14
এটি আমার প্রশ্নের উত্তর দেয় না।
ষাট ফুটারসুডে

7
হ্যাঁ এটা করে। তাদের পড়ার জন্য বিড়াল ফাইল করবেন না, তাদের সাথে একত্রিত হওয়ার জন্য বিড়াল ফাইলগুলি। ফাইলগুলি পড়তে কম বা বেশি ব্যবহার করুন - তবে আপনার একই সমস্যা নেই।
ধনী ব্র্যাডশো

"বিড়ালের অকেজো ব্যবহার" সন্ধান করুন
গ্যালোইস

অনেক catকিছু পড়ার ব্যবহারের বিরোধিতা করে , তবে ছোট ফাইলগুলির জন্য এটি catব্যবহারের চেয়ে তাদের কাছে প্রচুর বোঝাপড়া করে less। একবার ফাইলটি টার্মিনালে ফেলে দেওয়ার lessপরে আপনি অন্য কিছু করার আগে বরখাস্ত না হয়ে আপনি যতবার ইচ্ছা ফাইলটি দেখতে / স্ক্রোল করতে পারেন ।
GKFX

22

কেবলমাত্র প্রযুক্তিগত উত্তর দেওয়ার জন্য: resetটার্মিনালটিকে পুনরায় পুনর্বহাল করুন, যেন এটি স্ক্র্যাচ থেকে আবার খোলা হয়েছিল। stty saneএকই কার্যকারিতা অনেকটা করবে (রিসেট ছাড়াই)। এটি ^L(Ctrl + L) (irrc), এবং হিসাবে একই জিনিস tput clear। পূর্ববর্তী পোস্টার (@ গ্রায়েটি) যা বলেছে তা সত্ত্বেও, clearএকগুচ্ছ নিউলাইনগুলি আউটপুট দেয় না। এটি TERMনির্ধারিত হিসাবে পুনরায় সেটটি প্রেরণ করে terminfoবা termcapআমার জন্য, gnome-terminal(এক্সটার্ম) ব্যবহার করে এটি আদেশ হিসাবে একই perl -e'print "\33[H\33[2J"'

যদি আপনি কেবল বাফারটি সাফ করতে চান - পুরো টার্মিনালটি পুনরায় নির্ধারণের তুলনায়, এটি চেষ্টা করে দেখুন tput reset। এটি খুব দ্রুত হওয়া উচিত , এবং আপনি যা চান তা করুন। (যদিও আপনার অবশ্যই ফাইলগুলি পড়া উচিত less)

tput reset, রিসেটের জন্য টার্মিনো মান প্রেরণ করে - আমার টার্মিনালে (xterm) এটির মতো perl -e'print "\33c"'


1
আমি হয়নি না বলে clearআউটপুট নতুন লাইন একটি গুচ্ছ। আমি এর বিকল্প হিসাবে একটি কমান্ড সরবরাহ করেছি, কারণ clearস্ক্রোলব্যাক বাফার নয় কেবল পর্দা সাফ করে। (
পিটিটিওয়াই

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

1
ষাটফুটজারডুডের মূল প্রশ্ন অনুসারে, তাঁর স্ক্রোলব্যাকটি পুনরায় সেট clearকরবেন না । ( ভিটিই-ভিত্তিক এবং ESC cমধ্যে কাজ করে xtermতবে পুটি এবং কনসোলে নয় not) সে কোনওটিই ব্যবহার করতে চায় না reset, কারণ এটি তার চেয়ে বেশি রিসেট করে। (তিনি কোন টার্মিনালটি ব্যবহার করেন তা আমি জানি না - তবে sttyপুনরায় সেট করার আগে এবং পরে তুলনা করুন
গ্রাভিটি

2
যেমন আমি বলেছিলাম, তিনি সম্ভবত চান tput reset, যা টার্মিনালে রিসেট সিগন্যাল প্রেরণ করে - আসলে শব্দটি পুনরায় পুনর্নির্মাণ না করে। "পুনরায় সেট করুন - প্রারম্ভিক স্ট্রিংগুলি রাখার পরিবর্তে টার্মিনালের রিসেট স্ট্রিংগুলি উপস্থিত থাকলে (আরএস 1, আরএস 2, আরএস 3, আরএফ) আউটপুট হবে be অন্যথায়, পুনরায় সেট করা initে অভিন্ন কাজ করে "" এখানে, আমরা স্ট্রিংগুলি পুনরায় সেট করেছি যাতে init স্ট্রিংগুলি চালিত হয় না।
ইভান ক্যারল

+1: পরামর্শের জন্য, তবে tput resetবেশ ধীর (একই reset)। printf '\033\143'অনেক দ্রুত। প্রিন্টফ পদ্ধতি বিপজ্জনক / খারাপ হওয়ার কোনও কারণ আছে কি?
ষাট ফুটেরসুডে

9

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

echo -ne '\033]50;ClearScrollback\a'

একটি স্ক্রিপ্টে। সুতরাং মূলত এটি একটি ESC অক্ষর, তারপরে " ]50;ClearScrollback" এবং তারপরে একটি BEL অক্ষর।


1
সিএমডি + কে আইটার্ম 2 এ কাজ করে। CTRL + K অন্য অনেকের সাথে কাজ করে।
ব্লকলুপ

আমি এই সমাধানটি পছন্দ করি কারণ এটি আমাকে শেল স্ক্রিপ্ট থেকে আইটার্ম 2 স্ক্রোলব্যাক বাফারটি পরিষ্কার করতে দেয়, যখন জিনিসগুলি পছন্দ হয় clearএবং resetনা করে। যদিও এটি আসলে প্রশ্নের সেরা উত্তর নয়। আমি মনে করি এই ক্ষেত্রে সঠিক উত্তরটি আইটেম 2 তে কমান্ড-কে, অন্যদের মধ্যে নিয়ন্ত্রণ-কে ইত্যাদির মতোই টার্মিনাল অ্যাপ্লিকেশন যেমনটিই দেয়
এলএস

8

সম্ভবত সবকিছু সাফ করার সর্বোত্তম উপায় হ'ল টার্মিনালের ফাংশনটি ব্যবহার করা:

  • কনসোল: Ctrl+ Shift+ Kদেখুন Sc স্ক্রোলব্যাক সাফ করুন এবং পুনরায় সেট করুন
  • জিনোম টার্মিনাল: সম্পাদনা করুন → পুনরায় সেট করুন এবং সাফ করুন
  • পুটি: Ctrl+ Sc right-clickস্ক্রোলব্যাক সাফ করুন

এইভাবে উভয় বাফার পরিষ্কারভাবে মুছে ফেলা হয়, এবং টার্মিনাল স্টেটটি ঠিক কী শুরুতে হয়েছিল সেটি পুনরায় সেট করা হয় (যা ব্যবহারের মতো হতে পারে বা নাও হতে পারে reset)।


হুম, আমার
জিনোমের

@sixtyfootersdude: আমি এটা নিশ্চিত হয় আমি শুধু সঠিক মেনু (ব্যবহার করতে পারবেন না জানি না, সেখানে gnome-terminalনিজেকে মুহূর্তে) ... "সরঞ্জাম" এবং অন্যান্য মেনু কটাক্ষপাত।
মাধ্যাকর্ষণ

এক্সটার্মে এর সিটিআরএল-মাঝারি বোতামটি -> "পুনরায় সেট করুন এবং
ক্রেগ

3
কম-ডাব্লু + এফ foo.log

+F"অনুসরণ" এর মতো, tail -fতবে আপনাকে আবার স্ক্রোল করতে দেয়।

সমস্ত ভিটি-ভিত্তিক টার্মিনালগুলি (জিনোম, এক্সফেস, রক্সটার্ম) এবং কেডিও কনসোল আপনাকে ভিতরে স্ক্রোল করতে স্ক্রোল হুইলটি ব্যবহার করতে দেয় less। আমি দেখতে বেশ আরামদায়ক।


বিকল্প clear:

perl -e 'মুদ্রণ "\ n" x512;'

xterm -e 'পুচ্ছ-foo.log'

3

ম্যাক ওএস এক্স টার্মিনাল.এপ এ:

দেখুন -> স্ক্রোলব্যাক সাফ করুন (বা command- K)


@ রোহিত যদি প্রশ্নটি বিশেষত ম্যাক ওএস এক্স টার্মিনাল.এপ সম্পর্কে ছিল, তবে হ্যাঁ, এটি একটি দুর্দান্ত উত্তর। তবে মূল প্রশ্নটি দ্ব্যর্থক, সবচেয়ে ভাল আমি বলতে পারি, কোন টার্মিনাল এবং ওএস খেলছে সে সম্পর্কে ards
ডেভিড জে।

2

এটি কোনও "বাশ" সমস্যা নয়। এটি আপনার ব্যবহৃত টার্মিনালের উপর নির্ভর করে। উদাহরণস্বরূপ, আমি একটি দূরবর্তী লিনাক্স মেশিনটি সংযুক্ত করতে ম্যাকবুকের সাথে "আইটর্ম 2" ব্যবহার করি। আপনি বাফার পরিষ্কার করতে "কমান্ড + কে" ব্যবহার করতে পারেন বা মেনুতে "সম্পাদনা" -> "সাফ বাফার" নির্বাচন করতে পারেন।


1

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

echo -en "\ec\e[3J"

এটি আসলে 2 টি "এসসি" সিকোয়েন্স যা স্বতন্ত্রভাবে কাজ করে ... সেগুলি উভয় ক্রমে ব্যবহার করা যেতে পারে:

# clears the console screen, but not the scrollback buffer
# this is actually the escape code to "reset" the terminal
echo -en "\ec"

# clears the scrollback buffer, but not the console screen
# screen content remains, and cursor position remains at its last position
echo -en "\e[3J"

echo -en "\ec"টার্মিনালটি পুনরায় সেট করে যা আপনার অন্যান্য টার্মিনাল সেটিংস পরিবর্তন করতে পারে। "রিসেট" এর পরিবর্তে আপনি এটি করতে পারেন:

# position the cursor to "Home" (Top Row, First Column)
echo -en "\e[H"

# Erase down: clear the screen from the cursor down to the bottom of the screen.
echo -en "\e[J"

# Note: this is supposed to clear the screen and position the cursor to home,
# but it didn't work like that for me. It cleared the entire screen (above and 
# below the cursor), but left the cursor at its last position.
echo -en "\e[2J"

# putting everything together
echo -en "\e[H\e[J\e[3J"

আপনি এটি একটি শেল স্ক্রিপ্টে রাখতে পারেন এবং এটি ঠিক কাজ করে।


কিছু সিস্টেম নির্ভরতা রয়েছে:

আমি পিটিটিওয়াই সংযোগ ব্যবস্থাপক (সংস্করণ 0.7.1 বিটা (বিল্ড 136)) ব্যবহার করছি, পুটিটি (0.60 প্রকাশ করুন) সহ।

টাইপিং:

echo \"$TERM\"; /bin/sh --version

রিপোর্ট:

"xterm"
GNU bash, version 4.1.2(1)-release-(x86_64-redhat-linux-gnu) ...

1

ফ্রিবিএসডি-তে হার্ডওয়্যার টিটিওয়াইয়ের জন্য স্ক্রিন বাফার পরিষ্কার করার জন্য আপনি প্যারামিটার-সি দিয়ে "উইডকন্ট্রোল - সিস্টেম কনসোল নিয়ন্ত্রণ এবং কনফিগারেশন ইউটিলিটি" ব্যবহার করতে পারেন ইতিহাসের বাফার সাফ করুন।

vidcontrol -C

কমান্ডটি বর্তমান কনসোলটির জন্য সমস্ত স্ক্রীন বাফার ফাঁকা রাখবে, এই মুহূর্তে আপনি যা দেখছেন তার উপরে। আপনি প্রথমে 'সাফ' করতে চান, না - আপনার উপর নির্ভর করে।


0

আপনি যদি নিশ্চিত হতে চান যে আপনি একটি লগ ফাইলে সর্বাধিক সাম্প্রতিক এন্ট্রিগুলি দেখছেন তবে / সম্ভবত আমি ব্যবহার করছি / ধরে নেওয়ার পরিবর্তে লেজ ব্যবহার করা ভাল।clearcat


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

0

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

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