Я использовал команду:
reset
очистить мой терминал. Хотя я уверен, что это не то, чем я должен заниматься. Сброс, как следует из названия, сбрасывает весь ваш терминал (меняет много вещей). Вот что я хочу:
Я в основном хочу использовать команду clear
. Тем не менее, если вы очистите, а затем прокрутите вверх, вы все равно получите тонны вещей из ранее. В общем, это не проблема, но я просматриваю большие журналы, которые длинны, и я хочу убедиться, что я просто просматриваю самые последние. Я знаю, что я мог бы использовать more
или что-то подобное, но я предпочитаю такой подход.
clear && printf '\033[3J'
. Нет сброса терминала, просто очистка текста на экране. Смотрите этот пост: superuser.com/questions/555554/…Ответы:
Буфер обратной прокрутки является не функцией bash, а программой терминала. Вы не сказали, какой терминал вы используете.
Если вы используете xterm, вы можете очистить сохраненные строки, передав ESC-c на терминал.
Это может или не может работать на любой терминальной программе, которую вы используете.
На Linux это, вероятно, будет работать:
на FreeBSD echo не принимает -e, поэтому вы можете попробовать:
источник
echo ESC-c
?ESC
. Прочитайте статьи «Escape-символ» и «Control-символ» в Википедии -ESC
часто используется для обозначения ASCII-символа 0x1B, который можно вставить, нажав,^V
а затем кнопкуEsc
.\0143
вместоc
?Используйте правильный инструмент для каждой работы:
Используйте
clear
для очистки окна терминала.Используйте
reset
для сброса вашего терминала, когда он испорчен управляющими последовательностями.Используйте
cat
только в том случае, если вы хотите непрерывно передавать поток данных из одного места в другое .Используйте программу пейджера, например,
less
или,most
чтобы просмотреть страницы вывода.Используйте
tail -f /var/log/foo.log /var/log/bar.log
для просмотра нескольких разных файлов журнала.tail
этот-F
вариант лучше, потому что он может продолжать следовать за файлом, даже когда на его месте появляется новый файл, как это обычно происходит с файлами журналов.источник
cat
чего-либо для чтения, но для небольших файлов это действительно имеет дляcat
них больше смысла , чем использованиеless
. После того, как файл был выгружен в терминал, вы можете просматривать / прокручивать файл обратно так часто, как вам хочется, вместо того, чтобы выполнять его,less
прежде чем делать что-либо еще.Просто чтобы дать технический ответ:
reset
переинициализировать терминал, как будто он был открыт с нуля.stty sane
будет делать много той же функциональности (без сброса). Это то же самое, что^L
(Ctrl + L) (irrc) иtput clear
. Несмотря на то, что сказал предыдущий постер (@grawity),clear
не выводит кучу новых строк. Он отправляетTERM
сброс, как определено в,terminfo
илиtermcap
, для меня, используяgnome-terminal
(xterm), он такой же, как командаperl -e'print "\33[H\33[2J"'
.Если вы хотите просто очистить буфер - по сравнению с перезагрузкой всего терминала, попробуйте это
tput reset
. Это должно быть очень быстро и делать то, что вы хотите. (Хотя вы действительно должны читать файлы сless
)tput reset
, отправляет значение terminfo для сброса - на моем терминале (xterm) оно совпадает сperl -e'print "\33c"'
источник
clear
выводит кучу новых строк. Я просто предоставил команду в качестве альтернативы , потому чтоclear
очищает только экран, но не буфер с прокруткой. (Не в PuTTY или Konsole, по крайней мере.)clear
как имя сигнала в сигнал, а другоеreset
- в сигнал - и только последняя. приводит к очищенному буферу обратной прокрутки.reset
отправляет последнее, прежде чем делать другие забавные вещи.clear
это не сбросить его скроллинга. (ESC c
работает вxterm
VTE и на основе, но не в PuTTY и Konsole.) Он также не хочет использоватьreset
, поскольку он сбрасывает больше, чем он хочет. (Я не знаю, каким терминалом он пользуется - но сравнитеstty
до и после сброса.)tput reset
, который отправляет сигнал сброса на терминал - без фактической повторной инициализации термина. "reset - вместо вывода строк инициализации будут выведены строки сброса терминала, если они есть (rs1, rs2, rs3, rf). Если строки сброса отсутствуют, но есть строки инициализации, будут выведены строки инициализации. В противном случае сброс действует идентично init. " Здесь мы сбросили строки, чтобы строки инициализации не запускались.tput reset
, довольно медленно (так же, какreset
).printf '\033\143'
намного быстрее Есть ли причина, по которой метод printf опасен / плох?Еще один терминал - iTerm2, и у него есть несколько странная escape-последовательность, используемая для очистки прокрутки. В оболочке Bash я использую что-то вроде:
в сценарии. Так что в основном это символ ESC, за которым следует «
]50;ClearScrollback
», а затем символ BEL.источник
clear
иreset
не будут. Однако это не самый лучший ответ на вопрос. Я думаю, что правильным ответом для этого случая будет то, что предлагает терминальное приложение, например команда -K в iTerm2, control-K в других и т. Д.Вероятно, лучший способ очистить все это использовать функцию терминала:
Таким образом, оба буфера стираются, и состояние терминала сбрасывается до того, что было при запуске (что может или не может совпадать с использованием
reset
).источник
gnome-terminal
себя в настоящее время) ... Посмотрите на "Инструменты" и другие меню.+F
для "следовать", аналогично,tail -f
но позволяет вам также прокручивать назад.Все терминалы на основе vte (GNOME, Xfce, Roxterm) и KDE Konsole позволяют использовать колесо прокрутки для прокрутки внутри
less
. Я нахожу это вполне уместным.Альтернатива
clear
:источник
В Mac OS X Terminal.app:
Вид -> Очистить прокрутку (или command- K)
источник
Это не проблема "Баш". Это зависит от используемого вами терминала. Например, я использую «iterm2» с macbook для подключения удаленной машины linux. Вы можете использовать «command + K» для очистки буфера или в меню выбрать «Edit» -> «Clear Buffer».
источник
Чтобы очистить экран консоли и буфер прокрутки при запуске PuTTY, это работает для меня:
На самом деле это две последовательности «Esc», которые действуют независимо ... их можно использовать в любом порядке:
Использование
echo -en "\ec"
сброса терминала может изменить некоторые другие настройки терминала. Вместо «Сброс» вы можете сделать это:Вы можете поместить это в сценарий оболочки, и он работает просто отлично.
В случае, если есть некоторые системные зависимости:
Я использую PuTTY Connection Manager (версия 0.7.1 BETA (сборка 136)) с PuTTY (версия 0.60).
Typing:
доклады:
источник
Чтобы очистить экранный буфер для аппаратного TTY во FreeBSD, вы можете использовать «vidcontrol - утилиту управления и настройки системной консоли» с параметром -C Очистить буфер истории.
vidcontrol -C
команда очистит весь экранный буфер для текущей консоли выше того, что вы видите в данный момент. Возможно, вы захотите сначала «очистить», или нет - до вас.
источник
Если вы хотите быть уверены, что просматриваете самые последние записи в файле журнала, то, вероятно, лучше использовать tail вместо
clear
/,cat
который, я полагаю, вы используете.источник
Хммм. Я полагаю, если вы используете консоль, вам не повезло. Раньше вы могли просто «очистить прокрутку». Konsole не позволит вам сделать это больше. Вы должны сбросить его тоже, чтобы он убил любую программу, которую вы запускали. Я думаю, мне нужна новая терминальная программа ......
источник