Поиск по сайту:

Как записывать все, что вы делаете в терминале Linux

Запишите действия терминала Linux с помощью команды сценария

Мы уже публиковали руководство, в котором объясняется, как сохранять команды в самом терминале и использовать их по требованию. Это очень полезно для тех, кто не хочет запоминать длинные и сложные команды Linux. Сегодня в этом руководстве мы увидим, как записывать все, что вы делаете в Терминале, с помощью команды сценария в Linux.

Введение

Возможно, вы выполнили команду, создали каталог или установили приложение в Терминале. Команда сценария просто сохраняет все, что вы сделали в Терминале. Затем вы сможете просмотреть их, если захотите узнать, что вы делали несколько часов или дней назад.

Я знаю, знаю, мы можем использовать клавиши со стрелками ВВЕРХ/ВНИЗ или команду история для просмотра ранее запущенных команд. Однако вы не можете просмотреть вывод этих команд. Однако команда Script записывает и отображает все действия сеанса терминала.

Команда script создает машинописный текст всего, что вы делаете в Терминале. Неважно, устанавливаете ли вы приложение, создаете каталог/файл, удаляете папку. Все будет записано, включая команды и соответствующие выходные данные.

Команда сценария будет полезна тем, кто хочет получить печатную копию интерактивного сеанса в качестве доказательства выполнения задания. Независимо от того, являетесь ли вы студентом или репетитором, вы можете сделать копию всего, что вы делаете в Терминале, вместе со всеми результатами.

Записывайте все, что вы делаете в терминале, используя команду сценария в Linux

Команда Script является частью пакета util-linux в системах на базе RPM и пакета bsdutils в системах на базе DEB и предустановлена в большинстве современных операционных систем Linux. Так что не будем заморачиваться с установкой.

Давайте продолжим и посмотрим, как использовать его в реальном времени.

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

script -a my_terminal_activities

Где флаг -a используется для добавления вывода в файл или машинописный текст с сохранением предыдущего содержимого. Приведенная выше команда записывает все, что вы делаете в Терминале, добавляет вывод в файл с именем 'my_terminal_activities' и сохраняет его в текущем рабочем каталоге.

Пример вывода будет:

Script started, file is my_terminal_activities

Теперь запустите несколько случайных команд Linux в своем терминале.

mkdir ostechnix
cd ostechnix/
touch hello_world.txt
cd ..
uname -r

После выполнения всех команд завершите сеанс команды «script», используя команду:

exit

После ввода выхода вы получите следующий вывод.

exit
Script done, file is my_terminal_activities

Записывайте все, что вы делаете в терминале, используя команду сценария в Linux

Как видите, действия терминала хранятся в файле с именем 'my_terminal_activities' и сохраняются в текущем рабочем каталоге.

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

script -a /home/ostechnix/documents/myscripts.txt

Все команды будут храниться в файле /home/ostechnix/documents/myscripts.txt.

Просмотр записанных действий терминала

Чтобы просмотреть свои действия в Терминале, просто откройте этот файл в любом текстовом редакторе или просто отобразите его с помощью команды 'cat'.

cat my_terminal_activities

Пример вывода:

Script started on 2019-10-22 12:07:37+0530
sk@ostechnix:~$ mkdir ostechnix
sk@ostechnix:~$ cd ostechnix/
sk@ostechnix:~/ostechnix$ touch hello_world.txt
sk@ostechnix:~/ostechnix$ cd ..
sk@ostechnix:~$ uname -r
5.0.0-31-generic
sk@ostechnix:~$ exit
exit

Script done on 2019-10-22 12:08:10+0530

Просмотр активности терминала

Как вы видите в приведенном выше выводе, команда сценария записала все мои действия в терминале, включая время начала и окончания команды сценария. Потрясающе, не так ли? Причина использования команды сценария заключается в том, что она записывает не только команды, но и их вывод. Проще говоря, команда Script будет записывать все, что вы делаете на Терминале.

Воспроизведение записанных сеансов терминала

Иногда вам может потребоваться воспроизвести сеансы Терминала, например анимированный GIF-файл, а не просто просмотреть его. Если да, вы можете легко сделать это с помощью команды Scriptreplay. Обратитесь к следующему руководству, чтобы узнать, как воспроизводить записанные сеансы терминала.

  • Как воспроизвести записанные сеансы терминала с помощью команды Scriptreplay

Запишите одну команду

Также можно записать вывод одной команды, используя флаг -c, как показано ниже.

script -c "lsb_release -a" -a my_terminal_activities

Пример вывода:

Script started, file is my_terminal_activities
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
Script done, file is my_terminal_activities

Чтобы просмотреть вывод записанной команды, просто запустите:

cat my_terminal_activities

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

Запись сеансов терминала с временными метками

Как упомянул один из наших читателей г-н Аластер Монтгомери в разделе комментариев ниже, мы могли бы установить псевдоним, который будет отмечать время записанных сеансов.

Создайте псевдоним для команды сценария, как показано ниже.

alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’

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

rec

Теперь все ваши действия в Терминале будут регистрироваться в текстовом файле с отметкой времени, например term.log-20191022-12-16.

Записывайте действия терминала с временными метками

Рекомендуем прочитать:

  • Asciinema – записывайте сеансы терминала и делитесь ими в Интернете
  • Добавьте команды Linux в закладки для упрощения повторного вызова
  • Применяйте теги к командам Linux, чтобы легко извлекать их из истории
  • Легкий вызов забытых команд Linux с помощью Apropos
  • Pet – простой менеджер фрагментов командной строки

Запись сеансов терминала в тихом режиме

Как вы заметили, когда мы запускаем команду скрипта для записи сеанса терминала, он отображает приветственное сообщение — «Скрипт запущен, файл — my_terminal_activities» и после завершения записи отображает «Сценарий выполнен, файл — my_terminal_activities». Если вы не хотите просматривать эти сообщения, вы можете запустить команду сценария в тихом режиме, используя флаг -q, как показано ниже.

script -a -q my_terminal_activities

Более подробную информацию можно найти на странице руководства.

man script

Заключение

Как я уже сказал, команда сценария будет полезна студентам, преподавателям и всем пользователям Linux, которые хотят вести учет своей деятельности в Терминале. Несмотря на то, что для этого доступно множество инструментов CLI и GUI, команда сценария — это самый простой и быстрый способ записать действия сеанса терминала.

Статьи по данной тематике