বাস্তবের জন্য একটি টার্মিনাল স্ক্রিন সাফ করুন


382

clearটার্মিনালে কমান্ডটি ব্যবহার করে কেবল ব্যবহারকারীকে স্ক্রিনটি সাফ হয়ে গেছে তা ভাবতে বোকা বানায় ... মাউস ব্যবহার করে স্ক্রোল করার সময় আপনি পূর্ববর্তী কমান্ডগুলি থেকে আউটপুট দেখতে পারেন can আপনি যখন পাঠ্যের সুনামিতে ডুবে যাচ্ছেন তখন এটি জীবনকে কঠিন করে তোলে।

বিভিন্ন সমাধান (এস্কেপ কোড ইত্যাদি) যা ইন্টারনেটে পাওয়া যায় সেগুলি ক্লিয়ার কমান্ড ইতিমধ্যে যা করেছে তার কেবলমাত্র তারতম্য।

সুতরাং আপনি কীভাবে বাস্তবের জন্য লিনাক্সের টার্মিনালের বিষয়বস্তু সাফ করবেন?


44
আমি এটিকে "প্রোগ্রামারদের দ্বারা সাধারণত ব্যবহৃত সফ্টওয়্যার সরঞ্জাম" হিসাবে শ্রেণীবদ্ধ করতাম (FAQ এ বৈধ হিসাবে উল্লেখ করা হয়েছে)।
অটোড্যাক্ট

5
আপনি যা জিজ্ঞাসা করছেন তা হ'ল "আমি কীভাবে টার্মিনালের স্ক্রোল-ব্যাক বাফারটি সাফ করতে পারি?" যা শেল (বাশ) বা উবুন্টু থেকে পৃথক।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

@ স্পাইডারপ্ল্যান্ট 0 সম্ভবত কারণ আস্কউবুন্টু এর সঠিক জায়গা - এই সময়ে। যখন এটি জিজ্ঞাসা করা হয়েছিল তখন উপস্থিত ছিল না, সুতরাং এটি বিষয় হিসাবে বন্ধ হয়ে গেছে, যদিও এটি ঘটনাটি নয়।
jcollum

1
এটি আরও সাধারণ প্রশ্ন, কেবল উবুন্টু বা বাশকেই নয়, যেমনটি ডেনিস উল্লেখ করেছেন noted আমি "আসল জন্য উবুন্টু বাশ স্ক্রিন সাফ করুন" -> "আসল জন্য একটি টার্মিনাল স্ক্রিন সাফ করুন" বিষয়টি পরিবর্তন করব
রা_

এখানে অনেকগুলি টার্মিনাল প্রকার রয়েছে যার সাহায্যে আপনি বাশ চালাতে পারেন (শব্দটি " বাশ টার্মিনাল " অর্থহীন)। "ক্লিয়ারিং" তাদের সবার জন্য প্রযোজ্য নয় - কখনও কখনও, নিকটতম অনুমানটি কাগজটি ছিঁড়ে এবং বিন / ছেঁড়া / বার্ন / বিটটি চান না যা আপনি চান না।
টবি স্পিড 12

উত্তর:


500

কেবল নতুন লাইন যুক্ত করার পরিবর্তে একটি পরিষ্কার পর্দা করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন ...

printf "\033c"

হ্যাঁ এটি বাশ প্রম্পটে একটি 'প্রিন্টফ'।

আপনি সম্ভবত একটি উপনাম সংজ্ঞায়িত করতে চাইবেন যদিও ...

alias cls='printf "\033c"'

ব্যাখ্যা

\033 == \x1B == 27 == ESC

সুতরাং এটি হয়ে যায় <ESC>cযা টার্মিনালটি পুনরায় সেট করার জন্য ভিটি 100 এস্কেপ কোড। টার্মিনাল এস্কেপ কোড সম্পর্কিত আরও কিছু তথ্য এখানে

সম্পাদন করা

এটি করার আরও কয়েকটি উপায় এখানে ...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

ডি-ই

উপরেরগুলি কে.ডি.এস কনসোলে (কনসোল নামে পরিচিত) কাজ করে না তবে আশা আছে! স্ক্রিন এবং স্ক্রোল-ব্যাক বাফার সাফ করার জন্য নিম্নলিখিত আদেশগুলির ক্রম ব্যবহার করুন ...

clear && echo -en "\e[3J"

অথবা সম্ভবত নিম্নলিখিত উপন্যাসটি কে। ডি। এ ব্যবহার করুন ...

alias cls='clear && echo -en "\e[3J"'

আমি থেকে স্ক্রল-ব্যাক ক্লিয়ারিং কমান্ড পেয়েছিলাম এখানে


4
এটি আসলে টার্মিনাল নির্দিষ্ট। "\033c"এটি ESC cহ'ল "সম্পূর্ণ রিসেট (আরআইএস)" এর ভিটি-এক্সএক্সএক্সএক্সক্রিয়া সিকোয়েন্স। এই দিনগুলিতে প্রকৃতপক্ষে ব্যবহৃত সমস্ত টার্মিনালগুলি ভিটি সুসংগত, তবে আপনি যদি কখনও নিজেকে একটি অদ্ভুত টার্মিনাল ব্যবহার করে দেখেন তবে এটি কার্যকর নাও হতে পারে। @ vpit3833 এর উত্তর টিআরএম সঠিকভাবে সেট করা ধরে নিয়ে কাজ করার বেশি সম্ভাবনা রয়েছে।
লরেন্স গনসাল্ভেস

2
printfবাশ বিল্টিন (এটি সত্য যে এটি পৃথক বাইনারিও বটে, তবে বিল্টিনগুলির প্রাধান্য রয়েছে এবং বেশিরভাগ আধুনিক শেল রয়েছে printf)।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

2
@ এসডিএক্স 2000 ঠিক আছে ... আমি জানি আপনি উবুন্টু নির্দিষ্ট করেছেন, এবং আমি ধরে নিয়েছি যে এটি সমস্ত "আধুনিক" টার্মিনাল এমুলেটরগুলিতে একই রকম আচরণ করবে। আমি প্রথমে আমার ম্যাকের টার্মিনালে পরীক্ষা করেছিলাম এবং এটি সেখানে পুনরায় সেট হয় নি, তবে এটি আমার সেন্টোস লিনাক্সে পুনরায় সেট হয়েছিল।
নিহিত করুন

12
প্রতিধ্বনি -en "\ 033c"
জোনাথন

2
কয়েক বছর পরে 0.02 ডলার, তবে আমি সিইউতে একজন শিক্ষার্থী। আমার অপারেটিং সিস্টেমের অধ্যাপককে জানতে চাইলে তিনি বলেছিলেন এটি এএনএসআই পলায়নের ক্রমের একটি উদাহরণ : এন.ইউইকিপিডিয়া.আর / উইকি / এএনএসআই_স্কেপ_কোড এটি ইন-ব্যান্ড সিগন্যালিংয়ের একটি উদাহরণ।
অ্যাবগোর্ডন

216

ব্যবহার করে দেখুন reset। এটি টার্মিনাল স্ক্রিনটি সাফ করে দেয় তবে পূর্ববর্তী কমান্ডগুলি তীরের মাধ্যমে বা আপনার কাছে থাকা কী কী বাঁধাইয়ের মাধ্যমে অ্যাক্সেস করা যায়।


3
ধন্যবাদ! তবে এটি প্রম্পট সহ প্রতিটি জিনিস সাফ করে। এমন সমাধানের জন্য আমার উত্তর দেখুন যা এটি করে না।
অটোডিড্যাক্ট

5
@ এসডিএক্স 2000 উভয়ই প্রম্পটটি সাফ করে এবং তারপরে শেলটি একটি নতুন উত্পন্ন করে। পুনরায় সেট করার একটি অসুবিধা হ'ল এটি কিছুটা ধীর হয়ে গেছে বলে মনে হচ্ছে (সম্ভবত এটি কেবল ইসি সি নির্গতের চেয়ে বেশি করে) তবে এটি আরও বহনযোগ্য।
লরেন্স গনসাল্ভেস

@ লরেন্সের স্পষ্টতার জন্য ধন্যবাদ ... আমি পুনরায় সেট করার চেষ্টা করেছি তবে এটি এত ধীর ছিল যে আমি ধরে নিয়েছিলাম যে সমস্ত কিছু সহ প্রম্পটটি সাফ হয়ে গেছে। আমি এখনও ব্যবহার করতে পছন্দ ESC cকরবো যেহেতু আমি সম্ভবত উবুন্টু ব্যবহার ব্যতীত অন্য কোনও টার্মিনাল ব্যবহার করব না। যদিও resetকোনও দিন কাজে আসতে পারে যখন আমি সিরিয়াল বন্দর ইত্যাদির মাধ্যমে কোনও রিমোট মেশিনটি ডিবাগ করি তখন
অটোডিডাক্ট

1
@ এসডিএক্স 2000 রিসেটগুলি সেই ক্ষেত্রেও কার্যকর যেখানে আপনার টার্মিনালটি খারাপভাবে জড়িয়ে পড়ে কারণ আপনি কিছু মেরে ফেলেছেন (বা একটি বাইনারি ফাইল ক্যাট করেছেন) এবং এটি আপনার শব্দটি ম্যাংলেড অবস্থায় ফেলেছে। এমন কোনও স্থানে প্রবেশ করুন যেখানে আপনার প্রম্পট প্রদর্শিত হবে তবে আপনার টাইপিং নয়, এবং আপনি যখন নতুন প্রম্পটটি প্রবেশ করবেন তখন নীচের পরিবর্তে পূর্ববর্তী প্রম্পটের পাশে প্রদর্শিত হবে? পুনরায় সেট করুন। এটাই আসলে আমি এটির জন্য ব্যবহার করি ... আমার কখনই আমার স্ক্রোল-ব্যাক বাফার সাফ করার প্রয়োজন / ইচ্ছা ছিল না।
লরেন্স গনসাল্ভেস

4
এর সাথে যুক্ত এক সেকেন্ড বিলম্ব resetআমার পক্ষে অসহনীয়।
জোনাথন রেইনহার্ট

62
tput reset

সেই কৌতুকটি করবে!


2
প্লেইনের থেকে অনেক দ্রুত কার্যকর করা reset, তবে এখনও কাজটি করে!
পোনকডুডল

1
শুধু চেয়ে দ্রুততর reset
l2aelba

এটি সর্বদা এটি কাটেনি, তবে টিপুট ক্লিয়ার করেছে
ইন্টারলিঙ্কড

7

আমি যে উত্তরগুলি পড়েছি তার কোনওটিই পিটিটিওয়াইতে কাজ করেনি, সুতরাং আমি এই নিবন্ধটিতে একটি মন্তব্য পেয়েছি :

আপনার সংযোগের সেটিংসে, "উইন্ডো-> আচরণ" এর অধীনে আপনি একটি সেটিংস খুঁজে পাবেন "সিস্টেম মেনু একা ALT এ উপস্থিত হয়"। তারপরে CTRL + L, ALT, l (এটি লোয়ার কেস এল) স্ক্রোলটি স্ক্রোল করবে এবং তারপরে স্ক্রোলব্যাক বাফারটি সাফ করবে।

(ওপিতে প্রাসঙ্গিক কারণ আমি কোনও উবুন্টু সার্ভারের সাথে সংযোগ করছি, তবে আপনার সার্ভারটি কী চলছে তা আপাতদৃষ্টিতে প্রাসঙ্গিক।)


@ ডেনিস উইলিয়ামসনের একটি 3 বছরের পুরানো মন্তব্য আমাকে এই উত্তরের দিকে নিয়ে গেছে।
টেকব্র্যাট

এছাড়াও, প্রদত্ত যে পুটিং এর "উইন্ডো" সেটিংসে আপনি "সিস্টেম মেনু প্রদর্শিত হয় Alt-স্থান" সক্রিয় আপনি দ্রুত কাজ করতে পারেন CTRL+Lতারপর ALT+Space, Uযা প্রথম মুছে ফেলা হবে টার্মিনাল উইন্ডোর তারপর বাস্তব জন্য স্ক্রলব্যাক পুনরায় সেট করবে।
পিয়েরে ভয়েসিন

6

নীচের লিঙ্কটি কীভাবে সেই উরফ স্থায়ী করবেন তা ব্যাখ্যা করবে যাতে আপনার এটি টাইপ না করে থাকতে হয়।

/ubuntu/17536/how-do-i-create-a-permanent-bash-alias

এই লিঙ্কে বিস্তারিত পদক্ষেপ।

  1. vim ~ / .bashrc বা gedit ~ / .bashrc বা কোন পাঠ্য সম্পাদক আপনি পছন্দ করেন
  2. ফাইলের নীচে উপনাম cls = 'printf "\ 033c"' লিখুন
  3. সংরক্ষণ এবং ত্যাগ
  4. । ~ / .bashrc (এবং হ্যাঁ। এবং between এর মধ্যে একটি স্থান থাকা উচিত)
  5. এখন সবকিছু কাজ করে কিনা তা পরীক্ষা করে দেখুন!

আমি এই তথ্যটি কেবল এটির সাথে পাস করার জন্য কোনও কৃতিত্ব গ্রহণ করি না।


4

কেডিএ এবং উবুন্টু 12.04 এলটিএস এবং "কনসোল" টার্মিনালের সাথে পোস্ট করা উত্তরগুলির কোনওটিই কাজ করে না। তবে ডিফল্ট কীবোর্ড শর্টকাট টিপতে সিটিআরএল + শিফট + এক্স কাজ করে! সূত্র:

https://bugs.kde.org/show_bug.cgi?id=288913



4

এর জন্য আমার প্রিয় মানব বান্ধব আদেশ:

reset

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

চিয়ার্স: ডি


3

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

alias c="printf '\r\n%.0s' {1..50}"

তারপরে, পর্দার বর্তমান সামগ্রীগুলি "পরিষ্কার" করতে (বা বরং এগুলি লুকিয়ে রাখুন), কেবলমাত্র c+Enterটার্মিনালে টাইপ করুন।


2

কেবল যুক্ত করতে tmuxস্ক্রোল বাফারটি পরিষ্কার হয় না clear, resetবা printf। আপনার দরকার :clear-historyলিঙ্ক দেখুন ।


-2
echo -e "\e[3J"

এটি লিনাক্স মেশিনে কাজ করে


4
যদিও আমরা আপনার উত্তরের জন্য আপনাকে ধন্যবাদ জানাই, অন্য উত্তরগুলির উপরে যদি এটি অতিরিক্ত মান সরবরাহ করে তবে এটি আরও ভাল। এই ক্ষেত্রে, আপনার উত্তর অতিরিক্ত মান সরবরাহ করে না, যেহেতু অন্য ব্যবহারকারী ইতিমধ্যে সমাধানটি পোস্ট করেছেন। যদি পূর্বের উত্তরটি আপনার পক্ষে সহায়ক হয়ে থাকে তবে আপনার একই তথ্য বারবার না দিয়ে ভোট দেওয়া উচিত up
টবি স্পিড 12

-53

এই অ্যাপ্লিকেশনটি সংকলন করুন।

#include <iostream>
#include <cstring>

int main()
{
  char str[1000];
  memset(str, '\n', 999);
  str[999] = 0;
  std::cout << str << std::endl;
  return 0;
}

33
দুঃখিত, তবে এটি সর্বোত্তম সমাধান নয়। 999
নিউলাইনগুলি বানান

2
আসলে এর কিছু মূল্য আছে। কিছু টার্মিনালে, অন্যান্য পদ্ধতির সাহায্যে পর্দা সাফ করা ইতিহাসকে মেরে ফেলবে এবং আপনাকে আবার স্ক্রোল করতে দেবে না ... যদিও 999 লাইন দিয়ে আমার আঙুল ক্লান্ত হয়ে উঠবে। দরিদ্র লোক.
জোশুয়া ডেভিড

@JoshuaDavid প্রশ্নই পুরো পয়েন্ট ছিল ও.পি. হয়নি না ক্লিয়ারিং পরে ফিরে স্ক্রোল করতে সক্ষম হতে চান।
সোসোই

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