जवाबों:
ctrl+ Lबस टर्मिनल स्क्रीन को साफ़ करें।
यह कमांड के बराबर कीबोर्ड शॉर्टकट है clear -x
। संदर्भ
यह संपत्ति है bash
, इसलिए आपने इसे अपने गनोम-टर्मिनल में कीबोर्ड शॉर्टकट के तहत नहीं पाया । से man bash
:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
बैश कीबोर्ड शॉर्टकट की एक विस्तृत सूची देखें ।
clear
, क्योंकि यह आपके टर्मिनल इतिहास को मिटाता नहीं है, जबकि कमांड clear
तब तक करता है, जब तक कि आप -x
तर्क नहीं जोड़ते हैं, जैसे clear -x
:।
यदि आपके द्वारा उपयोग किया जा रहा शेल इसे इंटरसेप्ट नहीं कर रहा है, तो आप अपने टर्मिनल में "फॉर्म-फीड" कैरेक्टर टाइप कर रहे हैं। यदि टर्मिनल एप्लिकेशन किसी तरह से कीस्ट्रोक को इंटरसेप्ट या उपयोग नहीं करता है, तो Ctrl+ लेटर का अनुवाद ASCII कोड माइनस 64 (1) के कोड में किया जाता है। 65 'A' का ASCII कोड है, 'L' 12 वां अक्षर है -> कोड 76। यदि शेल को पता नहीं है कि कोड का क्या करना है, तो वह इसे प्रिंट करता है।
FF char को प्रिंट करने से लाइन प्रिंटर पर एक नया पृष्ठ और टर्मिनल पर एक स्पष्ट स्क्रीन का परिणाम होता है (हाँ, मैंने एक वीटी -52 का उपयोग किया था , फिर 300 बॉड में)।
तो Ctrl+ L12 है जो एफएफ है। उसी तरह, Ctrl+ Iएक TAB है, और Ctrl+ Gघंटी बजती है --- अगर टर्मिनल या शेल इसे इंटरसेप्ट नहीं करते हैं, जैसे Ctrl+ Cउदाहरण के लिए।
दूसरे उत्तर से नोटिस: ऐसा लगता है कि बैश इंटरसेप्ट करते हैंCTRL - Lऔर ए clear
। अच्छा स्पर्श है कि bash
लेखकों ने एक कमांड के साथ कुंजी को जोड़ा जो कि कमोबेश वही होगा जो ASCII कोड ने पुराने टर्मिनलों पर किया था!
दूसरी ओर, मेरे zsh
संयोजन में CTRL- एक (2) के Iरूप में TABऔर CTRL- के Hरूप में काम करता है Backspace।
पुराना अच्छा ASCII ... (ध्यान दें कि L अक्षर कॉलम 4, पंक्ति 12 पर है, इसमें ASCII कोड 4 * 16 + 12 (76) है।
मूल छवि यहाँ , ASCII पर विकिपीडिया लेख से ।
(1) Ctrlवास्तव में बिट 7 को साफ करने के लिए उपयोग किया जाता है।
(2) यह "शब्द को हटाने में विफल" का स्रोत है "मजाक में आपको कुछ समय लगता है उदाहरण के लिए" यह एक बुरा था ^ एच ^ एच ^ इतना अच्छा विचार नहीं है ... (सामान्य रूप से एक शब्द बुरे से मजबूत है!)
^H
एस या ^W
एस लगाना अच्छा है। :)
Control-L
बश द्वारा व्याख्यायित और व्याख्या की जाती है (वास्तव में readline
पुस्तकालय द्वारा , जो कमांड लाइन पर संवादात्मक संपादन संभालती है)। यह clear-screen
फ़ंक्शन के लिए बाध्य है , जैसा कि @souravc ने लिखा है।
के अर्थ पर ध्यान दें Control-L
: यह ASCII वर्ण तालिका में फ़ॉर्म फ़ीड के रूप में परिभाषित किया गया है, लेकिन इसका मतलब कुछ भी नहीं है जब तक कि कुछ कार्यक्रम इसके अनुसार व्याख्या न करें। जब यह प्रपत्र फ़ीड देखता है तो टर्मिनल स्क्रीन को साफ नहीं करता है, क्योंकि आप फ़ाइल में ^ L को सहेजकर और फ़ाइल को प्रिंट करके सत्यापित कर सकते हैं cat
। जब bash/readline
देखता है ^L
, यह clear-screen
फ़ंक्शन को निष्पादित करता है। यह उन वर्णों का एक क्रम भेजता है जो आपके टर्मिनल एमुलेटर द्वारा समझा जाता है (जैसा कि टर्मकैप या टर्मफो द्वारा वर्णित है), और स्क्रीन को साफ़ करने का प्रभाव है।
बहुत पुराने प्रिंटरों में, एक ^L
अग्रिम पत्र को अगली शीट पर प्रिंट करना शुरू कर सकता है, इसलिए नाम "फ़ॉर्म फ़ीड" होगा। लेकिन आधुनिक टर्मिनल और टर्मिनल एमुलेटर एक नए एएनएसआई मानक का पालन करते हैं, जिसमें नियंत्रण कमांड बहु-चरित्र "एस्केप कोड" होते हैं जो ^[
(एस्केप) से शुरू होते हैं। जब बैश आपके देखता है ^L
, तो यह संभवतः दो-कमांड अनुक्रम भेज रहा है ESC [ H ESC [ J
, जो स्क्रीन के ऊपरी बाएं भाग में जाता है और इसके नीचे सब कुछ साफ़ करता है (इसलिए संपूर्ण स्क्रीन)।
ESC [ ESC [ J
कमांड इतिहास को भी साफ़ करता है, जबकि CTRL + L
अनुक्रम ऐसा नहीं करता है। अनुक्रम टर्मिनल के लिए भेजा बल्कि है ESC [ H ESC [ 2 J
, आगे बढ़ो एक यह अपने आप को इस आदेश के साथ प्रयास करें: printf "\033[H\033[2J"
।
जैसा कि हर कोई पहले से ही बहुत अच्छी तरह से समझाया Ctrl+ Lहै और करता है, लेकिन कोई भी बताया कि कैसे कुछ आदेशों आप आप क्या कर रहे थे करने के लिए वापस पाने के लिए टाइप कर सकते हैं "रिवर्स" करने के लिए आदेश, यहाँ:
history
आपके द्वारा लिखी गई अंतिम 20 कमांड आपको देगा।
tail --lines=20 /var/log/dpkg.log
आपको किसी भी पैकेज इंस्टॉलेशन के आउटपुट की अंतिम 20 लाइनें देगा जो आप प्रदर्शन कर रहे थे