Сохранение вывода консоли в файл
В процессе администрирования нередко возникает необходимость сохранить результаты выполнения команд терминала в файл – это может потребоваться для диагностики, документирования, пересмотра выполненных операций или подготовки отчётов.
Перенаправление вывода в файл
Для записи вывода команды в файл используется оператор перенаправления:
необходимая_команда 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 строк.