Как записывать все, что вы делаете в терминале 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, команда сценария — это самый простой и быстрый способ записать действия сеанса терминала.