2

Когда я хочу задать вопрос на платформе Linux, мне всегда нужно предоставить скриншот текущей оболочки.Но снимок, загрузка, связывание стоит дорого, есть ли команда для извлечения текста прямо из текущей оболочки?

2 ответа2

2

screen может сделать это. Подключитесь к экземпляру screen , запустите команды оболочки и получите "hardcopy" текущего терминала с помощью команды hardcopy screen (введите Ctrl-A, затем нажмите "h"). Вывод обычно сохраняется в вашем домашнем каталоге в ~/hardcopy.1 , ~/hardcopy.2 и т.д.

Если вам нужно больше, чем на текущем экране, используйте screen буфер прокрутки.

  • Войдите в него (войдите в "режим копирования"), нажав Ctrl-A, затем Esc.
  • Прокрутите вверх / вниз с помощью Ctrl-U / Ctrl-D или клавиш со стрелками или движения в стиле vim (j / k / l / h).
  • Выйдите из "режима копирования", нажав клавишу Esc.

Используя "режим копирования", вы можете выделить блок текста и получить печатную копию, например:

  1. Войдите в "режим копирования" (нажмите Ctrl-A, затем Esc).
  2. Прокрутите до начала текста, который вы хотите скопировать.
  3. Нажмите пробел. Это отмечает начало.
  4. Прокрутите до конца текста, который вы хотите скопировать.
  5. Нажмите пробел снова. Это заполняет буфер копирования и выходит из "режима копирования".
  6. Запишите буфер копирования в файл (нажмите Ctrl-A, затем >). Буфер копирования записывается в /tmp/screen-exchange .
  7. Скопируйте /tmp/screen-exchange в любой файл, который вам нравится:

    cp /tmp/screen-exchange ~/my.terminal.printout.txt

Вывод вашего терминала теперь находится в ~/my.terminal.printout.txt .

1

Вы можете просто использовать команду сценария .

Взято из руководства:

Утилита сценария делает набор текста всего, что напечатано на вашем терминале.
Это полезно для студентов, которым нужна бумажная копия интерактивного сеанса в качестве доказательства задания, поскольку файл машинописного текста может быть распечатан позже с помощью lpr(1).

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

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

Пример (информация в машинописном файле):

Script started on Mon Nov  2 21:13:17 2009
bash-3.2$ pwd
/Users/ricbax
bash-3.2$ ps
  PID TTY           TIME CMD
  395 ttys000    0:00.02 -bash
  425 ttys000    0:00.00 script
  426 ttys001    0:00.01 /bin/bash -i
bash-3.2$ exit
exit

Script done on Mon Nov  2 21:13:44 2009

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .