Эта статья участвовала в приказе о созыве Haowen, нажмите, чтобы просмотреть: Заявки на бэк-энд и фронт-энд двойные, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!
Вечный ученик, практик и активный собеседник, приверженный пути развития технологий, оригинальный блогер, занятый и иногда ленивый, и подросток, которому иногда скучно, а иногда и смешно.
Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!
Оригинальная ссылка:Sao Operation | Как красиво записать видео в терминале Linux?
предисловие
Я верю всем, первоначальное использованиеLinux
При работе с системой ищите исторические команды, и вы подумаете об этом с первого раза.history命令
: будет отображаться ранее выполненная команда, он не может отображать процесс вывода и результат выполненной команды.
Но иногда мы хотим знать, что делается на этом сервере? Как выглядит процесс исполнения? Каков результат на выходе? Этоhistory命令
Он больше не может удовлетворить наши потребности, так что же нам делать?
Пришло время научить вас трюку. Это магический порядок —script
а такжеscriptreplay
1. Запись - сценарий
script命令
: Вы можете записать процесс сеанса под терминалом Linux.
Функция: Все операции, выполненные команды и результаты вывода под терминалом могут быть записаны локально.
script
а такжеscriptreplay
Он установлен по умолчанию в дистрибутивах Linux.В этой статьеscript
может выполняться непосредственно под операционной системой, иscriptreplay
Требуется дополнительная установка.
начать запись
Выполните следующую команду, любая операция, выполненная под терминалом, будет записана;
# script -t 2>test.timefile -a test.txt
Script started, file is test.txt
Проверьте, есть ли в текущем каталоге следующие два файла
# ll
-rw-r--r--. 1 root root 1025 6月 4 07:32 test.timefile
-rw-r--r--. 1 root root 5772 6月 4 07:32 test.txt
test.timefile
а такжеtest.txt
Можно настроить два имени файла.
-
test.timefile
: В основном используется для записи файлов синхронизации, которые записывают при выполнении каждой команды; -
test.txt
: В основном используется для хранения выходного файла выполненной команды;
Общие параметры параметров
-
-t
: используется для указания выходного времени записи; -
-a
: используется для вывода записанных файлов и добавления нового контента к существующему контенту; -
-c
: используется для прямого выполнения команд, а не интерактивной оболочки; -
-f
: используется для просмотра содержимого файла журнала при выводе файла журнала; -
-q
: используется для запуска команды скрипта в автоматическом режиме; -
-V
: используется для отображения версии и выхода; - Более релевантные подробные параметры параметров, исполняемый файл
man script
команда для просмотра;
Выполните следующую команду, чтобы запустить в автоматическом режиме безscript
а такжеexit
выполнить запуск и выход дисплея;
# script -q -t 2>test.timefile -a test.txt
Выполнение заказаexit
или используйте горячие клавишиCtrl+D
выйти и закончить запись;
# exit
exit
Script done on 2016年06月04日 星期六 07时32分42秒
Случай записи процесса выполнения скрипта в директорию
Сначала напишите простое имяxxx.sh
файл сценария и предоставить соответствующие разрешения.
# vi helloworld.sh
#!/bin/bash
echo hello world!
echo welcome to beijing!
echo Let's go to tian 'anmen square!
Используйте параметры параметров:-c
Вместо интерактивной оболочки вы можете выполнить команду напрямую, чтобы увидеть момент времени, когда был выполнен скрипт.
# script -qa "file.out" -c "/root/helloworld.sh"
hello world!
welcome to beijing!
Lets go to tian anmen square!
[root@localhost ~]# cat file.out
Script started on 2016年06月04日 星期六 13时21分45秒
hello world!
welcome to beijing!
Lets go to tian anmen square!
Выполнение связанных командных операций и запись демонстраций
2. Воспроизведение - повтор сценария
scriptreplay命令
: Вы можете воспроизвести результаты, записанные в терминале Linux.
Общие параметры параметров
-
-t
: файл, используемый для хранения записанного тайминга; -
-d
: используется для кратного ускорения воспроизведения (может быть десятичным: замедление), в некоторых версиях этот параметр может отсутствовать; -
-f
: используется для обновления кеша сразу после каждой операции.Если этот параметр не установлен, файл не будет записываться в реальном времени; -
-s
: файл, используемый для хранения вывода скриптового терминала; -
-V
: используется для отображения версии и выхода;
установить скриптреплей
путь загрузки пакета util-linux-ng-2.17.2.tar.gz:
mirrors.edge.kernel.org/general/Linux/U…
# tar zxvf util-linux-ng-2.17.2.tar.gz
# cd util-linux-ng-2.17.2
# ./configure && make
# cp misc-utils/scriptreplay /usr/bin/
cp:是否覆盖"/usr/bin/scriptreplay"?y
# cd ..
# scriptreplay test.timefile test.txt
После выполнения вышеуказанной командыscriptreplay test.timefile test.txt
После этого будет воспроизведена предыдущая операция;
Синхронное использование
использовать-f
Опция параметра, некоторые версии не имеют этого параметра, но также могут быть использованыtail -f
команда для работы;
Как показано на рисунке ниже, вам нужно открыть два терминала xshell, подключиться к одному и тому же устройству и выполнить соответствующие операции синхронизации.左屏幕
для: рабочей стороны,右屏幕
для: демонстрационная сторона,
существует左屏幕
Выполнить команду в терминалеscript -f jacktian
существует右屏幕
Выполнить команду в терминалеtail -f jacktian
Тогда вам просто нужно左屏幕
Выполните соответствующие команды в терминале,右屏幕
будет отображаться左屏幕
соответствующие выходные результаты и т. д.;
Автоматический старт
В дополнение к действиям, описанным выше, вы также можете настроить параметры, которые будут выполняться автоматически при входе в систему.script
команду и добавьте ее в файл конфигурации среды оболочки.
создать каталог рекурсивно/var/log/user_record
# mkdir -p /var/log/user_record
редактировать файл/etc/profile
Добавьте следующие элементы конфигурации автозапуска
# vi /etc/profile
script -t -f -q 2>/var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.who
if [ "$SHLVL" = 1 ]; then
exit
fi
Суммировать
- Запишите выполненную команду в виде видеофайла и сохраните его локально;
- Результатом сохраненного выходного файла команды можно напрямую поделиться с друзьями;
- Вы можете вывести результаты файла, сохранив выполненные команды, и вы можете просмотреть подробный процесс выполнения и связанные с ним ошибки;
- Когда вы сталкиваетесь с трудностями и нуждаетесь в помощи других, не допускайте слишком быстрого выполнения процесса, начинайте запись и смотрите воспроизведение;
- Начните запись в любое время, чтобы отслеживать соответствующие операции, выполняемые другими пользователями, подключенными к устройству;
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!
Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.
Увидимся в следующий раз!