Как действительно очистить терминал?

Я могу выполнить команду clear или нажать Ctrl + L , чтобы очистить текущий терминал Ubuntu, но это просто сдвигает предыдущий вывод вверх и если вы используете клавиши прокрутки мыши или PgUP и PgDown , трудно отличить, где заканчивается вывод предыдущей команды и выводится текущая команда.

Есть ли способ действительно очистить терминал, чтобы я не видел предыдущие результаты команды?

320 голосов | спросил Stann 7 FebruaryEurope/MoscowbMon, 07 Feb 2011 00:51:30 +0300000000amMon, 07 Feb 2011 00:51:30 +030011 2011, 00:51:30

11 ответов


390

Да, команда, которую вы ищете,

Сброс

В отличие от clear или Ctrl + L , reset фактически полностью повторно инициализирует < href = "https://askubuntu.com/questions/14866/what-are-shells/14870#14870"> вместо того, чтобы просто очищать экран. Однако он не будет повторно создавать экземпляр оболочки (bash). Это означает, что состояние bash совпадает с предыдущим, как если бы вы просто очищали экран.

Как отмечает @Wallacoloo в комментариях, эта команда должна делать то же самое быстрее:

сброс tput

Из других ответов:

  • Вы можете установить Клавиатурный ярлык на сбросить терминал, как объясняется towolf .

  • Если вы используете Kubuntu , а ваш терминал - Konsole, вам нужно перейти в Изменить â † 'Очистить историю , так как reset работает не так, как отмечает UncleZeiv .

ответил Stefano Palazzo 7 FebruaryEurope/MoscowbMon, 07 Feb 2011 00:55:03 +0300000000amMon, 07 Feb 2011 00:55:03 +030011 2011, 00:55:03
75

Я искал это некоторое время, и я нашел гения, который опубликовал это:

 clear & & & & & printf '\ e [3J'

Очищает весь буфер экрана, очень чистый. Работает на OS X и полагает, что он отлично работает на большинстве терминалов * nix.

Любопытно, что эта часть '\ e [3J' является командой вывода терминала.

ответил Goran 29 Mayam14 2014, 09:51:22
37

Вы также можете назначить ярлык в gnome-терминале, перейдя в Изменить â † «Ярлыки клавиш . Я использую Shift + Ctrl + Alt + C .

сброс и очистка ярлыка

ответил towolf 9 FebruaryEurope/MoscowbWed, 09 Feb 2011 01:46:03 +0300000000amWed, 09 Feb 2011 01:46:03 +030011 2011, 01:46:03
15

выполните следующую команду:

Сброс

Это имеет тот же эффект, что и запуск нового терминала.

ответил dv3500ea 7 FebruaryEurope/MoscowbMon, 07 Feb 2011 00:55:00 +0300000000amMon, 07 Feb 2011 00:55:00 +030011 2011, 00:55:00
8

Переадресовать мой ответ из stackoverflow .

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

printf "\ 033c"

да, это «printf» в приглашении bash.

Вы, вероятно, захотите определить псевдоним, хотя ...

alias cls = 'printf "\ 033c"'

Объяснение

 \ 033 == \ x1B == 27 == ESC

Таким образом, это становится <ESC> c, который является кодом возврата VT100 для сброса терминала. Здесь - это дополнительная информация о кодах выхода терминала.

Изменить

Вот несколько других способов сделать это ...

printf "\ ec" # \ e является ESC в bash
echo -en "\ ec" #thanks @Jonathon Reinhart.
# -e Включить интерпретацию обратных слэшей
# -n Не выводить новую строку

KDE

Вышеописанное не работает на консоли KDE (так называется Konsole), но есть надежда! Используйте следующую последовательность команд, чтобы очистить экран и буфер прокрутки ...

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

Или, возможно, используйте следующий псевдоним в KDE ...

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

Я получил команду очистки прокрутки назад от здесь .

ответил Sandeep Datta 13 +03002015-10-13T11:08:32+03:00312015bEurope/MoscowTue, 13 Oct 2015 11:08:32 +0300 2015, 11:08:32
5

Ну, это действительно зависит, если вы используете Konsole, например, даже reset не мешает вам прокручивать предыдущую строку. В этом случае вам нужно использовать некоторую функцию конкретного терминала, который вы используете. Для Konsole это Edit> Очистить историю.

ответил UncleZeiv 7 FebruaryEurope/MoscowbMon, 07 Feb 2011 19:27:08 +0300000000pmMon, 07 Feb 2011 19:27:08 +030011 2011, 19:27:08
5

Моим любимым является printf "\ ec". Это также может быть printf "\ 033c" или printf "\ x1bc". Это ansi escape-последовательность, которая чудесным образом очищает экран и буфер для вывода терминала (для большинства стандартных терминалов, с которыми я работал, кажется, что я знаю, что он работает как gnome-terminal, terminator, xterm и т. Д. На Ubuntu-like версии Linux)

Я знаю, что это работает в Linux Mint и Ubuntu 14.04, поэтому я не знаю, почему люди добавляют и преподают такие вещи, как clear & & echo -ne "\ 033c. printf" \ ec " всегда работал для меня.

Кроме того, в моем .bashrc у меня есть привязка вроде этого:

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

Теперь я нажимаю ctrl t все время.

ответил dylnmc 1 Maypm15 2015, 12:32:13
3

Я нашел следующее, чтобы быть успешным с Kubuntu:

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

Вы можете использовать cls, чтобы поддерживать традицию Windows, использовать версию Matlab clc или одну из ваших собственных. Удачи!

ответил Charles Bell 30 AMpThu, 30 Apr 2015 01:26:36 +030026Thursday 2015, 01:26:36
2

В качестве альтернативы reset вы можете выполнить echo -e "\ 033c" или иметь в своем .bashrc, что-то вроде alias cls = "echo -ne '\ 033c'"

В UNIX /Linux StackExchange есть поток: Как полностью очистить терминал ? (Unix.stackexchange.com) , а также SuperUser: Очистить терминал, используя сочетание клавиш (superuser.com) .

ответил Hibou57 9 J000000Wednesday14 2014, 12:55:15
2

Другая альтернатива ответу @ Hibou57:

# Октальный путь
alias clear = "echo -e '\ 033c \ c'"

ИЛИ

# Шестигранный путь
alias clear = "echo -e '\ x1b \ c'"

В основном это будет иметь точно такой же эффект, он выведет символ ^ [ (который очистит ваш терминал) и не выводит завершающую новую строку.

ответил TwystO 31 +03002014-10-31T00:26:25+03:00312014bEurope/MoscowFri, 31 Oct 2014 00:26:25 +0300 2014, 00:26:25
1

Если вы используете yakuake или Konsole, попробуйте CTRL + Сдвиг + K .

Источник: https://bugs.kde.org/show_bug.cgi?id = 309008

ответил Wojciech Sidor 6 +03002015-10-06T19:21:11+03:00312015bEurope/MoscowTue, 06 Oct 2015 19:21:11 +0300 2015, 19:21:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132