Оболочка консольной очистки


8

Есть ли способ прояснить, что отображается на консоли оболочки (в Ubuntu Linux) всего одним или двумя ключами? Когда я получаю поток строк, grepкоторый превышает высоту окна, я хочу быстро вернуться к той позиции, где я набрал команду после приглашения. Я могу сделать это, если я открыл новый терминал до того, как набрал команду, и просто перешел в исходное положение. Но если продолжать использовать то же самое окно терминала, я должен вручную найти позицию. Ctrl+ lне является ответом, потому что он просто прокручивается, а содержимое терминала остается. Я не могу использовать, lessпотому что цветной вывод grep не отображается в цвете.


Я слегка смущен. Вы ищете что-то похожее на clsDOS?
Изи

Я не знаком с DOS, но если это позволяет очистить окно и установить полосу прокрутки в верхнее положение, то это то, что я хочу.
Sawa

1
clsв DOS очищает содержимое консоли и возвращает вас на пустой экран с новой командной строкой.
Изи

@lszi я вижу. Это аналог «перезагрузки», который дал Фахим?
Sawa

1
Нет, clearэто аналог cls. resetделает больше Оба, вероятно, будут работать, но на основании вашего описания, resetэто излишне.
Микель

Ответы:


13

The

reset

Команда, которая является частью ncurses и находится в пакете ncurses-bin в Debian, полностью очистит консоль. Это то, что вы хотите?

Краткое резюме resetиз справочной страницы:

reset устанавливает режимы «cooked» и «echo», отключает режимы «cbreak» и «raw», включает перевод новой строки и сбрасывает любые неустановленные специальные символы в их значения по умолчанию, прежде чем выполнять инициализацию терминала так же, как tset.

Как обсуждено в /superuser/122911/bash-reset-and-clear-commands , и как указывалось Эриком при очистке консоли Shell , clearпросто очистит экран, resetбудет (как выразился bignose), msgstr "сбросить ваш терминал, когда он испорчен управляющими последовательностями". Лично я хорошо испортил свой терминал, и когда я его очищаю, я не собираюсь возвращать ничего, что было раньше, поэтому я просто использую reset. Но ммм.


Чем это отличается Ctrl+Lдля целей этого вопроса? Пользователь не упомянул о повреждении терминала, а в остальном это эквивалентно, насколько я вижу.
Микель

@Mikel Я пытался, Ctrl+Lно он не очистил терминал.
Пила

8

Я обычно просто использую:

clear

Со clearстраницы руководства :

clear clears your screen if this is possible.  It looks in the environ-
ment for the terminal type and then in the terminfo database to  figure
out how to clear the screen.

clear ignores any command-line parameters that may be present.

1
Я пробовал, но он не очищает терминал.
Пила

@sawa: Можете ли вы предоставить скриншот? Я до сих пор не могу понять из вашего вопроса, почему clearили Ctrl+Lне работают.
Микель

3
@Mikel Это просто не работает. Строка прокручивается вверх, и курсор находится на первой видимой строке, а полоса прокрутки расположена внизу.
Sawa

1
@sawa: Ах, я понимаю, что ты имеешь в виду! Я использовал PuTTY, и это было то же самое, но в Gnome Terminal есть разница. Спасибо за объяснение.
Микель


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.