1. 什么是pastebin,它能干什么
在我们日常的工作、交流中,难免有需要分享出错信息、日志文件、配置文件等大段文本的时候,遇到这种需求,在聊天工具中直接发送文本,格式会难以辨认,发送截图的有些超过1屏甚至多屏的需要发多张截图,对方查看也不方便,此时,就可以用到 pastebin 服务。
pastebin:没有其他额外功能,仅提供文本展示的网站,通常可以将文本格式化、高亮以便于阅读。
先放两张图片,同一段代码粘贴到QQ和pastebin的效果图对比,孰优孰劣一眼便知。
2. 有哪些可以用的 pastebin服务
现在比较可靠(应该是长时间不会关闭)的3个pastebin网站
- https://pastebin.com
最原始的 pastebin 网站,针对注册用户提供永久保留代码片段和代码片段编辑的功能,访问速度一般。
- https://pastebin.centos.org
centos提供的 pastebin 服务,功能简单,速度还行,使用的基于php的开源项目Stikked,偶尔粘贴不成功(格式化错误)
- 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查看。 |
来源:oschina
链接:https://my.oschina.net/inpool/blog/3219431