Вы можете использовать, tee
чтобы отправить вывод вашей команды в файл и на терминал одновременно.
Терминал * вывод * история?
Я широко использую функции для навигации по истории команд в моем терминале; Интересно, есть ли способ навигации по истории вывода команд? (помимо сохранения большого гистосайта и опоры на ключ pgup)
Я не могу просто «повторить команду», так как в моей конкретной ситуации источник команд меняется; Мне часто нужно оглядываться на результат предыдущего изменения.
Хаки приветствуются.
Спасибо!
Изменить 2010:
Я дал «тройник» кредит; Среди всех методов для записи вашего сеанса в другом месте, он наиболее применим (т.е. он является частью gnu coreutils и не требует специальной оболочки или утилиты для работы). Это было не совсем то, что я искал, но я понимаю, что такой вещи на самом деле не существует.
Самое близкое приближение, которое я могу придумать, - это использовать что-то вроде screen
(byobu / tmux), которое ведет журнал в файл, и написать (и связать ключи) пользовательскую команду для просмотра / поиска по этому файлу журнала (подумайте о поиске less
по подсказке, а не по экрану). Спасибо всем.
Изменить 2012:
Ответ @Dustin Kirkland явно лучший, по крайней мере, в целом; буфер прокрутки терминала является наименее навязчивым способом навигации по истории вывода команд. По-видимому, в Byobu сохранено большое количество сохраненных по умолчанию строк истории (10 КБ; tmux имеет 2 КБ, экран GNU 100), и он позволяет выполнять поиск по регулярному выражению (беглый взгляд указывает на то, что на экране GNU отсутствует поиск с прокруткой, а в tmux есть только поиск в виде открытого текста).
6 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Вы можете использовать script
для регистрации сеанса терминала в файл. Если вы всегда хотите, чтобы это произошло, добавьте подходящую script
команду к себе .login
.
$ man script
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.
использование screen -L
после выхода из сеанса оболочки ( exit
команды) вы получаете лог-файл в том же каталоге, что вы началиscreen
затем вы можете просмотреть вывод с помощью more
илиless -R
Вы упоминаете об использовании byobu ...
Это, безусловно, один из способов сделать это. Byobu хранит 10K строк истории прокрутки для каждого окна или для разделения (панели).
Вы можете легко ввести прокрутку, нажав Alt- PageUp, Alt- PageDownили F7. Перейдя в режим прокрутки, вы можете осуществлять поиск вперед и назад с помощью команд типа vi. Используйте /regex
для поиска вперед и ?regex
поиска назад.
bash хранит историю того, что вы сделали, но не вывод команд. Это потенциально может быть огромным и часто бесполезным.
Похожие вопросы
-
2
.profile в Mac OS X?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
8
Переименуйте группу файлов одной командой
-
2
Почему мой путь не обновляется * сейчас *?
-
5
Как удалить символическую ссылку на каталог?
-
8
Спаси меня от бессмысленного терминала
-
9
Как можно добавить номер строки и табуляцию к каждой строке текстового файла?
-
1
Когда я должен положить конфигурации в .bashrc против. .bash_profile?