用正确的方式分享长文本:pastebin

女生的网名这么多〃 提交于 2020-04-05 15:54:44

1. 什么是pastebin,它能干什么

在我们日常的工作、交流中,难免有需要分享出错信息、日志文件、配置文件等大段文本的时候,遇到这种需求,在聊天工具中直接发送文本,格式会难以辨认,发送截图的有些超过1屏甚至多屏的需要发多张截图,对方查看也不方便,此时,就可以用到 pastebin 服务。

pastebin:没有其他额外功能,仅提供文本展示的网站,通常可以将文本格式化、高亮以便于阅读。

先放两张图片,同一段代码粘贴到QQ和pastebin的效果图对比,孰优孰劣一眼便知。

2. 有哪些可以用的 pastebin服务

现在比较可靠(应该是长时间不会关闭)的3个pastebin网站

  1. https://pastebin.com

    最原始的 pastebin 网站,针对注册用户提供永久保留代码片段和代码片段编辑的功能,访问速度一般。

  2. https://pastebin.centos.org

    centos提供的 pastebin 服务,功能简单,速度还行,使用的基于php的开源项目Stikked,偶尔粘贴不成功(格式化错误)

  3. https://pastbin.ubuntu.com

     功能最简单,速度也挺快的。

3. 怎么用好 pastebin

由于大部分分享的文本来自程序运行的结果或配置文件和日志文件,如果每次都得复制了然后到网站上粘贴,操作起来还是有点麻烦,尤其是在终端上,为了更方便的分享,可以写一个 bash 脚本利用curl直接粘贴:

#!/bin/bash

poster="Inpool From curl command"
expiration=day
case $1 in
    c)
        syntax=c
        ;;
    c++)
        syntax=c++
        ;;
    java)
        syntax=java
        ;;
    html)
        syntax=html
        ;;
    css)
        syntax=css
        ;;
    js)
        syntax=js
        ;;
    json)
        syntax=json
        ;;
    bat)
        syntax=bat
        ;;
    bash)
        syntax=bash
        ;;
    py)
        syntax=python
        ;;
    py3)
        syntax=python3
        ;;
    go)
        syntax=go
        ;;
    ini)
        syntax=ini
        ;;
    *)
        syntax=text
        ;;
esac

curl -s -w '%{redirect_url}\n' --data-urlencode "poster=$poster" \
    --data "syntax=$syntax&expiration=$expiration" --data-urlencode "content@-" \
    https://pastebin.ubuntu.com

保存为 pasteit 并放到 /usr/local/bin 目录,就可以直接使用,此处使用的是 ubuntu 的 pastebin 服务,用法如下:

  • 粘贴整个文件内容
    # 普通纯文本粘贴
    pasteit < /var/log/nginx/access.log
    
    #指定高亮格式粘贴,py为格式。
    pasteit py < /usr/lib/python3/dist-packages/six.py
  • 粘贴命令的标准输出
    ls -l /etc | pasteit
  • 粘贴命令的错误输出
    mount /dev/noexists /mnt/noexists 2>&1 | pasteit
  • 利用 head 和 tail 命令粘贴文件部分内容
    # 粘贴文件头16行
    head -16 /etc/default/grub | pasteit
    
    # 粘贴文件最后16行
    tail -16 /etc/default/grub | pasteit
    
    # 粘贴文件中间部分,前面5行和后面8行不要
    tail -n +6 | head -n -8 | pasteit

以上命令执行完毕后都是输出一个网址,该网址就是粘贴好的文本:

4. 一些参数说明

除了我们要粘贴的内容外,还有三个参数:

poster 发布/粘贴文本的人,可以随便填,仅仅用于简单标识
expiration 内容的过期事件,超过事件的内容系统会自动删除,可选的值有:day, week, month, year,分别表示1天、1周、1个月和1年。
syntax 语法方案,用于高亮文本内的关键字等,支持的格式非常多,只要挑几个自己常用的写进来就行了。更多的格式到ubuntu pastebin查看。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!