Сохранение вывода консоли в файл
В процессе администрирования нередко возникает необходимость сохранить результаты выполнения команд терминала в файл – это может потребоваться для диагностики, документирования, пересмотра выполненных операций или подготовки отчётов.
Перенаправление вывода в файл
Для записи вывода команды в файл используется оператор перенаправления:
необходимая_команда parameters > logfile.txt
Если файл logfile.txt существует, его содержимое будет перезаписано. Для добавления новых данных к существующему содержимому следует использовать двойной оператор >>:
необходимая_команда parameters >> logfile.txt
Одновременный вывод на экран и в файл
Для одновременного отображения результата команды в терминале и записи в файл применяется утилита tee:
необходимая_команда parameters | tee -a logfile.txt
Опция -a указывает на добавление данных в конец файла без перезаписи.
Снимок экрана консоли с помощью setterm
Утилита setterm позволяет сохранить содержимое одной страницы виртуальной консоли:
setterm -dump -file /путь/к/файлу
Пример:
setterm -dump -file /root/screenlog
Содержимое текущей виртуальной консоли будет сохранено в указанный файл. Опции утилиты:
-dump– создаёт дамп консоли;-file имя_файла– задаёт имя файла для сохранения;-append– добавляет данные к уже существующему файлу.
Для указания номера консоли используется форма:
setterm -dump [N] -file /root/screenlog
где N – номер консоли (например, 1 для /dev/tty1).
Использование утилиты script
Утилита script предназначена для записи всего, что происходит в терминале, включая команды и их вывод:
script --timing=terminal-timing.log terminal.log
После запуска запись начинается немедленно. Все действия будут сохранены в файл terminal.log, а временные характеристики – в terminal-timing.log.
Для завершения записи используется команда:
exit
Для воспроизведения записанного сеанса применяется одна из следующих команд:
scriptreplay terminal-timing.log terminal.log
или
scriptreplay terminal-timing.log terminal.log 2
где число в конце обозначает скорость воспроизведения (2 — в два раза быстрее и т.д.).
Копирование текста с помощью утилиты screen
Менеджер окон screen позволяет копировать данные из буфера прокрутки, для этого нужно:
- запустить screen:
screen
- перейти к выполнению нужных команд;
- войти в режим копирования нажатием комбинации клавиш:
Ctrl+A, затемCtrl+[; - переключиться на новое окно: использовать комбинацию клавиш
Ctrl+A, затем нажать клавишуc; - перейти в новое окно: использовать комбинацию клавиш
Ctrl+A, затем нажать клавишу1; - вставить текст: открыть редактор (например, mc), использовать две комбинации клавиш: сначала
Ctrl+A, затемCtrl+]; - сохранить текст в редакторе;
- вернуться в предыдущее окно: использовать комбинацию клавиш
Ctrl+A, затем нажать клавишу0.
Горячие клавиши в Konsole и Yakuake
В эмуляторах терминала Konsole и Yakuake предусмотрена встроенная функция сохранения вывода. По умолчанию используется сочетание клавиш Ctrl+Shift+S.
Также можно изменить глубину буфера прокрутки в настройках. Стандартное значение — 1000 строк.