Главная > Среда и утилиты > script

script: Запись сеанса терминала

Команда script записывает сеанс терминала в файл 'typescript'. Этот файл содержит как введенные пользователем команды, так и весь вывод, отображаемый в терминале. Записанные сеансы полезны для последующего анализа, воспроизведения или обмена с другими пользователями.

Обзор

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

Основные возможности

  • Запись всего ввода/вывода сеанса терминала
  • По умолчанию сохраняется в файл 'typescript'
  • Возможность добавления содержимого в существующий файл
  • Возможность записи только результатов выполнения определенных команд
  • Поддержка записи и воспроизведения информации о времени сеанса

Основные опции

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

Запись и управление файлами

Сгенерированная команда:

Комбинируйте команды.

Описание:

`script` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

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

Базовое использование (начало и завершение записи)

script
# Теперь все вводимые команды и вывод будут записываться.
ls -l
pwd
exit

При запуске script начинается запись всего ввода/вывода текущего сеанса в файл 'typescript'. Для завершения записи введите 'exit'.

Запись сеанса в определенный файл

script my_session.log
# Запись сеанса...
exit

Записывает сеанс в файл с желаемым именем вместо стандартного файла 'typescript'.

Добавление сеанса в существующий файл

script -a my_session.log
# Дополнительная запись сеанса...
exit

Добавляет содержимое нового сеанса в уже существующий файл записи, не перезаписывая его.

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

script -c "ls -la /tmp" ls_tmp.log

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

Запись с информацией о времени

script -t 20231027_timing.log my_session_with_timing.log
# Запись сеанса...
exit

Записывает информацию о времени каждого вывода вместе с содержимым сеанса в отдельный файл. Оба файла используются для воспроизведения сеанса с помощью scriptreplay.

Советы и предостережения

Советы и предостережения для более эффективного использования команды script и подготовки к возможным проблемам.

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

Файлы 'typescript', содержащие записи, являются обычными текстовыми файлами, поэтому их содержимое можно просмотреть с помощью команд cat, less, more и т. д. Однако, поскольку они могут содержать специальные символы или управляющие коды, команды less -R или cat -v могут быть более полезными.

  • Просмотр файла по умолчанию: cat typescript
  • Просмотр конкретного файла: less my_session.log

Воспроизведение сеанса (scriptreplay)

Если вы записали информацию о времени с помощью опции -t, вы можете воспроизвести записанный сеанс в реальном терминале, используя команду scriptreplay. Это очень полезно для демонстраций или обучения.

  • Команда воспроизведения: scriptreplay 20231027_timing.log my_session_with_timing.log

Безопасность и конфиденциальность

script записывает все введенные данные, поэтому пароли или конфиденциальная информация могут быть сохранены в файле в открытом виде. Убедитесь, что права доступа к записанным файлам установлены соответствующим образом, и будьте осторожны при выполнении конфиденциальных операций.

  • Внимание: Будьте осторожны, так как могут быть записаны пароли, API-ключи и другая конфиденциальная информация.
  • Рекомендация: Установите права доступа к файлам записи, например, chmod 600, для защиты.

Предостережение при прерывании записи

Если сеанс script прерывается некорректно (например, при многократном нажатии Ctrl+C, что приводит к завершению самого процесса script) или происходит сбой питания, файл записи может быть поврежден или сохранен не полностью. Всегда рекомендуется корректно завершать сеанс командой exit.



Те же команды в категории