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

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

1. Основы использования команды script

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

script filename.txt

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

Например, чтобы сохранить запись в файл с именем session.log, выполните:

script session.log

После выполнения команды начнется запись. Теперь все, что вы вводите и видите в терминале, будет сохранено в файл session.log.

2. Завершение записи

Чтобы завершить запись, просто выполните команду exit или нажмите Ctrl + D:

exit

После завершения записи команда script закроет файл, и вы вернетесь к обычному терминалу.

3. Просмотр записанного файла

Файл с записью можно открыть и просмотреть с помощью текстового редактора, например nano, vim или cat:

cat session.log

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

4. Использование опции -a для добавления к существующему файлу

Если вы хотите добавить новую запись к существующему файлу, используйте опцию -a:

script -a filename.txt

Эта опция указывает script не перезаписывать файл, а добавлять новую информацию в конец файла.

5. Запись времени выполнения команд

Чтобы добавить метки времени к каждой команде в записи, используйте опцию -t:

script -t timefile.txt filename.txt

В этом случае файл timefile.txt будет содержать временные метки, а filename.txt — команды и их вывод.

6. Дополнительные полезные опции

  • -q: Запускает script в тихом режиме, не выводя сообщений о начале и завершении записи.
  • -c: Позволяет выполнить одну команду и сразу завершить запись. Например: script -c "ls -l" output.txt.

7. Пример использования команды script

Допустим, вы хотите записать выполнение нескольких команд и сохранить их в файл:

script my_terminal_session.log

Теперь выполните любые команды, например:

ls -la
echo "Hello, World!"
pwd

После выполнения команд завершите сессию:

exit

Теперь вы можете просмотреть файл my_terminal_session.log, чтобы увидеть всю историю сессии.

Заключение

Команда script — это мощный инструмент для записи сессий терминала в Linux. Она полезна для создания документации, логов и демонстрации выполнения команд. Используйте опции для более гибкого управления записью и хранения информации в удобном формате.