Как записать терминальную сессию в текстовый файл в Ubuntu

record_terminal_session

Если вы часто для решения той или иной задачи пользуетесь терминалом Linux, то рано или поздно вы можете столкнутся с такой ситуацией, когда необходимо будет сохранить все манипуляции в терминале. Для таких случаев было б целесообразно записать в лог-файл все введенные в консоли команды и результаты их исполнения. К счастью в Linux-системах давно уже существуют утилиты и механизмы записи всего что происходит в терминале.

Для того чтобы установить утилиту которая будет собирать все строчки терминала, в том случае если ее нет в вашей системе по-умолчанию, необходимо в том же терминале набрать следующую команду:

sudo apt-get install bsdutils

Сразу же после установки bsdutils, в терминале Linux станут доступны две следующие команды: script и scriptreplay, которые соответственно служат для записи и для проигрывания записанных ранее действий в терминале.

Пользоваться данной утилитой очень просто. Для старта процесса записи перед важными действиями необходимо в том же терминале ввести следующую команду:

script -t -a 2> /путь/к/файлу/timing.txt /путь/к/файлу/recording.txt

Не забудьте указать в предыдущей команде реальные пути, где необходимо будет хранить историю работы в терминале. К примеру, если я хочу сохранить запись терминала в своей домашней директории, то эта команда должна выглядеть следующим образом:

script -t -a 2> /home/user/timing.txt /home/user/recording.txt

Где, флаг -t информирует скрипт о записи паралельно файла с таймингами (/home/user/timing.txt), с помощью которого при воспроизведении всех записанных команд будут соблюдаться все временные интервалы между ними, таким образом сложиться впечатление о видео записи происходящего. А флаг -a проинструктирует утилиту о необходимости дописывать вывод.

Как только нужная команда была введена, утилита вернет в терминал сообщение о начале записи: «Скрипт запущен, файл…«. Теперь все что будет введено в терминале, включая вывод команд, будет записано в интеллектуальный лог.

record_terminal_session01

Как только вы закончите работу в терминале для того чтобы прекратить запись достаточно просто набрать команду exit. Посте чего терминал должен вернуть сообщение «Скрипт выполнен, файл…«, которое и укажет о том что запись завершена.

record_terminal_session02

Теперь чтобы просмотреть запись в реальном времени достаточно выполнить простую команду (в том случае если, к примеру, запись проводилась в файл recording.txt).

scriptreplay ~/timing.txt ~/recording.txt

Ну вот и все, ничего сложного. Данный способ может быть полезен для создания готовых realtime-мануалов, которые помогут восстановить забытые навыки в той или иной настройке системы с 100% точностью. А также будет полезным для тех случаях когда нужна помощь друзьям в той или иной настройке.

Оцените эту статью: 1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд6 Звезд7 Звезд8 Звезд9 Звезд10 Звезд (Еще нет голосов)
Загрузка...

3 Комментариев

  1. Серёга

    Пользуясь терминалом в своей Mint, я начинаю понимать, что сценарий фильма «Матрица», написал человек, пользующийся Линуксом, скорее всего каким-нибудь Debian-дистрибутивом 😀

  2. Серёга

    А за статью — СПАСИБО

  3. Medved

    Спасибо очень помогло.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Выполните действие! (обязательно) Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.