Я широко использую функции для навигации по истории команд в моем терминале; Интересно, есть ли способ навигации по истории вывода команд? (помимо сохранения большого гистосайта и опоры на ключ pgup)
Я не могу просто «повторить команду», так как в моей конкретной ситуации источник команд меняется; Мне часто нужно оглядываться на результат предыдущего изменения.
Хаки приветствуются.
Благодарность!
Изменить 2010:
Я дал «тройник» кредит; среди всех методов для записи вашего сеанса в другом месте, он наиболее применим (т.е. он является частью gnu coreutils и не требует специальной оболочки или утилиты для работы). Это было не совсем то, что я искал, но я понимаю, что такой вещи на самом деле не существует.
Самое близкое приближение, которое я могу придумать, - это использовать что-то вроде screen
(byobu / tmux), которое ведет журнал в файл, и написать (и связать ключи) пользовательскую команду для просмотра / поиска по этому файлу журнала (подумайте о поиске less
по подсказке, а не по экрану). Спасибо всем.
Изменить 2012:
Ответ @Dustin Kirkland явно лучший, по крайней мере, в целом; буфер прокрутки терминала является наименее навязчивым способом навигации по истории вывода команд. По-видимому, в Byobu сохранено большое количество сохраненных по умолчанию строк истории (10 КБ; tmux имеет 2 КБ, экран GNU 100), и он позволяет выполнять поиск по регулярному выражению (беглый взгляд указывает на то, что на экране GNU отсутствует поиск с прокруткой, а в tmux есть только поиск в виде открытого текста).
exit
, закрыть терминал, открыть новый терминал с помощью Byobu и продолжить предыдущий сеанс.Вы можете использовать,
tee
чтобы отправить вывод вашей команды в файл и на терминал одновременно.источник
Вы можете использовать
script
для регистрации сеанса терминала в файл. Если вы всегда хотите, чтобы это произошло, добавьте подходящуюscript
команду к себе.login
.$ man script
источник
использование
screen -L
после выхода из сеанса оболочки (
exit
команды) вы получаете лог-файл в том же каталоге, что вы началиscreen
затем вы можете просмотреть вывод с помощью
more
илиless -R
источник
screen
может быть установлен для вывода журнала.Один из способов запустить его во время текущей
screen
сессии - нажать Ctrl- a, затем :, затем ввестиlog
.От
man screen
:источник
bash хранит историю того, что вы сделали, но не вывод команд. Это потенциально может быть огромным и часто бесполезным.
источник