Как я могу запустить команду и скопировать ее вывод?

Ответы:

10

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

Шаг 1: Загрузите терминал ...

Первый шаг - открытие терминала. Существует множество различных вариантов терминалов, но большинство пользователей Ubuntu будут иметь это gnome-terminal, пользователи KDE, как konsoleи пользователи XFCE, должны иметь xfce4-terminal.

Как только вы определили, какую команду вы хотите запустить, это всего лишь случай ее запуска.

  • Нажмите Ctrl+ Alt+ T.
  • Пользователи Unity и Gnome Shell могут искать Терминал.
  • Пользователи KDE могут найти Konsole в разделе Приложения → Система.
  • Все рабочие столы могут нажимать Alt+ F2и вводить двоичное имя терминала (как указано выше) вручную.

Шаг 2: Запуск вашей команды

Это простой бит. Вы должны смотреть на что-то вроде следующего:

введите описание изображения здесь

Вы можете либо ввести команду, либо скопировать ее (выберите текст, щелкните правой кнопкой мыши, «Копировать», затем щелкните правой кнопкой мыши терминал, «Вставить»). Копирование и вставка рекомендуется для длинных команд. Мы хотим избежать ошибок в транскрипции!

Когда вы ввели или вставили команду в это окно, нажмите Return. Вывод должен появиться на экране, как показано ниже:

введите описание изображения здесь

Шаг 3: Копирование содержимого

Копирование аналогично большинству других приложений, за исключением того, что большинство консолей умеют копировать только «блоки». Для копирования просто используйте мышь, чтобы перетаскивать вывод, пока он не будет выделен, например:

введите описание изображения здесь

Щелкните правой кнопкой мыши по терминалу (чтобы перейти в меню «Правка») и выберите «Копировать». Затем вы можете вернуться в браузер или редактор и вставить. Были сделаны.

Шаг 3.5: Альтернатива для копирования:

Теперь, когда вы освоили командную строку, вы также можете использовать команду, вызываемую, xclipчтобы напрямую вставлять объекты в буфер обмена X. Это будет работать, только если работает графический интерфейс.

lspci -nnk | grep VGA -A1 | xclip -selection clip

Примечание: вы можете опустить, -selection clipно данные будут в вашем буфере обмена среднего щелчка - да, есть два буфера обмена ... История для другого дня, возможно :)


Приложение: Извлечение данных командной строки без копирования и вставки

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

По крайней мере, нам нужно войти в терминал, который вы можете сделать, нажав: Control+ Alt+ F1.

Вам может потребоваться войти в систему.

Отсюда мы можем запустить нашу команду, но вывод будет отображаться только на дисплее. Теперь у нас есть два варианта:

У меня есть интернет

Если у вас есть доступ к Интернету, вы можете просто «передать» вывод в команду с именем pastebinit. Это загружает контент на http://paste.ubuntu.com и возвращает короткий, легко транскрибируемый URL, который вы можете получить с другого компьютера или просто дать людям.

pastebinit по умолчанию не устанавливается, поэтому первое, что мы запускаем, это:

sudo apt-get install pastebinit

Затем мы запускаем нашу команду, а затем | pastebinit:

lspci -nnk | grep VGA -A1 | pastebinit

И вы увидите что-то вроде следующего (хотя, очевидно, не в окне):

введите описание изображения здесь

Запишите URL, и вы можете поделиться этим с кем угодно.

У меня нет подключения к интернету

Это более проблематично, но не невозможно преодолеть. Нам понадобится некоторая форма внешнего хранилища. Флешка является популярным примером. Подключите его. В неграфическом режиме USB-накопители не монтируются автоматически. Как я уже сказал, проблематично.

Запустите, lsblkи вы должны увидеть что-то вроде этого:

NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                 8:16   0 111,8G  0 disk  
├─sda1              8:17   0   100M  0 part  /boot
├─sda2              8:18   0     1G  0 part  /
├─sda3              8:19   0    20G  0 part  /usr
├─sda4              8:20   0     1K  0 part  
├─sda5              8:21   0  58,7G  0 part  
└─sda6              8:22   0    32G  0 part  [SWAP]
sdb                 8:96   1  14,5G  0 disk  
└─sdb1              8:97   1  14,4G  0 part
sr0                11:0    1   4,4G  0 rom   
sr1                11:1    1  1024M  0 rom   

В моем случае новый подключенный диск - это второй (sdb) и один раздел (sdb1). Нам нужно смонтировать это, чтобы мы могли писать в него. Просто:

sudo mount -o umask=0000 /dev/sdb1 /mnt

Затем мы можем объединить наши команды в новые файлы на внешнем диске:

lspci -nnk | grep VGA -A1 > /mnt/lspci
cat /var/log/Xorg.0.log >/mnt/xorg.log

Это создаст два новых файла на внешнем диске. Вы также можете скопировать вещи с ним cp. Когда вы закончите, вы хотите размонтировать диск:

cd /  # just in case you cd'd into /mnt
sudo umount /mnt

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

Оли
источник
2
Наконец-то хорошие новости на сегодня. Я не знал о pastebinit. Он должен быть добавлен в Ubuntu по умолчанию.
Раду Рэдяну
@ RaduRădeanu Согласен. Очень полезный инструмент , когда все (кроме интернета) нарушается.
Оли
Как насчет того, xclip -iкоторый принимает в stdinкачестве входных данных для помещения в буфер обмена?
gertvdijk
@gertvdijk Это, конечно, вариант, с которым я играл, но я не думаю, что для начинающего пользователя проще (учитывая, что это больше писать), чем просто выбирать и копировать обычным способом. Я добавлю это как вариант.
Оли