Как записать терминальную сессию в Linux

Как записать терминальную сессию в LinuxВы, наверное, знаете, что такое скринкаст. Это запись экрана компьютера во время выполнения каких-то действий. Иногда скринкасты записывают, когда необходимо показать, как что-то сделать. А иногда для того, чтобы самому запомнить, что и как делал. Если вы часто работаете в терминале, то вместо записи видео с захватом экрана вы можете записать просто терминальную сессию.

Итак, как записать терминальную сессию? Сначала необходимо поставить пакет bsdutils, если он у вас еще не стоит. В Debian’e это выглядит так:

apt-get install bsdutils

Этот пакет включает две программы — script и scriptreplay. Программа scripts записывает ваши действия в консоли, а scriptreplay проигрывает.

 

Запись

Для начала записи используется команда

script -t -a 2>timing.txt record.txt

В файл timing.txt будет записываться тайминг, что позволит сохранить интервалы между выводами текста на экран, а в файл record.txt — сами команды и результат их работы.

Если ключ «-a» не указан, то файл, в который вы записываете, будет перезаписан, если указан, то запись будет добавлена в файл. Ключ «-t» указывается для того, чтобы записывать тайминг.

После ввода этой команды вы увидите такое сообщение:

Script started, file is record.txt

Теперь всё, что вы введете в терминале, будет записано.

Когда вы выполнили все необходимые действия, просто введите команду «exit». Вы должны увидеть такое сообщение:

Script done, file is record.txt

Это означает, что запись закончена.

 

Воспроизведение

Для просмотра записи используйте команду

scriptreplay timing.txt record.txt

Можно также просто вывести содержимое файла record.txt на экран, либо открыть его в вашем любимом редакторе.

Например, я записал две команды

ls /
ls /home

Файлы timing.txt и record.txt будут выглядеть следующим образом:

timing.txt:

0.388873 48
0.066257 1
28.491374 1
0.155210 1
0.098224 1
0.276123 2
0.445964 406
0.001387 48
0.000389 1
2.966034 1
0.147102 1
0.122330 1
0.515675 1
0.707292 1
0.573979 1
0.110485 1
0.100013 2
0.655478 67
0.002039 48
0.000463 1
2.004705 1
0.102172 1
0.246600 1
0.180841 8

record.txt:

Script started on Вск 29 Июн 2014 00:17:01
mnorin@mnorin:~$ ls /
bin  boot  core  dev  etc  home  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var
mnorin@mnorin:~$ ls /home
lost+found  mnorin  user1
mnorin@mnorin-work:~$ exit
exit

Script done on Вск 29 Июн 2014 00:17:39

Эти программы хорошо использовать для отладки, либо для того, чтобы показать кому-нибудь, как должно выглядеть то или иное действие в терминале.
[wysija_form id=»2″]