Очистить терминал, пока активный процесс выводит контент

0

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

В Mac OS X Terminal я могу просто использовать Command-K, но, похоже, нет аналога для терминала Ubuntu.

Вот что я нашел:

  • clear && echo -en "\e[3]" отправляет сброс а также очищает все окно, но это требует от меня доступа к приглашению bash
  • Control-L очищает текущий контент, но не работает во время выполнения процесса а также он только прокручивает окно вниз и не очищает предыдущий контент.

В настоящее время я использую терминал по умолчанию, включенный в установку Ubuntu для подсистемы Windows. Есть ли какая-либо команда, которую я могу отправить на терминал, который принудительно сбрасывает все?

В качестве альтернативы есть сторонний терминал, который поддерживает это - в идеале, который также предлагает другие преимущества, такие как вкладки и улучшенное копирование / вставка текста?

Jordan Reiter
источник
Что вы подразумеваете под "терминалом Ubuntu"? Это gnome-terminal? konsole? xterm? или что вы видите после Ctrl + Alt + F1? Во всяком случае, после того, как вы узнаете, что tty или pts процесс использует для вывода ( readlink /proc/<PID>/fd/1 ), вы можете сделать как clear > /dev/pts/2 с другой консоли, чтобы повлиять на это. Это способ Unix, где «все является файлом»; Я не знаю, работает ли нечто подобное в подсистеме Windows для Linux.
Kamil Maciorowski

Ответы:

-1

Похоже, проблема в том, что какая-то команда / скрипт выводит некоторые вещи, которые вас не интересуют, и некоторые вещи, которые вам нужны делать заботиться о.

Я не знаю достаточно о Windows, чтобы ответить на «Как очистить сеанс терминала нажатием клавиши», но я знаю достаточно о Linux в целом, чтобы дать несколько советов о «Как сделать вывод более читабельным».

Рассматривали ли вы следующие "стандартные linux" способы решения этой проблемы?

А) Регистрация выхода

your_command >> output.txt

Это делает вывод более постоянным, вы также можете сделать output1.txt, output2.txt и т. Д. И посмотреть, будут ли какие-то изменения делать то, что вы хотите.

>> оператор в bash изменит вывод команды / скрипта от консоль в файл в любом каталоге, в котором вы работаете. (Вы также можете указать путь, если хотите, чтобы он был определенным)

Еще лучше, если вы написали или можете отредактировать сценарий, вы можете настроить ведение журнала в сценарии, чтобы организовать вывод в соответствующие файлы с временными именами файлов и т. Д.

Б) Трубопровод выходной

your_command | less

Это лучше, если вы не ожидаете необходимости ссылаться на несколько «версий» вывода, а также не ожидаете, что захотите узнать результат позже в будущем.

Находясь в менее программе, вы можете перейти к тексту, который вам небезразличен. (Поиск в менее / тогда ваш поисковый запрос)

Justin Hill
источник