Гид по технологиям

Как записать сеанс терминала в Ubuntu

• 4 min read • Linux • Обновлено 29 Nov 2025
Запись сеанса терминала в Ubuntu
Запись сеанса терминала в Ubuntu

Короткое описание

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

Установка и подготовка

Откройте терминал и установите пакет bsdutils (в нём есть команды script и scriptreplay):

sudo apt-get update
sudo apt-get install bsdutils

После установки станут доступны команды script и scriptreplay, которые используются для записи текущего сеанса терминала и его воспроизведения.

Как начать запись

Чтобы начать запись, выполните команду, которая создаёт два файла: один — с содержимым сеанса (текст), другой — с тайминг-данными для точного воспроизведения:

script -t -a 2> /path-to/timing-file.txt /path-to/recording-file.txt

Пример для домашней директории:

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

Пояснения:

  • параметр -t генерирует данные синхронизации (timing);
  • параметр -a добавляет вывод в существующий файл, если он есть (append);
  • 2> перенаправляет поток stderr, в который script записывает тайминг-файл.

После запуска вы увидите сообщение

Script started, file is /home/damien/recording.txt

Всё, что вы набираете в терминале и что выводит система, будет записано в recording-file.txt вместе с возможными управляющими символами и цветами.

Начало записи сеанса терминала

Источник изображения: Macro Of Digital Dictaphone (BigStockPhoto)

Остановка записи и воспроизведение

Чтобы завершить запись, введите:

exit

Вы увидите сообщение об окончании записи:

Script done, file is /home/damien/recording.txt

Воспроизвести с учётом тайминга можно командой:

scriptreplay /home/damien/timing.txt /home/damien/recording.txt

Если вам достаточно просто текста без синхронизации, откройте recording-file.txt в любом текстовом редакторе.

Важно: сохраняйте timing-файл и файл записи вместе — без timing-файла воспроизведение через scriptreplay будет некорректным.

Когда этот метод полезен

  • отладка сложных CLI-сценариев и воспроизведение шагов;
  • образование: показать ученику последовательность команд и ожидаемый вывод;
  • документирование действий при устранении проблем (troubleshooting);
  • подготовка примеров для отчётов и баг-репортов.

Когда это не подходит

  • при захвате графических приложений или GUI-элементов — script работает только для терминала;
  • если нужно интерактивное совместное редактирование — лучше tmux/screen с общим доступом;
  • при необходимости шаринга в интернете с воспроизведением в браузере лучше использовать asciinema.

Альтернативные инструменты

  • asciinema — записывает терминал в компактный JSON-произвольный формат, легко встраивается в веб-страницы и позволяет делиться записями без больших файлов;
  • ttyrec — похож на script, с собственным форматом и утилитой для воспроизведения;
  • tmux или screen — полезны, если нужно разделить сеанс или дать совместный доступ в реальном времени.

Методология: шаги от начала до конца

  1. Установите bsdutils.
  2. Запустите запись: создайте recording-файл и timing-файл.
  3. Выполните нужные команды, записывая сессии.
  4. Завершите командой exit.
  5. Воспроизведите или откройте запись в редакторе.
  6. При необходимости отредактируйте, зашифруйте или удалите чувствительные данные.

Критерии приёмки

  • После запуска команды вывод показывает “Script started” и путь до файла;
  • Файл recording.txt содержит введённые команды и соответствующий вывод;
  • Команда scriptreplay воспроизводит сессию с похожей скоростью и последовательностью вывода;
  • При использовании -a новый вывод добавляется в конец существующего файла, не перезаписывая его.

Контрольные списки по ролям

Разработчик:

  • проверить наличие bsdutils;
  • записать воспроизводимый пример ошибки;
  • приложить timing-файл к баг-репорту.

Системный администратор:

  • убедиться, что записи не содержат паролей или токенов;
  • хранить логи в защищённом хранилище;
  • при необходимости автоматически ротация и шифрование.

Преподаватель/ментор:

  • записать демонстрационный сеанс без персональных данных;
  • подготовить заметки и шаги для учащихся;
  • использовать asciinema для удобного шаринга.

Безопасность и конфиденциальность

  • Не записывайте пароли, секретные ключи или конфиденциальные данные. Если они попали в лог — удалите или отредактируйте файл перед передачей третьим лицам.
  • Рассмотрите шифрование файла (gpg/openssl) при хранении на общих ресурсах.
  • При работе с PII/персональными данными следуйте требованиям GDPR/локального законодательства.

Набор тестов (минимальные случаи проверки)

  • Запустить script, ввести пару команд, выйти; проверить наличие команд и вывода в recording.txt;
  • Повторно запустить с -a и убедиться, что новые строки добавились;
  • Удалить timing-файл и попытаться воспроизвести — убедиться, что scriptreplay выдаёт ошибку или некорректное воспроизведение.

Краткое резюме

Запись сеанса терминала через script — быстрый способ получить точный лог действий и их вывода. Для шаринга и веб-воспроизведения лучше asciinema. Всегда проверяйте логи на наличие секретов и храните файлы безопасно.

Итог: воспользуйтесь script для локальной записи и scriptreplay для воспроизведения; при необходимости используйте альтернативы и соблюдайте правила безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро