سؤال كيف حقا مسح المحطة؟


يمكنني إصدار clear الأمر أو الصحافة السيطرة + L لمسح محطة Ubuntu الحالية ، ولكن هذا يغير فقط الانتاج السابق لأعلى وإذا كنت تستخدم تمرير الماوس أو صفحة الى الأعلى و PgDown المفاتيح من الصعب تمييز مكان إخراج الأمر السابق وينتج إخراج الأمر الحالي.

هل هناك طريقة ل هل حقا مسح المحطة حتى لا أرى نتائج الأوامر السابقة؟


322
2018-02-06 21:51


الأصل


اضغط على Ctrl + L مرتين وتحصل على فارغة! - Pandya


الأجوبة:


نعم ، الأمر الذي تبحث عنه هو

reset

أضع ثقتي في clearأو السيطرة+L، reset سوف في الواقع إعادة تهيئة طرفية، بدلا من مجرد مسح الشاشة. ومع ذلك ، فإنه لن إعادة إنشاء shell (bash). هذا يعني أن باش حالة هو نفسه كما كان من قبل ، تمامًا كما لو كنت تمسح الشاشة فقط.

كما يذكرWallacoloo في التعليقات ، يجب على هذا الأمر أن يفعل الشيء نفسه بسرعة أكبر:

tput reset

من الإجابات الأخرى:

  • يمكنك ضبط اختصار لوحة المفاتيح إلى reset المحطة ، كما موضح من قبل towolf.

  • إذا كنت تعمل كوبونتو، ووحدة التحكم الخاصة بك هي Konsole ، تحتاج إلى الذهاب إلى تحرير ← مسح التاريخ، منذ reset لا يعمل بنفس الطريقة هناك ، كما يلاحظ UncleZeiv.


392
2018-02-06 21:55



ربما لا يهم بالنسبة لمعظم المستخدمين ، ولكن سلوك reset يعتمد على المحطة. - cthom06
شخصيا لا أمانع أن يتم ترك شيء "على" على طول scroller عندما ضرب ^L. أنا لا أرى ذلك (هذا ما أريد!) ، أنا لا أشعر به ، وإذا كنت سأفعله فجأة بحاجة إلى لاستعادة ما كان هناك - لا مشكلة. reset على النقيض من ذلك هو أداة أكثر صعوبة - سأستخدمها عندما يحدث خطأ ما في الجهاز الطرفي - مثل ، عندما تدمر تسلسلات الهروب الغريبة العرض تمامًا. - ulidtko
ulidtko: لا يهم عند تشغيل جلسات متتالية من البرامج مع طن من الإخراج. إذا قمت بالتمرير إلى الوراء فمن السهل الخلط حول تنفيذ أي شيء مطبوع. أعلم تمامًا أنه يمكن استخدام حلول أكثر تعقيدًا في هذه الحالات ، لكن مع ذلك ، سيناريو يأتي في كثير من الأحيان في جلسات تصحيح سريعة وقذرة. - UncleZeiv
UncleZeiv المراسي سريعة اللون عادة ما تساعدني على العثور بسرعة على النقطة المطلوبة. على الرغم من أن هذا كله مجرد عادات. - ulidtko
هناك ايضا tput reset الذي يفعل نفس الشيء بشكل واضح، لكنه يكتمل على الفور (في حين reset يمكن أن يستغرق ما يصل إلى ثانيتين قبل ظهور الموجه مرة أخرى). - Ponkadoodle


كنت أبحث عن هذا لفترة من الوقت ووجدت بعض العبقرية التي نشرت هذا:

clear && printf '\e[3J'

يزيل العازلة الشاشة بأكملها ، نظيفة جدا. يعمل على OS X ويؤمن أنه يعمل بشكل جيد على معظم محطات * nix.

للفضول ، هذا الجزء '\e[3J' هو أمر هروب طرفى.


76
2018-05-29 05:51



هم ، يعمل في xterm ، Konsole و Linux VT ، ولكن ليس في gnome-terminal ... - Ruslan
شكرا ، هذا مفيد للغاية! ماذا فعلت printf '\e[3J' تعني؟ كيف تقوم بتنظيف المخزن المؤقت؟ - Filip Spiridonov
العثور عظيم! وبالنسبة لأولئك الذين يريدون إعادة تعيين نمط Bash على جهاز Mac: nano ~/.bashrcو أضف alias reset="clear && printf '\e[3J'" - Michael Deal
كن حذرا التعرج reset - يفعل أكثر من مجرد مسح المحطة. على سبيل المثال ، إذا قمت بطريق الخطأ بطباعة ملف ثنائي مع القمامة العشوائية التي تفسد المحطة الطرفية (على سبيل المثال تعطيل الصدى للأحرف المكتوبة) ، reset يمكن عادة إصلاح ذلك. بالطبع التعرج على ما يرام طالما كنت تعرف كيف \override أمر مظلل. - RubyTuesdayDONO
هذه هي الإجابة الوحيدة التي تعمل على مسح Scrollback Putty عند الوصول إلى بعض SSH عبر Winders. - dhaupin


يمكنك أيضًا تعيين اختصار في gnome-terminal بالانتقال إلى تحرير ← اختصارات لوحة المفاتيح. أنا أستعملتحول+السيطرة+البديل+C.

reset and clear shortcut


37
2018-02-08 22:46



+1. أنا دائما لدي Menubar خفية. حتى بعد سنوات وسنوات من استخدام جنوم ، لم افكر ابدا في البحث عن هذا. شكر :-) - Stefano Palazzo♦
"إعادة ضبط" لا تفعل شيئًا بالنسبة لي ، و "إعادة ضبط و إلغاء" كل شيء واضح ولكن لا يعيد عرض المطالبة. لا تتصرف أي من إدخالات القائمة هذه مثل الأمر "إعادة تعيين" من جهاز طرفي. - Hibou57
كما قال @ Hibou57 ، لا يبدو أن اختصاري لوحة المفاتيح لـ "إعادة تعيين" للقيام بأي شيء. هل هذه الوظيفة مكسورة في 14.04؟ - Michael Martin-Smucker
"هل هذه الوظيفة مكسورة في 14.04؟": هذا هو نفسه مع 12.04. - Hibou57
لا يُتوقع من @ Hibou57 "Reset and Clear" إعادة عرض المطالبة ، ولكن إذا قمت بالضغط على Enter بعد ذلك ، فيجب إعادة عرض المطالبة. هل هذا مناسب لك؟ - Don Hatch


قم بتشغيل هذا الأمر:

reset

هذا له نفس التأثير مثل إطلاق محطة جديدة.


15
2018-02-06 21:55



عند استخدام المعجون ، بعد الجري reset، لا يزال بإمكاني التمرير حتى رؤية الأشياء السابقة. هل هذه مشكلة مع PuTTY بدلا من reset؟ - Svish
svish - هذا مجرد قضية أو قرار تنفيذ معجون. - belacqua
jgbelacqua ، صفقة :) - Svish


عبر نشر جوابي من ستاكوفيرفلوو.

استخدم الأمر التالي للقيام بشاشة واضحة بدلاً من إضافة خطوط جديدة فقط ...

printf "\033c"

نعم هذا 'printf' على موجه باش.

ربما تريد تعريف اسم مستعار على الرغم من ...

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

لا يعمل ما سبق على وحدة KDE (تسمى Konsole) ولكن هناك أمل! استخدم تسلسل الأوامر التالي لمسح الشاشة والمخزن المؤقت التمرير إلى الخلف ...

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

أو ربما استخدام الاسم المستعار التالي على KDE ...

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

لقد حصلت على أمر إزالة التمرير للخلف من هنا.


8
2017-10-13 08:08





حسنا هذا يعتمد حقا ، إذا كنت تستخدم Konsole على سبيل المثال حتى reset لا يمنعك من التمرير بعد السطر الأول. في هذه الحالة ، يتعين عليك استخدام بعض الميزات الخاصة بالطرف الذي تستخدمه. إلى عن على Konsole، انها Edit > Clear History.


5
2018-02-07 16:27





المفضل لدي هو printf "\ec". هذا يمكن أن يكون كذلك printf "\033c" أو printf "\x1bc". هذا هو تسلسل هروب ansi الذي يزيل بشكل عجائبي الشاشة والمخزن المؤقت للمخرج النهائي (بالنسبة لمعظم المحطات القياسية التي عملت بها يبدو - أنا أعلم أنه يعمل في مثل gnome-terminal ، terminator ، xterm ، وما إلى ذلك على Ubuntu-like توزيعات إكس)

أعرف أن هذا يعمل في Linux Mint و Ubuntu 14.04 ، لذلك لا أعرف لماذا يلحق الناس أشياء مثل clear && echo -ne "\033c. printf "\ec" عملت دائما بالنسبة لي.

بالإضافة إلى ذلك ، في بلدي .bashrc لدي ربط مثل هذا:

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

الآن أنا اضغط السيطرةتي كل الوقت.


5
2018-05-01 09:32



هل تعرف كيف يمكن إنشاء التعيين باستخدام مفتاح Windows؟ هذا المقتطف رائع حقًا ، يعمل تمامًا مثل Command-K على نظام التشغيل mac. شكرا لكم. - Niloct
Niloct يمكنك معرفة ما إذا كانت المحطة تدعمه xev (فقط اكتب xev في محطة داخل x-session). من ما يمكن أن أقوله ، لا يدعمه urxvt ؛ في حين أنني لم أحاول في tty ، أنا واثق من أنه لن يكون مدعوما. أنا أشك أيضا أن xterm أو gnome-terminal يدعم هذا. انها صعبة مع هروب ansi. هتافات وآسف على الرد في وقت متأخر. - dylnmc
حسنًاdylnmc ، أقدر ذلك. شكرا على التعليق. - Niloct


لقد اكتشفت ما يلي لتكون ناجحة تمامًا مع Kubuntu:

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

يمكنك استخدام cls للحفاظ على تقليد Windows ، استخدم إصدار Matlab clcأو واحد خاص بك. حظا طيبا وفقك الله!


3
2018-04-29 22:26





بدلا من ذلك reset، يمكنك ان تفعل echo -e "\033c"أو لديك في الخاص بك .bashrc، شيء مثل alias cls="echo -ne '\033c'"

يحتوي UNIX / Linux StackExchange ، على مؤشر ترابط على هذا: كيفية مسح محطة تماما؟ (unix.stackexchange.com)، وكذلك SuperUser: مسح الجهاز باستخدام اختصار لوحة المفاتيح (superuser.com).


2
2017-07-09 08:55





بديل آخر لإجابة Hibou57 @:

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

أو

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

أساسا هذا سيكون له نفس التأثير بالضبط ، سوف يطبع ^[ الحرف (الذي مسح الطرفية الخاصة بك) ولا إخراج سطر جديد زائدة.


2
2017-10-30 21:26



تصحيح طفيف: يطبع ^[ شخصية (ESC) تليها ال c شخصية ، وليس فقط ^[ شخصية وحدها. مجتمعة ، هذه الكمية إلى رمز المحطة الطرفية "RIS" ، الذي يتسبب في إعادة تعيين. مزيد من المعلومات: xfree86.org/4.8.0/ctlseqs.html - jwd


إذا كنت تستخدم yakuake أو Konsole ، فجرّب ذلك السيطرة+تحول+ك.

مصدر: https://bugs.kde.org/show_bug.cgi؟id=309008


1
2017-10-06 16:21