Использование команды clear
на терминале только обманывает пользователя, думая, что экран очищен... вы все еще можете видеть вывод из предыдущих команд при прокрутке с помощью мыши. Это затрудняет жизнь, когда вы тонете в цунами текста.
Различные решения (escape-код и т.д.), которые можно найти в Интернете, - это только варианты того, что уже делает команда clear.
Итак, как вы очищаете содержимое терминала bash в Ubuntu для реального?
Используйте следующую команду, чтобы сделать чистый экран вместо простого добавления новых строк...
printf "\033c"
да, что 'printf' в приглашении bash.
Вы, вероятно, захотите определить псевдоним, хотя...
alias cls='printf "\033c"'
\033 == \x1B == 27 == ESC
Таким образом, это становится <ESC>c
, который является кодом выхода VT100 для сброса терминала. Здесь - дополнительная информация о кодах выхода терминала.
Вот несколько других способов сделать это...
printf "\ec" #\e is ESC in bash
echo -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"'
Я получил команду очистки прокрутки назад здесь.
"\033c"
- это ESC c
которая является escape-последовательностью VT-XXX для «полного сброса (RIS)». Почти все терминалы, которые люди фактически используют в настоящее время, совместимы с VT, но если вы когда-нибудь обнаружите, что используете странный терминал, это может не сработать. Ответ @ vpit3833, скорее всего, сработает, если TERM установлен правильно.
printf
является встроенным Bash (это правда, что это также отдельный двоичный файл, но встроенные имеют приоритет, и большинство современных оболочек имеют printf
).
Попробуйте reset
. Он очищает экран терминала, но к предыдущим командам можно получить доступ по стрелке или любому ключу, которое у вас есть.
tput reset
Это сделает трюк!
reset
, но все же выполняет свою работу!
reset
Ни один из ответов, которые я читал, не работал в PuTTY, поэтому я нашел комментарий к этой статье:
В настройках вашего подключения в разделе "Окно- > Поведение" вы найдете параметр "Системное меню появляется только на ALT". Затем CTRL + L, ALT, l (нижний регистр L) прокрутит экран, а затем очистит буфер прокрутки.
(относится к OP, потому что я подключаюсь к серверу Ubuntu, но также, по-видимому, имеет значение независимо от того, что работает ваш сервер.)
CTRL+L
затем « ALT+Space
, U
который сначала очищает окно терминала, а затем сбрасывает прокрутку в реальном времени.
Моя любимая дружеская команда для этого:
reset
Проверено на xterm и VT100. Это также помогает после ненормального завершения программы. Сохраняет буфер команд, поэтому стрелка вверх будет выполнять предыдущие команды.
приветствия: D
В следующей ссылке объясняется, как сделать этот псевдоним постоянным, поэтому вам не нужно набирать его.
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
Это шаги, подробно описанные в этой ссылке.
Я не беру на себя ответственность за эту информацию, просто передавая ее.
С KDE и Ubuntu 12.04 LTS и терминалом "Konsole" ни один из опубликованных ответов не работает. Тем не менее, нажатие сочетания клавиш CTRL + Shift + X действительно работает! Источник:
Скомпилируйте это приложение.
#include <iostream>
#include <cstring>
int main()
{
char str[1000];
memset(str, '\n', 999);
str[999] = 0;
std::cout << str << std::endl;
return 0;
}
seq 999 | tr -d '[0-9]'
который в любом случае не решает проблему ... вздох