如何从命令行轻松地将文本片段上传到类似 Pastebin 的服务

每当需要在线分享代码片段时,我们首先想到的可能是Pastebin.com,这是由 保罗·迪克森 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 https://wgetpaste.zlin.dk/wgetpaste-2.28.tar.bz2

提取它:

$ tar -xvjf wgetpaste-2.28.tar.bz2

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

转到该目录:

$ cd wgetpaste-2.28/

将 wgetpaste 二进制文件复制到 $PATH,对于 example /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/

将文本片段上传到 pastebin 服务

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

以下是 web 浏览器中 mytext.txt 文件的内容:

通过浏览器查看 pastebin 内容

你也可以使用 ‘球座’ 命令来显示正在粘贴的内容,而不是盲目地上传它们。

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

$ wgetpaste -t mytext.txt

2. 将文本片段上传到不同的服务

默认情况下,Wgetpaste 会将文本片段上传到 磅蟒 服务。

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

$ wgetpaste -S

样本输出:

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

这里, * 表示默认服务。

如您所见,Wgetpaste 目前支持五种文本共享服务。 我没有尝试所有这些,但我相信所有服务都会起作用。

将内容上传到其他服务,对于 example 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.将COMMAND和COMMAND的输出一起上传

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

$ wgetpaste -c 'ls -l'

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

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

正如您在输出中看到的,我运行了“ls -l”命令。

5.上传系统日志文件、配置文件

就像我已经说过的,我们可以在您的系统中上传任何类型的文本文件,而不仅仅是普通的文本文件,例如日志文件、特定命令的输出等。说 example,你刚刚更新了你的 Arch Linux 机器,结果系统损坏了。 你问你的同事如何修复它,她/他想阅读 pacman.log 文件。 这是上传 pacman.log 文件内容的命令:

$ wgetpaste /var/log/pacman.log

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

通常,日志文件的内容可能太长,您不想全部共享。 在这种情况下,只需使用 命令读取输出并使用 尾巴 命令与 -n 切换以定义要共享的行数,最后将输出通过管道传输到 Wgetpaste,如下所示。

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

上面的命令只会上传 最后 50 行 pacman.log 文件。

6. 将输入url转换为tinyurl

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

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

7.设置语言

默认情况下,Wgetpaste 会将文本片段上传到 纯文本.

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

$ wgetpaste -L

此命令将列出默认服务支持的所有语言,即 磅蟒 (https://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

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!