使用 pb 分享代码

PrivateBin 在线匿名粘贴版?大概吧

分享代码给其他人的时候,发送文件太麻烦,直接把代码发过去的话有没有高亮和缩进而且会刷屏!

可以使用 pb 服务来解决这一个问题 ´ ▽ ` )ノ

下面就以 ArchCN 的 fc 老师搭建的 pb 为例,康一下用法 (其实大多都会给出用法,我只是搬运工

首先要注意的是 pb 给的说明:

fars.ee is a temporary deployment of pb by farseerfc

pb is a lightweight pastebin (and url shortener) built using flask.

All data may be erased without notifications. Please do NOT post large files.

使用方式

1.使用 web 页面上传文本

并不是大家都会提供 web 页面的!

地址:https://fars.ee/f

web 页面长这样
web 页面长这样

2.使用命令行

Create a new paste from the output of cmd:

cmd | curl -F "c=@-" "https://fars.ee/"

上传一个命令的输出

例如

$ ls | curl -F "c=@-" "https://fars.ee/"

就将 ls命令的输出上传上去了,你会得到

 date: 2020-03-11T06:03:05.110297+00:00
 digest: 2471f7b7a504e790a013fd092a3109a4c58c96f0
 long: ACRx97elBOeQoBP9CSoxCaTFjJbw
 short: jJbw
 size: 88
 status: created
 url: https://fars.ee/jJbw
 uuid: 409d0a8a-5d4a-4159-bb5e-cbb43934cf57

其中的 url: https://fars.ee/jJbw 就是你的地址啦,打开就可以看到你上传的文本

语法高亮!

首先让我们来上传一段代码

$ curl -F "c=@-" "https://fars.ee/" < main.c
# 或或者这样
# cat main.c | curl -F "c=@-" "https://fars.ee/"

这时候我们直接访问得到的 url ( 这儿是 https://fars.ee/MXKe ),还是不会高亮的,在结尾加上语言标记就好了

https://fars.ee/MXKe/c

我把它标记为了 C 语言,访问的时候就会以 C 语言的语法来高亮代码了。其实还可以在末尾追加 #L-n 来更醒目的提醒代码的第n 行。

https://fars.ee/MXKe/c#L-3

3.更多的快乐!

其实 pb 服务不只可以分享文本,图片和文件都是可以的哟,但是为了避免给所有者造成负担大家一定要遵守规则,不要滥用

下面就给出另外几个比较好用分享 文本、图片、文件的网站

更便捷一点

如果每次都要输入像 curl -F "c=@-" "https://fars.ee/" 这么一大串的话,有点不方便我们可以利用一个命令别名或者 shell 函数来简化操作

使用别名

# 添加别名 也可以添加到 ~/.bashrc 中去
$ alias pb='curl -F "c=@-" "https://fars.ee/"' 
# 愉快的使用
$ cat main.py | pb

使用 shell 函数

使用函数的话,就可以完成更多的操作,比如按文件名上传多个文件,又或者接下来要说的把得到的 url 复制到剪切板

因为要复制到剪切板,这儿依赖了 xclip 这个工具,要提前装好,Archlinux 的话就

$ sudo pacman -S xclip

然后在 ~/.bashrc 添加

fs() {
  curl -s -F "c=@${1:--}" "https://fars.ee/?u=1" | tee /dev/tty | perl -p -e 'chomp if eof' | xclip -selection clipboard -i
}

上面的函数抄袭自 farseerfc 的 dotfiles

这样当你 cmd | fs 的时候,url 就会自动复制到剪切板啦。

吹一下 kdeconnect , 如果你用了 kdeconnect 的话剪切板就自己同步到手机了!