ম্যাক ওএস এক্স এর টার্মিনালে পূর্ববর্তী আউটপুট কীভাবে সাফ করবেন?


523

আমি clearযে কমান্ডটি বর্তমান স্ক্রিনটি 'সাফ' করি তা জানি, তবে এটি কেবলমাত্র প্রচুর নিউলাইনগুলি মুদ্রণ করে - ক্লিয়ার করা সামগ্রীগুলি কেবল স্ক্রোল করে led

টার্মিনাল থেকে পূর্ববর্তী সমস্ত আউটপুট সম্পূর্ণভাবে মুছার কোনও উপায় আছে যাতে আমি এমনকি স্ক্রোল করেও এটি পৌঁছাতে পারি না?


1
আপনি কি কখনও এটি করার কোনও উপায় খুঁজে পেয়েছেন যা শেল স্ক্রিপ্টে কাজ করে?
জেভ আইজেনবার্গ

7
@ জাভেইজেনবার্গ আমি এটি মনে করি না। যাইহোক, এখন আমি মনে করি আমার এটির কোনও দরকার নেই। আমি সন্তুষ্ট Command+K
ইওনিল

@ জাভেইজেনবার্গ আমার আপডেট হওয়া উত্তর (এবং অন্য একটি উত্তর) আপনাকে স্ক্রিপ্ট থেকে কীভাবে করবেন তা আপনাকে দেখায়।
অলোক সিংহল

উত্তর:


1098

টার্মিনালটি ম্যানুয়ালি সাফ করার জন্য:

+ +K

Command+ Kনতুন কীবোর্ড জন্য

শেল স্ক্রিপ্টের মধ্যে থেকে টার্মিনালটি সাফ করতে;

/usr/bin/osascript -e 'tell application "System Events" to tell process "Terminal" to keystroke "k" using command down'

@fearless_fool apple.stackexchange.com/a/31887 এটা কি হতে পারে? যদি তা হয়, দয়া করে আমাকে জানান!
অলোক সিংহল

ভাল, হ্যাঁ, তবে আরও ভাল উপায়ে পুরোপুরিভাবে নীচে দেখুন ( স্ট্যাকওভারফ্লো.com/ a/ 26615036 / 558639 )।
নির্ভীক_ফুল

9
আপনি যদি দুর্ঘটনাক্রমে এটি টিপেন তবে কেউ কীভাবে সাফ হওয়া বাফারটি দেখতে পাবে?
জোশুয়া পিন্টার

4
@ জোশপিন্টার, দুর্ঘটনার কারণে কেবল এটি চাপবেন না। :) ( আসলে যেখানে আপনার স্ক্রোলব্যাকের ইতিহাস অদৃশ্য হওয়ার প্রয়োজন আছে তা বাদ দিয়েclear সমস্ত ক্ষেত্রে ব্যবহার করার কথা বিবেচনা করুন )
ওয়াইল্ডকার্ড

2
@ উইল্ডকার্ড ফেয়ার যথেষ্ট। :) ব্যবহার সম্পর্কে ভাল পরামর্শ clear। যদিও আমার মনে হচ্ছে তাদের বিপরীত হওয়া উচিত। টাইপিং clearআঘাতের চেয়ে বেশি ইচ্ছাকৃত মনে হয় Command + K
জোশুয়া পিন্টার

85

স্ক্রিপ্টের মধ্যে থেকে পর্দা সাফ করার আরও ভাল উপায় ...

যদি আপনি ওএসএক্স টার্মিনাল অ্যাপটি (ওপি দ্বারা বর্ণিত) ব্যবহার করে থাকেন তবে আরও ভাল পদ্ধতির ( https://apple.stackexchange.com/a/113168 কে ধন্যবাদ ) কেবল এটি:

clear && printf '\e[3J'

বা আরও সংক্ষিপ্তভাবে ( https://stackoverflow.com/users/4834046/Quyi টুপি টিপ ):

printf '\33c\e[3J'

যা স্ক্রোলব্যাক বাফার পাশাপাশি স্ক্রিন সাফ করে। এছাড়াও অন্যান্য বিকল্প রয়েছে, আরও তথ্যের জন্য https://apple.stackexchange.com/a/113168 দেখুন।

মূল উত্তর

এই থ্রেডে দেওয়া অ্যাপলস্ক্রিপ্ট উত্তরটি কাজ করে, তবে এটির কোনও টার্মিনাল উইন্ডো সক্রিয় করার বাজে পার্শ্ব প্রতিক্রিয়া রয়েছে যা সক্রিয় হতে দেখা দেয়। আপনি যদি একটি উইন্ডোতে স্ক্রিপ্টটি চালাচ্ছেন এবং অন্যটিতে কাজ করার চেষ্টা করছেন তবে এটি অবাক করার মতো!

অ্যাপলস্ক্রিপ্টটি কেবলমাত্র এটি সম্পাদন করে যদি পর্দাটি সর্বাগ্রে থাকে তবে আপনি এটি পরিমার্জন করে এড়াতে পারবেন ( https://apple.stackexchange.com/a/31887 থেকে নেওয়া ):

osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'

... তবে এটি যখন বর্তমান উইন্ডো নয় তখন আউটপুটটি আবার কারেন্ট হয়ে যাওয়া অবধি স্ট্যাক করবে, যা সম্ভবত আপনি চান না।


1
আমি "আরও ভাল উপায়" ব্যবহার করেছি .bash_profileএবং এটি দুর্দান্ত aw কারণ নতুন টার্মিনাল উইন্ডোটি খোলার সময় মাঝে মাঝে আমি চটকদার বাফারটি পাই না।
প্যাট্রিক রবার্টস

1
এটি সবচেয়ে ধারণাগতভাবে সঠিক উত্তর correct কুইউইয়ের উত্তর অল্প পাঠযোগ্যতার ত্যাগে && এড়ায়। যদি অলোকের উত্তরটি বর্তমান স্ক্রিপ্টটি চলমান টার্মিনালটি সাফ করার জন্য বাড়ানো যেতে পারে তবে এটি উন্নতি হবে তবে এটি সহজ।
জ্যাক মরিস

1
স্ক্রিপ্টিংয়ের জন্য এটি ওয়াআআআআআআআআআ। একটি গুচ্ছ ধন্যবাদ!
অ্যান্ডি

আপনি যখন অন্য কোনও সিস্টেমে চলে আসেন তখন এটি উপযুক্ত, ধন্যবাদ!
জেবিআরউইলকিনসন

48

সুন্দর উপায় printf '\33c\e[3J'


3
এই হল সর্বোত্তম উপায়। আমাদের alias cls='printf "\33c\e[3J"'
উপন্যাসের

আপনাকে ধন্যবাদ, এটি ঠিক আমার প্রয়োজন ছিল।
গিগাবাস


1
@ LoïcFaure-Lacroix, কমান্ডের \33cসমতুল্য সম্পাদন করে clear, যা পূর্ববর্তী বিষয়বস্তুগুলি দেখতে না পারা পর্যন্ত মূলত পর্দা স্ক্রোল করে। এটি স্ক্রিন সাফ করে, তবে স্ক্রোল ব্যাক বাফার নয় (যেমন আপনি এখনও পুরানো আউটপুট দেখতে স্ক্রোল বারগুলি ব্যবহার করতে পারেন)। যোগ \e[3Jআসলে স্ক্রল ফিরে বাফার পরিষ্কার।
লুইস

@ ইয়ারনিম, (বা সিস্টেম-ব্যাপী ) function cls { printf '\33c\e[3J\33c' }লাইন যুক্ত করুন । এটি ম্যাকোস, ফ্রিবিএসডি, লিনাক্স ইত্যাদিতে ডেস্কটপ পরিবেশের জন্য কাজ করা উচিত নোট -ম্যাকোসগুলিতে অতিরিক্ত ল্যাটারাল সাফ করার জন্য অতিরিক্তটি লক্ষ করুন (মূলত লিনাক্স / ফ্রিবিএসডি-র জন্য আমাদের কেবল প্রয়োজন )। ~/.profile/etc/profile\33c\e[3Jprintf '\33c'
ভলকান রেভেন

33

এটি আপনার .bash_profile বা .Bashrc এ রাখুন

function cls { 
osascript -e 'tell application "System Events" to keystroke "k" using command down' 
}

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

আপভোট করা হয়েছে, তবে অন্য একটি উত্তর নোট করে যে এটি সমস্ত উইন্ডো সাফ করে!
মাইকেল বুশে

20

ম্যাক ওএস এক্স টার্মিনালে এই কার্যকারিতাটি ইতিমধ্যে টার্মিনাল অ্যাপ্লিকেশনে অন্তর্নির্মিত হয়েছে View->Clear Scrollback(ডিফল্টটি হ'ল CMD+ K)।

সুতরাং আপনি এটিকে অ্যাপলের কীবোর্ড শর্টকাটগুলির মত আপনার পছন্দ অনুসারে পুনরায় বরাদ্দ করতে পারেন। "সাফ স্ক্রোলব্যাক" কমান্ডটি দিয়ে টার্মিনালের জন্য কেবল একটি নতুন শর্টকাট যুক্ত করুন। (আমি CMD+ ব্যবহার করি L, কারণ এটি বাফারটি সাফ না করে বর্তমান পর্দার সামগ্রীগুলি সাফ করার জন্য CTRL+ এর সমান L।)

আপনি কীভাবে এটি কোনও স্ক্রিপ্টে ব্যবহার করবেন তা নিশ্চিত নন (সম্ভবত অ্যাপলস্ক্রিপ্ট অন্যরাও নির্দেশ করেছেন)।


1
ইয়োসেমাইট (10.10) হিসাবে, View->Clear Scrollbackটার্মিনালের মেনুতে আর উপস্থিত নেই। যদিও কীবোর্ড শর্টকাট CMD+ Kএখনও কাজ করে।
নিকোলাস মিয়ারি

1
@NicolasMiari দেখে মনে হচ্ছে Clear Scrollbackশুধু থেকে সরানো হয়েছে Viewথেকে EditYosemite এ।
ব্রেইনস্টিল

10

Option + Command + Kটার্মিনাল.এপ এ স্ক্রোলব্যাক সাফ করার জন্য ম্যাক ওএস এক্স ইয়োসেমাইট (10.10) ব্যবহার সহ ।


9

অথবা আপনি টিপে একটি পৃষ্ঠা বিরতি (ASCII ফর্ম ফিড) প্রেরণ করতে পারেন :

CTRL+L

যদিও এই প্রযুক্তিগতভাবে কেবলমাত্র একটি নতুন পৃষ্ঠা শুরু হচ্ছে, অন্য সমস্ত পদ্ধতির মতোই এর একই নেট প্রভাব রয়েছে, যদিও অনেক দ্রুত হওয়া (অবশ্যই অ্যাপল + কে সমাধান ব্যতীত)।

এবং কারণ এটি একটি ASCII নিয়ন্ত্রণ কমান্ড, এটি সমস্ত শেলগুলিতে কাজ করে।


1
এটি স্ক্রিন সাফ করে তবে স্ক্রোলব্যাক বাফার অক্ষত রেখে দেয়।
জর্জ

উদাহরণস্বরূপ আপনি যদি cmd + f ব্যবহার করতে চান তবে এটি এক নয়
বোর্মেট

7

শুধুমাত্র শেষ আউটপুট মুছতে:

+ +L

টার্মিনাল সম্পূর্ণরূপে সাফ করার জন্য:

+ +K


6

কমান্ড + কে পূর্ববর্তী আউটপুট সাফ করবে

প্রবেশ করা পাঠ্য সাফ করতে প্রথমে " কমান্ড + এ " দিয়ে বাম দিকে ঝাঁপুন এবং তারপরে " কন্ট্রোল + কে " দিয়ে পয়েন্টারের ডানদিকে পাঠ্য সাফ করুন ।

ভিজ্যুয়াল উদাহরণ: এখানে চিত্র বর্ণনা লিখুন



5

সঠিক কাজ করুন, কাজটি ঠিক করুন!

পূর্ববর্তী চিহ্ন থেকে পরিষ্কার:Command-L

পূর্ববর্তী বুকমার্কে সাফ করুন:Option-Command-L

শুরু করতে পরিষ্কার: Command-K

আপনার ছেলেদের সাহায্য করুন!


1

আমি উপরের কোনওটি কাজ করতে পারি নি (ম্যাকোজে)।

আমার জন্য একটি সমন্বয় কাজ করেছে -

IO.write "\e[H\e[2J\e[3J"

এটি বাফার এবং পর্দা সাফ করে


আইও.ওরাইট কী? এটি কাজ করার জন্য আমাকে প্রিন্টফের সাথে এটি প্রতিস্থাপন করতে হয়েছিল। যাই হোক ধন্যবাদ. এটি আমার জন্য সবচেয়ে ভাল কাজ করে
ফিটস্যু

1
আমি কেন বেছে নিলাম তা নিশ্চিত নই IO.write। এটি একইরকম কাজ করা উচিত তবে আপনি এই অক্ষরগুলি টার্মিনালে মুদ্রণ করার সিদ্ধান্ত নেন।
মাইকেল বাল্ড্রি

1

টার্মিনালে নিম্নলিখিত টাইপ করা আপনার ইতিহাস মুছে ফেলবে (যার অর্থ তীর ব্যবহার করে আপনি কিছুই পাবেন না) - তবে পর্দাটি সাফ করবেন না:

history -c

এটা করে. @ ফিলিল কি এগুলি ডিস্ক থেকে স্থায়ীভাবে মুছে ফেলবে, বা তারা এখনও কোনও উপায়ে পুনরুদ্ধারযোগ্য?
স্টিভেন রুজ

মূলত এটি ~ / .bash_history ফাইলটি মুছে দেয়, সুতরাং আপনি যদি এটি পুনরুদ্ধার করতে পারেন তবে আপনি যে আদেশগুলি সাফ করেছেন তা পুনরুদ্ধার করতে পারবেন
রায়ান পেন্ডলটন

না এটা কাজ করে না। স্ক্রোলড ইতিহাস এখনও বিদ্যমান এবং এগুলি আবার দেখতে আমি স্ক্রোল করতে পারি।
Eonil

26
যা চাওয়া হয়েছিল তা নয়। এটি ইতিহাস পরিষ্কার করে, বর্তমান বাফারটি নয়, যা দুটি খুব আলাদা জিনিস।
শান ক্যামেরন

1
যা জিজ্ঞাসা করা হয়েছিল, এবং ক্ষতিকারক নয় ; আমি কেবল এটি দ্বারা কামড়েছি, এবং আমার ইতিহাসে গুরুত্বপূর্ণ জিনিস রয়েছে।
এলাজার

0

আপনি যদি ফিল্টার চান তবে আউটপুট নিয়ে অভিভূত হয়ে থাকলে এটি ব্যবহার করে দেখুন

adb -d শেল ডাম্পসিস ক্রিয়াকলাপ | গ্রেপ অ্যাক্টিভিটি রেকর্ড


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