Как использовать команды script и scriptreplay в Linux

Как использовать команды script и scriptreplay в Linux

Рубрики:

Linux, Терминал Linux

Метки:

, ,

В Linux терминал является главным инструментом для выполнения команд и управления системой. Иногда бывает полезно записать сеанс работы с ним для предоставления отчета или для обмена с другими пользователями. Здесь на помощь приходят встроенные команды script и scriptreplay.

В этой статье мы рассмотрим, как использовать эти утилиты для записи и воспроизведения сеансов терминала в Linux.

Содержание:

  1. Как использовать команду script
    1. Начните запись сессии
    2. Поэкспериментируйте с различными опциями script
    3. Создайте запись сессии для ее дальнейшего воспроизведения
  2. Как использовать команду scriptreplay
  3. Выводы

Как использовать команду script

Утилита script применяется для записи сеанса терминала. Ее синтаксис выглядит следующим образом:

 

Здесь options означают любые параметры, которые могут быть переданы команде для настройки. А file — необязательный аргумент, указывающий название файла, в который будет сохранен вывод записанной сессии. Если он не указан, по умолчанию используется файл typescript.

Как только Вы выполните команду script и начнете запись, все команды и вывод будут сохранены в указанном файле. Чтобы остановить запись, просто введите в командной строке exit или нажмите CTRL+D.

Начните запись сессии

Для примера запустим запись терминала с помощью команды script в файл file.txt. Для этого просто введем в командной строке:

 

 

После этого начнем выполнять различные команды в терминале Linux:

 

type-commands

В конце прекратим запись терминала, используя команду:

Поэкспериментируйте с различными опциями script

Как и большинство команд в Linux, script имеет собственные параметры, которые расширяют возможности утилиты. Начнем с опции -a. Этот параметр позволяет пользователю дополнять файл журнала новыми командами. Без использования данного параметра содержимое файла журнала, если он существует, будет перезаписано. Все они будут записаны в конец этого документа. Например, добавим в наш файл file.txt запись новой сессии терминала:

 

script-add

 

Если Вы хотите записать в файл всего одну команду, используйте параметр -c. Запись автоматически прекратиться, после того как Вы подтвердите введение этой команды:

 

Читайте также: Как установить выпадающий терминал Guake на Ubuntu Linux.

Важно: чтобы дополнить файл вместо его перезаписи одной командой и сразу же прекратить запись — введите опции -a -c именно в таком порядке.

Если Вы не хотите получать от script сообщения о том, когда началась или завершилась запись терминала — запустите команду в фоновом режиме. Для этого нужно использовать параметр -q:

 

script-q

Создайте запись сессии для ее дальнейшего воспроизведения

Ранее в этой статье, когда мы записывали сессию терминала, мы не предусматривали возможность ее дальнейшего воспроизведения. Поэтому в будущем мы не сможем запустить фай file.txt. Все из-за того, что мы не сохраняли тайминги (время) исполнения введенных команд. Чтобы записать их, нужно использовать параметр --timing:

 

В этой команде:

  • <time-file> — файл, в котором будет записан хронометраж исполнения команд;
  • <script-file> — файл, в котором будут записаны сами команды.

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

Для примера запишем время в файл time.txt, а команды — в script.txt:

 

timing

Как использовать команду scriptreplay

Команда scriptreplay — это инструмент в Linux, которая позволяет воспроизвести ранее записанный сеанс с помощью команды script. Она считывает временную информацию и вывод из записанного файла сценария и воспроизводит его в терминале. Эта команда полезна для демонстрации и просмотра предыдущих сессий терминала или в целях отладки. Вы можете регулировать скорость воспроизведения ранее записанной сессии.

Важно: scriptreplay воспроизводит только, те команды, которые были записаны вместе с их хронометражем.

Для просмотра записи терминала нужно использовать scriptreplay вместе с параметром --timing с файлом времени команд. А также журналом, в котором были записаны введенные утилиты, в качестве аргумента:

 

scriptreplay

Читайте также: Как настроить цвета и содержимое Bash в командной строке терминала Linux.

После того как Вы ввели данную команду, можно увидеть, что команды будут автоматически воспроизводиться в терминале и выводить соответствующий результат в командную строку.

Если Вы попробуете воспроизвести файл без хронометража, scriptreplay выдаст ошибку, как на скриншоте:

scriptreplay-wrong

Выводы

Мы показали Вам, что команды script и scriptreplay являются мощными инструментами, которые помогут Вам записывать и воспроизводить сессии командной строки. Эти утилиты могут быть очень полезны при устранении неполадок, их документировании или обучении. При эффективном использовании этих команд, Вы сможете повысить свою эффективность при работе с Linux.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Терминал Linux

Метки:

, ,

Больше похожих постов

Добавить комментарий

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню