Терминал *вывод* история?

Я делаю широкое применение из функций для навигации через историю команд в моем терминале; интересно, существует ли некоторый способ переместиться по выходной истории команды также? (помимо хранения большого histsize и облокачивания на pgup ключ)

Я не могу только 'повторно выполнить команду', как в моей конкретной ситуации источник изменений команд; я часто должен оглядываться назад на вывод предыдущего изменения.

Приветствующиеся взломы.

Спасибо!

Редактирование 2010:

Я дал 'мишени' кредит; среди всех методов для входа сессии в другом месте это наиболее широко применимо (т.е. это - часть гну coreutils и не требует, чтобы определенная оболочка или утилита работали). Это не было действительно, что я искал, но я понимаю, что такая вещь действительно не существует.

Самое близкое приближение, о котором я могу думать, должно использовать что-то как screen (byobu/tmux), который регистрируется в файл и запись (и keybind) пользовательская команда для разбивания на страницы/перерытия того файла журнала (думают less подкачка страниц подсказкой, а не экраном). Спасибо все.

Редактирование 2012:

Ответ Киркланда @Dustin является ясно лучшим по крайней мере обычно; буфер scrollback терминала меньше всего - навязчивый способ переместиться по выходной истории команды. Byobu, кажется, имеет большое количество по умолчанию сохраненных строк истории (10K; tmux имеет 2K, экран 100 GNU), и он позволяет поиски regex (поверхностный взгляд указывает, что экран GNU не имеет никакого поиска scrollback, и tmux имеет только поиск простого текста).

19
задан 25.03.2012, 21:10

4 ответа

Можно использовать tee отправить Ваш вывод команды в файл и в терминал одновременно.

11
ответ дан 07.12.2019, 10:17

Можно использовать script зарегистрировать Ваш терминальный сеанс в файл. Если Вы всегда хотите, это для случая затем добавляет подходящее script управляйте к Вашему .login.

$ man script

8
ответ дан 07.12.2019, 10:17

screen может быть установлен зарегистрировать вывод.

Один способ запустить его, в рамках выполнения screen сессия, должен нажать Ctrl-a, затем: затем войдите log.

От man screen:

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n" in the 
window's default directory, where n is the number  of  the  current  window.
This filename can be changed with the `logfile' command. If no parameter is
given, the state of logging is toggled. The session log is appended to the
previous contents of the file if it already  exists.  The current contents and
the contents of the scrollback history are not included in the session log.
Default is `off'.

logfile filename
logfile flush secs

Defines  the  name  the  log files will get. The default is "screenlog.%n". The 
second form changes the number of seconds screen will wait before flushing the
logfile buffer to the file-system. The default value is 10 seconds.
5
ответ дан 07.12.2019, 10:17

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

3
ответ дан 07.12.2019, 10:17

Теги

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