绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
从命令行轻松将文本片段上传到类似 Pastebin 的服务中
2019-12-19 10:17:51
使用 Wgetpaste 脚本,任何人都可以与自己的朋友、同事或想在类似 Unix 的系统中的命令行中查看/使用/审查代码的人快速共享文本片段。
-- Sk(作者)

每当需要在线共享代码片段时,我们想到的个便是 Pastebin.com,这是 Paul Dixon 于 2002 年推出的在线文本共享网站。现在,有几种可供选择的文本共享服务可以上传和共享文本片段、错误日志、配置文件、命令输出或任何类型的文本文件。如果你碰巧经常使用各种类似于 Pastebin 的服务来共享代码,那么这对你来说确实是个好消息。向 Wgetpaste 打个招呼吧,它是一个命令行 BASH 实用程序,可轻松地将文本摘要上传到类似 Pastebin 的服务中。使用 Wgetpaste 脚本,任何人都可以与自己的朋友、同事或想在类似 Unix 的系统中的命令行中查看/使用/审查代码的人快速共享文本片段。

安装 Wgetpaste

Wgetpaste 在 Arch Linux [Community] 存储库中可用。要将其安装在 Arch Linux 及其变体(如 Antergos 和 Manjaro Linux)上,只需运行以下命令:

$ sudo pacman -S wgetpaste

对于其他发行版,请从 Wgetpaste 网站 获取源代码,并按如下所述手动安装。

首先下载新的 Wgetpaste tar 文件:

$ wget http://wgetpaste.zlin.dk/wgetpaste-2.28.tar.bz2

提取它:

$ tar -xvjf wgetpaste-2.28.tar.bz2

它将 tar 文件的内容提取到名为 wgetpaste-2.28 的文件夹中。

转到该目录:

$ cd wgetpaste-2.28/

wgetpaste 二进制文件复制到 $PATH 中,例如 /usr/local/bin/

$ sudo cp wgetpaste /usr/local/bin/

后,使用命令使其可执行:

$ sudo chmod +x /usr/local/bin/wgetpaste

将文本片段上传到类似 Pastebin 的服务中

使用 Wgetpaste 上传文本片段很简单。让我向你展示一些示例。

1、上传文本文件

要使用 Wgetpaste 上传任何文本文件,只需运行:

$ wgetpaste mytext.txt

此命令将上传 mytext.txt 文件的内容。

示例输出:

Your paste can be seen here: https://paste.pound-python.org/show/eO0aQjTgExP0wT5uWyX7/

你可以通过邮件、短信、whatsapp 或 IRC 等任何媒体共享 pastebin 的 URL。拥有此 URL 的人都可以访问它,并在他们选择的 Web 浏览器中查看文本文件的内容。

这是 Web 浏览器中 mytext.txt 文件的内容:

你也可以使用 tee 命令显示粘贴的内容,而不是盲目地上传它们。

为此,请使用如下的 -t 选项。

$ wgetpaste -t mytext.txt

2、将文字片段上传到其他服务

默认情况下,Wgetpaste 会将文本片段上传到 poundpython(paste.pound-python.org/)服务。

要查看支持的服务列表,请运行:

$ wgetpaste -S

示例输出:

Services supported: (case sensitive):
Name: | Url:
=============|=================
bpaste | https://bpaste.net/
codepad | http://codepad.org/
dpaste | http://dpaste.com/
gists | https://api.github.com/gists
*poundpython | https://paste.pound-python.org/

在这里,* 表示默认服务。

如你所见,Wgetpaste 当前支持五种文本共享服务。我并没有全部尝试,但是我相信所有服务都可以使用。

要将内容上传到其他服务,例如 bpaste.net,请使用如下所示的 -s 选项。

$ wgetpaste -s bpaste mytext.txt
Your paste can be seen here: https://bpaste.net/show/5199e127e733

3、从标准输入读取输入

Wgetpaste 也可以从标准输入读取。

$ uname -a | wgetpaste

此命令将上传 uname -a 命令的输出。

4、上传命令及命令的输出

有时,你可能需要粘贴命令及其输出。为此,请在如下所示的引号内指定命令的内容。

$ wgetpaste -c 'ls -l'

这会将命令 ls -l 及其输出上传到 pastebin 服务。

当你想让其他人清楚地知道你刚运行的确切命令及其输出时,此功能很有用。

如你在输出中看到的,我运行了 ls -l 命令。

5、上载系统日志文件、配置文件

就像我已经说过的,我们可以上载你的系统中任何类型的文本文件,而不仅仅是普通的文本文件,例如日志文件、特定命令的输出等。例如,你刚刚更新了 Arch Linux 机器,后系统损坏了。你问你的同事该如何解决此问题,他(她)想阅读 pacman.log 文件。 这是上传 pacman.log 文件内容的命令:

$ wgetpaste /var/log/pacman.log

与你的同事共享 pastebin URL,以便他/她可以查看 pacman.log,并通过查看日志文件来帮助你解决问题。

通常,日志文件的内容可能太长,你不希望全部共享它们。在这种情况下,只需使用 cat 命令读取输出,然后使用 tail -n 命令定义要共享的行数,后将输出通过管道传递到 Wgetpaste,如下所示。

$ cat /var/log/pacman.log | tail -n 50 | wgetpaste

上面的命令将仅上传 pacman.log 文件的“后 50 行”。

6、将输入网址转换为短链接

默认情况下,Wgetpaste 将在输出中显示完整的 pastebin URL。如果要将输入 URL 转换为短链接,只需使用 -u 选项。

$ wgetpaste -u mytext.txt
Your paste can be seen here: http://tinyurl.com/y85d8gtz

7、设定语言

默认情况下,Wgetpaste 将上传“纯文本”中的文本片段。

要列出指定服务支持的语言,请使用 -L 选项。

$ wgetpaste -L

该命令将列出默认服务(poundpython paste.pound-python.org/)支持的所有语言。

我们可以使用 -l 选项来改变它。

$ wgetpaste -l Bash mytext.txt

8、在输出中禁用语法突出显示或 html

如上所述,文本片段将以特定的语言格式(纯文本、Bash 等)显示。

但是,你可以更改此行为,以使用 -r 选项显示原始文本摘要。

$ wgetpaste -r mytext.txt
Your raw paste can be seen here: https://paste.pound-python.org/raw/CUJhQ3jEmr2UvfmD2xCL/

如你在上面的输出中看到的,没有语法突出显示,没有 html 格式。只是原始输出。

9、更改 Wgetpaste 默认值

所有默认值(DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_${SERVICE}]DEFAULT_SERVICE)都可以在 /etc/wgetpaste.conf 中全局更改,也可以在 ~/.wgetpaste.conf 文件中针对每个用户更改。但是,这些文件在我的系统中默认情况下并不存在。我想我们需要手动创建它们。开发人员已经在这里这里为这两个文件提供了示例内容。只需使用给定的样本内容手动创建这些文件,并相应地修改参数即可更改 Wgetpaste 的默认设置。

10、获得帮助

要显示帮助部分,请运行:

$ wgetpaste -h

via: ostechnix.com/how-to-ea

作者:SK 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Linux技术精选专区
创建时间:2020-07-08 10:30:23
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • dapan
    专家
戳我,来吐槽~