当前位置: 首页>>技术教程>>正文


如何轻松与其他人共享命令或文本文件的输出?

,

问题描述

我最近问了一个关于Ask Ubuntu(或其他地方)的问题,并且评论或回答要求我粘贴某个文件的内容或命令的输出来解决我的问题。

我怎么做?

最佳解决思路

如何轻松共享一些文本文件的全部或部分(或命令的输出)

您将文件或命令输出粘贴到Ubuntu的”pastebin”服务,然后允许其他人通过简单地共享链接来查看它,或者自己使用它来进一步复制并粘贴几行到您的问题中。

Note: If your problem involves the Software Center, Update Manager or apt-get not working, you may have to use the Alternate Method near the bottom of this answer.

1.启动终端

  • 终端允许您通过键入命令而不是使用鼠标/光标与系统进行交互。当你有指令时,它并不难使用,并且可以很容易地完成一些任务。

  • 同时按下Ctrl + Alt + T键(同时)启动终端。这适用于使用常规Ubuntu的每个人,但如果你正在使用…

    • Lubuntu:单击“开始”按钮,转到“附件”,然后单击“LXTerminal”

    • Xubuntu:Right-click桌面上的任何位置,然后单击Open Terminal Here

    • Kubuntu:单击“开始”按钮,在“搜索”框中键入konsole,然后单击“Konsole”

    • 您将获得一个背景为实心的窗口,显示您的用户名和计算机名称,如下所示(尺寸/颜色可能不同!):

2.安装pastebinit,这是一个从终端粘贴文本的小工具

  • 在终端中,键入sudo apt-get install pastebinit并按Enter

  • 输入您的密码,然后按Enter(您输入的内容不会显示,请不要担心)

  • 当询问您是否要继续?时,键入Y并按Enter,然后等待提示(user@machine)返回。

    command-line,ubuntu

3.粘贴文件或命令并将其URL粘贴到AskUbuntu上

  • 返回浏览器,选择要求其粘贴内容的确切文件名(或命令),然后按Ctrl + C将其复制到剪贴板。

    • 文件名可能类似于/etc/apt/sources.list,而命令可能只是dmesggrep -i failed /var/log/auth.log。答案或评论将明确告诉您它是文件还是命令。

  • 现在,对于文件,在终端中键入pastebinit,后跟一个空格;然后在光标上单击right-click并单击粘贴以粘贴您复制的文件名。

    command-line,ubuntu

  • Enter,几秒钟后,您将看到http://paste.ubuntu.com/形式的链接,如下所示。将鼠标移到它上面,它将加下划线 – 然后点击right-click并点击复制链接地址将其复制链接到剪贴板:

    command-line,ubuntu

  • 但是对于命令,首先在终端中复制并粘贴命令,然后在其后键入| pastebinit,然后按Enter(参见下面的屏幕截图)

    • 可以通过按Shift + \获得|符号,该符号通常低于退格键。

    • 将鼠标移到链接上 – 它将加下划线 – right-click和复制链接地址,如上所述。

4.将链接粘贴到AskUbuntu问题/评论中

  • 返回浏览器,使用Pastebin链接添加注释(或编辑您的问题) – 只需按Ctrl + V即可粘贴它。保存已编辑的问题或添加评论,就是这样!

5.可选:查看您的pastebin链接,只将选定的行粘贴到AskUbuntu中

  • 您也可以将链接粘贴到浏览器的地址栏中,或者在将其添加/编辑到AskUbuntu后单击链接,以便在pastebin上查看。它看起来与此类似:

    • 注意行号。您也可以将选中/请求的行直接复制并粘贴到AskUbuntu问题中。

    • 请使用< pre>附上粘贴的行。和< /pre>标签如下所示,因此它在问题中显示为单独的行而不是混杂在一起:


使用编辑器将文件粘贴到文件的备用方法

如果您在使用Software Center,Update Manager或apt-get时遇到问题并且无法安装pastebinit,这可能很有用。它只适用于文件,而不适用于命令。

  • 使用Ctrl-C选择并将AskUbuntu中的文件名复制到剪贴板中。

  • 打开一个终端,如步骤1所示,键入gedit,然后输入空格,然后按right-click粘贴文件名,如步骤3所示,然后按Enter

    • Lubuntu用户输入leafpad而不是gedit; Kubuntu用户输入kate

  • 编辑器将打开文件:

    command-line,ubuntu

  • 单击编辑器窗口内的任意位置,然后按Ctrl + A。现在应该用另一种颜色突出显示所有文本:

    command-line,ubuntu

  • 现在按Ctrl + C(或复制按钮,如果你知道它在哪里)将整个文件复制到剪贴板。

  • 转到您的浏览器,然后打开paste.ubuntu.com。在Poster:框中键入您的姓名/昵称;然后单击Content:框并按Ctrl + V将刚从编辑器复制的文本粘贴到其中:

    command-line,ubuntu

  • 单击Paste按钮,几秒钟后您将看到粘贴的文本:

    command-line,ubuntu

  • 选择地址栏中显示的地址(上面突出显示为橙色),使用Ctrl + C复制该地址,然后返回到AskUbuntu并按步骤4中的说明将其粘贴。

  • 或者,选择几行,复制它们,然后按照步骤5中的说明将它们粘贴到AskUbuntu中。

次佳解决思路

通常,bash有一个名为”script”的实用程序,它创建一个写入文件的sub-terminal。例如,如果你这样做:

script ask-ubuntu.txt

它将创建一个新的bash提示符,当您退出sub-shell时,所有输入和输出都将存储在文件ask-ubuntu.txt中。

然后,您可以显然复制文件的内容,或上传文件,无论您需要它。

第三种解决思路

如果您不一定要在Pastebin上共享输出,则另一个选项是使用xclip。它将您在标准输入上提供的内容添加到X选择或剪贴板中。

首先,使用以下命令安装xclip

sudo apt-get install xclip

默认情况下,xclip将复制的文本放入x选择而不是剪贴板。由于标准的复制和粘贴功能使用剪贴板,我们也会使用xclip而不是默认设置。

  • 要将命令的输出复制到剪贴板:

    command | xclip -sel clip
    
  • 要复制文件的内容:

    xclip -sel clip < file
    

要粘贴,请使用标准shorcut Ctrl + V,或右键单击并选择粘贴。

第四种思路

我需要一些东西来共享终端输出,即使没有加载X服务器所以我创建了这个服务:termbin.com。你需要的唯一东西是netcat,那么你可以轻松地与任何可以在终端中显示的任何东西共享,例如:

cat /etc/fstab | nc termbin.com 9999

运行此命令后,您将获得带有文本文件的响应URL地址。

为了让您的生活更轻松,您可以在.bashrc文件中添加此类别名:

echo 'alias tb="nc termbin.com 9999"' >> .bashrc

现在分享会更简单:

uname -a | tb

例如,您可以使用curl来保存。您将在termbin.com上找到更多示例。

您也可以托管自己的服务器,有github存储库:https://github.com/solusipse/fiche。如果您想将其设为私有,请不要忘记设置白名单参数。

第五种思路

我可能在上面的优秀答案中遗漏了一些内容,但是如果您要复制的内容相对较小,您只需将其显示在屏幕上(例如终端中的cat文件名或在编辑器中打开文件),使用鼠标突出显示所需文本并将其复制到剪贴板中。在那里,您可以将其粘贴到您在网络上的回复或电子邮件等。

使用pastebin或pre标签对于较长的材料很重要,这样它就可以从问题/答案的其余部分中分离出来,这样就不会分散人们对帖子其余部分的注意力。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1320.html,未经允许,请勿转载。