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

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

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

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

reset

В отличие от clear, или Ctrl+L, reset фактически полностью повторно инициализирует терминал, вместо того, чтобы просто очистить экран. Однако он не будет повторно создавать оболочку (bash). Это означает, что баш государство это то же самое, что и раньше, как если бы вы просто очищали экран.

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

tput reset

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

  • Вы можете установить Сочетание клавиш к reset терминал, как объясняется волк.

  • Если ты бежишь Kubuntu, и ваш терминал - это консоль, вам нужно перейти в Редактировать → Очистить историю, так как reset там все работает по-другому, как отмечает дядюшка Зейв.

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

clear && printf '\e[3J'

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

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

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

reset and clear shortcut

Перекрестная публикация моего ответа от стековый поток.

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

printf "\033c"

да, это "printf" в командной строке bash.

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

alias cls='printf "\033c"'

Объяснение

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

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

Редактировать

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

printf "\ec" #\e is ESC in bashecho -en "\ec" #thanks @Jonathon Reinhart.# -e    Enable interpretation of of backslash escapes# -n    Do not output a new line

ГДЕ

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

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

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

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

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

выполните эту команду:

reset

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

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

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

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

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

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

Вот все способы, которыми вы можете очистить экран терминала в Unix:

clear               # only clear visible screenclear && clear      # clear buffer as welltput clear          # same as clear but by sending escape seqreset               # clear + reset internal terminal state + 1sec delaytput reset          # same as reset but without 1sec delaystty sane           # don't clear screen but reset some terminal optionsecho -e "\033c"     # same as tput reset but hardcoded escape seqprintf "\033c"      # same as tput reset but hardcoded escape seqsetterm -reset      # same as tput reset, setterm has friendlier commands

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

Я обнаружил, что следующее довольно успешно работает с Kubuntu:

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

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

Если вы используете yakuake или Konsole, попробуйтеCtrl+Shift+K.

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

Нажмите Ctrl + L ** дважды **, и вы получите пустое место!

В mac os и iTerm cmd + k делает это за меня.

ctrl + L дважды работает на встроенном терминале mac os x vscode