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

Легкой альтернативой могло бы быть размещение межсетевого экрана какого-то типа между сегментами локальной сети клиента и сервера. Затем вы хотите настроить брандмауэр с параметрами, связанными с спуфированием пакетов и т. Д. Я бы настроил и упрочил версию сервера Ubuntu с включенным IPTABLES, который находится между клиентами и серверами. Я бы установил правила IPTABLES на рабочем столе Ubuntu с помощью брандмауэра, а затем развернул набор правил на сервер брандмауэра. Это была бы дешевая версия. Если у вас есть наличные деньги, я бы заказывал, устанавливал и настраивал аппаратный брандмауэр, такой как Cisco ASA или контрольная точка.

1
задан 5 September 2017 в 21:26

10 ответов

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

clear && printf '\e[3J'

Очищает весь буфер экрана, очень чистый.

Я надеюсь, что кто-то найдет это полезным как я:)

69
ответ дан 25 May 2018 в 23:07
  • 1
    Хмм, работает в xterm, Konsole и Linux VT, но не в gnome-terminal ... – Ruslan 24 June 2014 в 18:02
  • 2
    Спасибо, это супер полезно! Что означает printf '\e[3J'? Как очистить буфер? – Filip Spiridonov 24 July 2015 в 20:03
  • 3
    Отличная находка! И для тех, кто хочет сбросить стиль Bash на mac: nano ~/.bashrc и добавить alias reset="clear && printf '\e[3J'" – Michael Deal 12 August 2016 в 08:43
  • 4
    будьте осторожны с псевдонимом reset - он делает больше, чем просто очищает терминал. например, если вы случайно распечатали двоичный файл со случайным мусором, который повреждает терминал (например, отключает эхо-символы типизированных символов), reset обычно может исправить это. конечно, псевдонимы прекрасны, если вы знаете, как \override выполнить команду с псевдонимом. – RubyTuesdayDONO 3 October 2016 в 15:51
  • 5
    Это единственный ответ, который помогает очистить прокрутку Putty при доступе к некоторым SSH через Winders. – dhaupin 19 January 2017 в 19:56

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

37
ответ дан 25 May 2018 в 23:07
  • 1
    +1. У меня всегда скрывается Мюбабар; поэтому даже после лет и лет использования гнома я никогда не думал искать это. Благодаря :-) – Stefano Palazzo♦ 9 February 2011 в 16:53
  • 2
    «Сброс» ничего не делает для меня, и «Сброс и очистка» очищает все, но не отображает подсказку повторно. Ни одна из этих записей меню не ведет себя как команда «reset» с терминала. – Hibou57 9 July 2014 в 13:50
  • 3
    Как сказал @ Hibou57, моя комбинация клавиш для «Reset» похоже, ничего не делает. Является ли эта функция нарушенной в 14.04? – Michael Martin-Smucker 24 August 2014 в 01:37
  • 4
    «Разве эта функция сломана в 14.04?»: Это то же самое с 12.04. – Hibou57 24 August 2014 в 07:53
  • 5
    @ Hibou57 "Сброс и очистка" не ожидается повторного отображения приглашения, но если вы нажмете Enter после этого, он должен повторно отобразить приглашение. Это работает для вас? – Don Hatch 9 November 2016 в 06:32

запустите эту команду:

reset

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

15
ответ дан 25 May 2018 в 23:07
  • 1
    При использовании шпатлевки, после запуска reset, я все еще могу прокручивать вверх и видеть предыдущие вещи. Это проблема с PuTTY, а не reset? – Svish 7 February 2011 в 18:43
  • 2
    @svish - это просто проблема внедрения или решения проблемы шпатлевки. – belacqua 9 February 2011 в 02:52
  • 3
    @jgbelacqua, Сделка :) – Svish 9 February 2011 в 13:27

Перекрестная отправка моего ответа из stackoverflow.

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

printf "\033c"

yes that is 'printf 'в приглашении bash.

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

alias cls='printf "\033c"'

Объяснение

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

Итак, это становится [ f7], который является кодом выхода VT100 для сброса терминала. stackoverflow - это дополнительная информация о кодах escape-кода терминала.

Edit

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

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

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

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

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

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

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

8
ответ дан 25 May 2018 в 23:07

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

5
ответ дан 25 May 2018 в 23:07

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

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

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

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

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

4
ответ дан 25 May 2018 в 23:07
  • 1
    Вы знаете, как можно создать сопоставление с помощью ключа Windows? Этот фрагмент действительно замечательный, работает точно так же, как Command-K на Mac. Спасибо. – Niloct 12 January 2017 в 19:47
  • 2
    @Niloct вы можете видеть, поддерживает ли терминал его с помощью xev (просто введите xev в терминале внутри x-сеанса). Из того, что я мог сказать, urxvt не поддерживает его; в то время как я не пытался в tty, я уверен, что он не будет поддержан. Я также сомневаюсь, что xterm или гном-терминал поддержат это. Это сложно с анси-побегами. Приветствия и извините за поздний ответ. – dylnmc 3 February 2017 в 21:34
  • 3
    Хорошо @dylnmc, я ценю это. Спасибо за комментарий. – Niloct 3 February 2017 в 22:19

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

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

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

3
ответ дан 25 May 2018 в 23:07

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

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

2
ответ дан 25 May 2018 в 23:07

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

# The Octal Way
alias clear="echo -e '\033c\c'"

OR

# The Hex Way
alias clear="echo -e '\x1b\c'"

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

2
ответ дан 25 May 2018 в 23:07
  • 1
    Небольшая коррекция: он печатает символ ^[ (ESC) , а затем символ c, а не только символ ^[. В сочетании эти количества с "RIS" который вызывает сброс. Дополнительная информация: xfree86.org/4.8.0/ctlseqs.html – jwd 11 October 2017 в 18:29

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

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

1
ответ дан 25 May 2018 в 23:07

Другие вопросы по тегам:

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