В данной статья расскажу как записать и воспроизвести список команд введенных на протяжении работы с терминальной сессией.nnКоманда history сохраняет историю введеных в сессии команд, но она не сохраняет вывод этих команд. Команда script позволит сохранить всю введенную и полученную информацию в терминале в лог файл.nnС помощью команды scriptreplay можно воспроизвести записанные команды.n
Как записать команды используя script
Синтаксис командыn
script [options] - -timing=timing_file log_filename
Для запуска записи команд используйтеn
script history_log.txtnnScript started, file is history_log.txt
Что бы остановить записть введите exit нажмите Entern
exitnnScript done, file is history_log.txt
Если не указать имя лог файла, то будет запись по умолчанию в файл typescript, права доступа к файлу typescript не позволяет читать, писать и выполнение файл. Когда вы запустите команду сценария без имени файла журнала, он пытается записать в файл по умолчанию, typescript, следовательно, выдаст ошибку.n
ls -l typescriptn--------- 1 ubuntu ubuntu 144 Sep 15 00:00 typescriptnscriptnscript: open failed: typescript: Permission deniednTerminated
Запишем несколько командn
script script.logncalnn September 2015 nSu Mo Tu We Th Fr Sa n 1 2 3 4 5 n 6 7 8 9 10 11 12 n13 14 15 16 17 18 19 n20 21 22 23 24 25 26 n27 28 29 30 nn wnn 14:49:40 up 4:06, 2 users, load average: 1.37, 1.56, 1.62nUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHATntecmint tty8 :0 10:45 4:06m 7:40 0.36s x-session-managerntecmint pts/5 :0 13:42 4.00s 0.07s 0.00s script script.lognn $ uptimenn 14:49:43 up 4:06, 2 users, load average: 1.37, 1.56, 1.62nnexitnScript done, file is script.log
Теперь просмотрим результат записиn
cat script.logncal^Mn September 2015 ^MnSu Mo Tu We Th Fr Sa ^Mn 1 2 3 4 5 ^Mn 6 7 8 9 10 11 12 ^Mn13 14 15 ^[[7m16^[[27m 17 18 19 ^Mn20 21 22 23 24 25 26 ^Mn27 28 29 30 ^Mn ^Mnw^Mn 14:49:40 up 4:06, 2 users, load average: 1.37, 1.56, 1.62^MnUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT^Mntecmint tty8 :0 10:45 4:06m 7:40 0.36s x-session-manager^Mntecmint pts/5 :0 13:42 4.00s 0.07s 0.00s script script.log^Mnuptime^Mn 14:49:43 up 4:06, 2 users, load average: 1.37, 1.56, 1.62^M