如何运行命令并复制其输出?

如何运行命令并复制其输出?

我被要求运行一个命令并复制和粘贴输出,但我不知道从哪里开始。

我该怎么办?

答案1

希望您能访问图形桌面。这就是本答案第一部分要讨论的内容。如果没有,请跳过前三个步骤并阅读答案的末尾。

步骤 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 的剪贴板。这仅在 GUI 运行时才有效。

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

注意:您可以省略-selection clip,但数据将位于您的中键单击剪贴板中 - 是的,有两个剪贴板......也许是另一天的故事:)


附录:无需复制粘贴即可提取命令行数据

如果您需要从计算机获取输出,例如,显示设置非常糟糕,您无法进入可用的桌面,我们必须找到另一种方法来提取输出。您可以手动完成,但通常(在日志的情况下)这是不切实际的。

至少我们需要进入一个终端,你可以按:Control++ AltF1

您可能需要登录。

从这里我们可以运行命令,但输出只会显示在显示屏上。现在我们有两个选择:

我有互联网连接

如果您可以访问互联网,您可以简单地将输出“传输”到名为 的命令中pastebinit。这会将内容上传到http://paste.ubuntu.com并返回一个简短、易于转录的 URL,您可以从另一台计算机访问该 URL,也可以直接将其提供给其他人。

pastebinit默认情况下没有安装,因此我们运行的第一件事是:

sudo apt-get install pastebinit

然后我们运行命令,然后| pastebinit

lspci -nnk | grep VGA -A1 | pastebinit

您将会看到类似下面的内容(尽管显然不是在窗口中):

在此处输入图片描述

写下 URL 然后你就可以与任何你喜欢的人分享。

我没有网络连接

这更成问题,但并非不可克服。我们需要某种形式的外部存储。USB 棒就是一个常见的例子。插入它。在非图形设置中,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

他们所说的“粘贴输出”是指在 pastebin 网站上共享输出。例如,如果命令是,ls您可以像这样将其发送到 dpaste.com:

ls | curl -s -F "content=<-" https://dpaste.com/api/

翻译:“运行ls命令;将其输出通过管道传输到curl,它会将其发布到标有“内容”的字段中的 dpaste.com API。

curl命令将返回您创建的 pastebin 项目的 URL。

相关内容