टर्मिनल को वास्तव में कैसे साफ़ करें?


384

मैं जारी कर सकते हैं clearआदेश या प्रेस Ctrl+ Lवर्तमान Ubuntu टर्मिनल खाली करने के लिए है, लेकिन यह सिर्फ पिछले उत्पादन ऊपर की तरफ बदलाव और यदि आप माउस स्क्रॉल का उपयोग करें या PgUPऔर PgDownभेद करने के लिए कुंजी यह मुश्किल है जहां पिछले आदेश समाप्त होता है के उत्पादन और मौजूदा आदेश के उत्पादन में शुरू होता है।

क्या वास्तव में टर्मिनल को खाली करने का एक तरीका है , इसलिए मैं पिछले कमांड परिणाम नहीं देखूंगा?


11
Ctrl + L को दो बार दबाएं और आप खाली हो जाएँ!
पंड्या

जवाबों:


455

हां, आप जिस कमांड को देख रहे हैं वह है

reset

के विपरीत clear, या Ctrl+ L, resetवास्तव में पूरी तरह से स्क्रीन को साफ करने के बजाय, टर्मिनल को पूरी तरह से फिर से शुरू करेगा । हालाँकि, यह शेल (बैश) को फिर से इंस्टेंट नहीं करेगा। इसका मतलब है कि बैश की स्थिति पहले की तरह ही है, जैसे कि आप केवल स्क्रीन को साफ कर रहे थे।

जैसा कि @Wallacoloo ने टिप्पणियों में उल्लेख किया है, इस कमांड को एक ही काम अधिक तेज़ी से करना चाहिए:

tput reset

अन्य उत्तरों से:


9
संभवतः अधिकांश उपयोगकर्ताओं के लिए कोई फर्क नहीं पड़ता, लेकिन इसका व्यवहार resetटर्मिनल पर निर्भर है।
cthom06

2
व्यक्तिगत रूप से मुझे कोई आपत्ति नहीं है कि जब मैं हिट करता हूं, तो कुछ को ट्रोलर के साथ छोड़ दिया जाता है ^L। मैं इसे नहीं देखता (यह वही है जो मैं चाहता हूं!), मुझे यह महसूस नहीं होता है, और अगर अचानक मुझे बहाल करने की आवश्यकता होती है - तो कोई समस्या नहीं थी। resetइसके विपरीत बहुत कठिन उपकरण है - मैं इसका इस्तेमाल तब करूंगा जब टर्मिनल के साथ कुछ गलत हुआ - जैसे, जब अजीब भागने अनुक्रमों ने गलती से प्रदर्शन को पूरी तरह से बर्बाद कर दिया।
13

14
@ulidtko: यह तब मायने रखता है जब आप उत्पादन के टन के साथ कार्यक्रमों के लगातार सत्र चलाते हैं। यदि आप वापस स्क्रॉल करते हैं तो भ्रमित होना आसान है कि किस निष्पादन ने कुछ मुद्रित किया है। मैं पूरी तरह से अच्छी तरह से जानता हूं कि इन मामलों में अधिक परिष्कृत समाधान का उपयोग किया जा सकता है, लेकिन फिर भी यह एक ऐसा परिदृश्य है जो त्वरित और गंदे डिबगिंग सत्रों में बहुत बार आता है।
अंकलजीव

7
वहाँ भी है tput resetजो नेत्रहीन एक ही काम करता है, लेकिन तुरंत पूरा करता है (जबकि resetशीघ्र पुनः प्रकट होने से पहले लगभग 2 सेकंड तक का समय लग सकता है)।
पोंकाडूडल

1
यह मेरी पुट्टी। Exe विंडो को आकार देने का कारण बनता है, ऐसा होने के बिना स्पष्ट होना अच्छा होगा।
void.pointer

99

मैं कुछ समय के लिए इसे ढूंढ रहा था और मुझे कुछ जीनियस मिले जिन्होंने इसे पोस्ट किया:

clear && printf '\e[3J'

पूरे स्क्रीन बफर को साफ करता है, बहुत साफ है। OS X पर काम करता है और विश्वास करता है कि यह अधिकांश * निक्स टर्मिनलों पर ठीक काम करता है।

जिज्ञासु के लिए, यह भाग '\e[3J'एक टर्मिनल एस्केप कमांड है।


2
हम्म, xterm, कॉनसोल और लिनक्स वीटी में काम करता है, लेकिन गनोम-टर्मिनल में नहीं है ...
रुस्लान

1
धन्यवाद, मेरे मैक पर बहुत अच्छा काम करता है - मैं वास्तव में एक वास्तविक बैश-शैली से चूक गया reset
जॉनीकोडर

9
धन्यवाद, यह सुपर उपयोगी है! क्या printf '\e[3J'मतलब है? यह बफर को कैसे साफ करता है?
फिलिप स्पिरिडोनोव

4
सावधान रहना reset- यह केवल टर्मिनल को साफ करने से ज्यादा करता है। उदाहरण के लिए, यदि आप गलती से बाइनरी फ़ाइल को यादृच्छिक कचरे के साथ प्रिंट करते हैं जो टर्मिनल को दूषित करता है (जैसे टाइप किए गए पात्रों की गूंज अक्षम करता है), तो resetआमतौर पर इसे ठीक कर सकते हैं। अलियासिंग तब तक ठीक है जब तक आप जानते हैं कि \overrideअलियास-शैडेड कमांड कैसे है ।
RubyTuesdayDONO 12

4
यह एकमात्र उत्तर है जो विंडर्स के माध्यम से कुछ एसएसएच तक पहुंचने पर पुट्टी स्क्रैचबैक को साफ करने के लिए काम करता है।
धापिन

45

आप संपादन → कीबोर्ड शॉर्टकट पर जाकर सूक्ति-टर्मिनल में एक शॉर्टकट भी प्रदान कर सकते हैं । मैं का उपयोग Shift+ Ctrl+ Alt+ C

रीसेट और स्पष्ट शॉर्टकट


+1। मेरे पास हमेशा मेनूबार छिपा है; इसलिए सूक्ति का उपयोग करने के वर्षों और वर्षों के बाद भी, मैंने कभी इस बारे में सोचा नहीं था। धन्यवाद :-)
Stefano Palazzo

3
"रीसेट" मेरे लिए कुछ भी नहीं करते हैं, और "रीसेट और स्पष्ट" सब कुछ स्पष्ट करते हैं, लेकिन संकेत नहीं दिखाते हैं। इन मेनू प्रविष्टियों में से कोई भी टर्मिनल से "रीसेट" कमांड की तरह व्यवहार नहीं करता है।
हिबू

जैसा कि @ Hibou57 ने कहा, "रीसेट" के लिए मेरा कीबोर्ड शॉर्टकट कुछ भी नहीं करता है। क्या यह कार्यक्षमता 14.04 में टूट गई है?
माइकल मार्टिन-स्मकर

"क्या यह कार्यक्षमता 14.04 में टूट गई है?": यह 12.04 के साथ समान है।
हिबू ५ H

1
@ Hibou57 "रीसेट और क्लियर" को शीघ्र पुनः प्रदर्शित करने की उम्मीद नहीं है, लेकिन यदि आप Enter को हिट करते हैं तो इसे शीघ्र प्रदर्शित करना चाहिए। क्या ये तुम्हारे लिए ठीक रहेगा?
डॉन हैच

19

से मेरे उत्तर पोस्ट पार stackoverflow

केवल नई पंक्तियों को जोड़ने के बजाय एक स्पष्ट स्क्रीन करने के लिए निम्न आदेश का उपयोग करें ...

printf "\033c"

हाँ, यह बैश प्रॉम्प्ट पर एक 'प्रिंटफ' है।

आप शायद एक उपनाम को परिभाषित करना चाहते हैं ...

alias cls='printf "\033c"'

व्याख्या

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

तो यह <ESC>cटर्मिनल को रीसेट करने के लिए VT100 एस्केप कोड है जो बन जाता है। यहां टर्मिनल एस्केप कोड के बारे में कुछ और जानकारी दी गई है।

संपादित करें

यहाँ यह करने के कुछ अन्य तरीके हैं ...

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

केडीई

उपरोक्त KDE कंसोल (कोनो कंसोल) पर काम नहीं करता है, लेकिन आशा है! स्क्रीन और स्क्रॉल-बैक बफर को साफ़ करने के लिए कमांड के निम्नलिखित अनुक्रम का उपयोग करें ...

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

या शायद केडीई पर निम्नलिखित उपनाम का उपयोग करें ...

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

मैं स्क्रॉल पीछे से आदेश समाशोधन मिला यहाँ


18

यह आदेश चलाएँ:

reset

यह एक नया टर्मिनल लॉन्च करने के समान ही है।


6
पोटीन का उपयोग करते समय, चलने के बाद reset, मैं अभी भी स्क्रॉल कर सकता हूं और पिछले सामान को देख सकता हूं। यह बजाय PuTTY के साथ एक मुद्दा है reset?
शविश

@ सविश - यह केवल एक पोटीन कार्यान्वयन मुद्दा या निर्णय है।
बेलाक्वा 22

@jgbelacqua, डील :)
Svish

मैक ओएस टर्मिनल के साथ काम किया
बीरा

2
@ बीरा नहीं, macOS reset10.14 Mojave पर स्क्रॉलबैक को स्पष्ट नहीं करता है। आप seq 100; resetअभी भी स्क्रॉलबैक देखने का प्रयास कर सकते हैं। MacOS टर्मिनल पर, Cmd+Kस्क्रीन और स्क्रॉलबैक को साफ़ कर सकते हैं।
जॉनी वोंग

8

मेरा पसंदीदा है printf "\ec"। यह भी हो सकता है printf "\033c"या printf "\x1bc"। यह एक एनी एस्केप सीक्वेंस है जो टर्मिनल आउटपुट के लिए स्क्रीन और बफ़र को चमत्कारिक रूप से साफ़ करता है (अधिकांश मानक टर्मिनलों के लिए, जिनमें मैंने काम किया है, ऐसा लगता है - मुझे पता है कि यह उबन्टु जैसे टर्मिनल, टर्मिनेटर, एक्सटर्म इत्यादि जैसे काम करता है। Linuxes)

मुझे पता है कि यह लिनक्स मिंट और उबंटू 14.04 में काम करता है, इसलिए मुझे नहीं पता कि लोग क्यों पसंद कर रहे हैं और चीजों को पसंद कर रहे हैं clear && echo -ne "\033cprintf "\ec"हमेशा मेरे लिए काम किया है।

इसके अतिरिक्त, मेरे .bashrcपास इस तरह से एक बंधन है:

bind -x '"\C-t": printf "\ec"';

अब मैं ctrltहर समय प्रेस करता हूं ।


क्या आप जानते हैं कि विंडोज की का उपयोग करके मैपिंग कैसे बनाई जा सकती है? यह स्निपेट वास्तव में बहुत अच्छा है, मैक पर कमांड-के जैसा काम करता है। धन्यवाद।
निलॉक्ट

@ निलेक्ट आप देख सकते हैं कि क्या टर्मिनल इसका समर्थन करता है xev(बस xevएक एक्स-सेशन के अंदर टर्मिनल में टाइप करें )। मैं जो बता सकता था, उससे urxvt इसका समर्थन नहीं करता; जब मैंने एक कोशिश में कोशिश नहीं की, मुझे विश्वास है कि इसका समर्थन नहीं किया जाएगा। मुझे भी संदेह है कि xterm या सूक्ति-टर्मिनल इसका समर्थन करेगा। यह एंसी-बच के साथ मुश्किल है। देर से जवाब के लिए चीयर्स एंड सॉरी।
dylnmc

ठीक है @dylnmc, मैं इसकी सराहना करता हूं। टिप्पणी के लिए धन्यवाद।
निलोक्ट

5

वैसे यह वास्तव में निर्भर करता है, यदि आप Konsoleउदाहरण के लिए उपयोग कर रहे हैं तो भी resetआपको पहली पंक्ति को स्क्रॉल करने से नहीं रोकता है। उस स्थिति में आपको उस विशेष टर्मिनल की कुछ सुविधा का उपयोग करना होगा जिसका आप उपयोग कर रहे हैं। इसके लिए Konsole, यह है Edit > Clear History


3

मैंने कुबंटू के साथ काफी सफल होने के लिए निम्नलिखित पाया है:

alias clc="echo -en '\033c\033[3J'"

आप clsविंडोज परंपरा के साथ रखने के लिए उपयोग कर सकते हैं , मैटलैब संस्करण का उपयोग कर सकते हैं clc, या अपने खुद के किसी एक का उपयोग कर सकते हैं। सौभाग्य!


2

वैकल्पिक रूप से reset, आप कर सकते हैं echo -e "\033c", या आपके पास .bashrc, कुछ ऐसा हैalias cls="echo -ne '\033c'"

UNIX / Linux StackExchange, इस पर एक धागा है: टर्मिनल को पूरी तरह से कैसे साफ़ करें? (unix.stackexchange.com) , साथ ही SuperUser: कीबोर्ड शॉर्टकट (superuser.com) का उपयोग करके स्पष्ट टर्मिनल


2

@ Hibou57 उत्तर के लिए एक और विकल्प:

# The Octal Way
alias clear="echo -e '\033c\c'"

या

# The Hex Way
alias clear="echo -e '\x1b\c'"

मूल रूप से इसका ठीक वैसा ही प्रभाव होगा, यह ^[चरित्र को प्रिंट करेगा (जो आपके टर्मिनल को साफ करता है) और अनुगामी नई लाइन का उत्पादन नहीं करता है।


थोड़ा सुधार: यह ^[चरित्र (ईएससी) को चरित्र द्वारा प्रिंट करता है c, न कि केवल ^[चरित्र को। संयुक्त, ये राशि "RIS" टर्मिनल कोड के लिए है, जो रीसेट का कारण बनता है। अधिक जानकारी: xfree86.org/4.8.0/ctlseqs.html
jwd

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.