Я знаю, что есть такие команды, как \! clear , system clear , используя ctrl + l в терминале, чтобы очистить терминал.

Но я ясно понимаю, что это просто оставляет пробел, и все предыдущие результаты все еще находятся на вершине, что, когда мы прокручиваем, мы все равно видим результаты предыдущих команд.

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

2 ответа2

1

Используйте "\! Сброс "команда. В отличие от очистки или Ctrl+L, сброс фактически полностью переинициализирует терминал, а не просто очищает экран. Однако он не будет создавать экземпляр оболочки (bash). Это означает, что состояние bash такое же, как и раньше, как если бы вы просто очищали экран.

0

Вы можете использовать tput reset .

Помимо reset и tput reset вы можете использовать следующий скрипт оболочки.

#!/bin/sh
echo -e \\033c

Это отправляет управляющие символы Esc-C на консоль, которая сбрасывает терминал.

Google Keywords: Linux Console Control Sequences

человек console_codes говорит:

Последовательность ESC c вызывает сброс терминала, что и требуется, если весь экран искажен. Часто рекомендуемый "echo ^ V ^ O" только делает G0 текущим, но нет никакой гарантии, что G0 указывает на таблицу a). В некоторых дистрибутивах есть программный сброс (1), который просто выполняет «echo ^ [c» ». Если ваша запись terminfo для консоли верна (и имеет запись rs1 =\Ec), то также будет работать "сброс tput".

ссылка: https://unix.stackexchange.com/questions/26975/how-to-clear-terminal-completely

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