Если вы часто для решения той или иной задачи пользуетесь терминалом 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 проинструктирует утилиту о необходимости дописывать вывод.
Как только нужная команда была введена, утилита вернет в терминал сообщение о начале записи: «Скрипт запущен, файл…«. Теперь все что будет введено в терминале, включая вывод команд, будет записано в интеллектуальный лог.
Как только вы закончите работу в терминале для того чтобы прекратить запись достаточно просто набрать команду exit. Посте чего терминал должен вернуть сообщение «Скрипт выполнен, файл…«, которое и укажет о том что запись завершена.
Теперь чтобы просмотреть запись в реальном времени достаточно выполнить простую команду (в том случае если, к примеру, запись проводилась в файл recording.txt).
scriptreplay ~/timing.txt ~/recording.txt
Ну вот и все, ничего сложного. Данный способ может быть полезен для создания готовых realtime-мануалов, которые помогут восстановить забытые навыки в той или иной настройке системы с 100% точностью. А также будет полезным для тех случаях когда нужна помощь друзьям в той или иной настройке.
Пользуясь терминалом в своей Mint, я начинаю понимать, что сценарий фильма «Матрица», написал человек, пользующийся Линуксом, скорее всего каким-нибудь Debian-дистрибутивом 😀
А за статью — СПАСИБО
Спасибо очень помогло.