25

Когда я подключаюсь к своему серверу через PuTTY, я могу очистить видимый экран командой clear .

Тем не менее, я все еще могу прокрутить назад в GUI PuTTY, чтобы увидеть старые вещи. Мне известна функция очистки прокрутки в PuTTY, но для этого нужно щелкнуть мышью.

Я хотел бы выполнить ту же самую операцию "Очистить прокрутку", но из командной строки.

Является ли это возможным?

Я прочитал этот сайт, который, кажется, указывает на это.

Однако мои эксперименты провалились. Например:

printf '\033[3J'

Ничего не делает для меня.

Возможно, я не понимаю значение CSI 3 J во второй ссылке, хотя ...

5 ответов5

30

Последовательность CSI 3 J для очистки буфера прокрутки была добавлена в PuTTY 0.59. (На странице запроса пожеланий для этой функции см. Строку «исправлено» или перейдите на страницу изменений PuTTY и найдите CSI 3 J )

Как упоминалось в jwd, вы можете ввести printf '\033[3J' в командной строке, чтобы отправить эту последовательность в PuTTY. Имейте в виду, что это только очищает буфер прокрутки, но не очищает экран. Если у вас есть полоса прокрутки, которую вы можете прокрутить, используйте эту последовательность, и вы увидите, что полоса прокрутки отключена, потому что вдруг ничего не доступно для прокрутки. Но отображаемый в данный момент экран остается на месте.

Как уже упоминалось в jwd, вы можете очистить как экран, так и буфер прокрутки, используя clear && printf '\033[3J'

11

Если вы, как и я, привыкли использовать Ctrl+L для опции « Reset terminal доступной в системном меню PuTTY, вам может быть полезно включить « Configuration -> Window -> Behavior -> "System menu appears on ALT-Space" .

Затем, когда вы нажимаете Alt+Space, опция "Clear scrollback" запускается L (строчные буквы; без Shift). Таким образом, reset + clear становится очаровательно-мнемонической комбинацией Ctrl + L и Alt+Space L без каких-либо неприятных размышлений или беспорядка в истории вашей оболочки.

5

Создайте файл сценария и поместите его в папку с включенным путем:

$cat > /usr/local/bin/cls
#!/bin/bash
clear
printf '\033[3J'

Нажмите CTRL+d, чтобы сохранить и выйти

Изменить разрешение на файл:

chmod a+x /usr/local/bin/cls

Теперь вы можете использовать cmd cls :-)

1

Решением для меня было передать символы \033 \143:

Е ("\033\143");

Это очистит экран терминала и вернет курсор в верхний левый угол.

0

В putty есть опция, с помощью которой вы можете снять поведение прокрутки по умолчанию. Просто снимите флажок "Вставить удаленный текст в прокрутку".

Изображение настроек Putty

После этого, когда вы выполните команду очистки, он сотрет экран и не поместит предыдущее содержимое экрана в прокрутку назад.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .