transfer.sh:通过命令行简单的创建文件分享

简介

通过一个命令,就可以在终端上,将文件加密传输到远程服务器,提供对外文件共享的功能。

transfer.sh这是一个我常用的、可以在终端上使用的文件共享服务,可以在某些方面替代sz或者scp命令。通过配置,终端上一个命令就可以将文件加密传输到远程服务器,方便下载。常规使用需要有 linux 命令行的基础,国内虽然访问略慢。在国外的VPS上单线程下载几乎是能跑满带宽的,可以说没限速。配合一些没有 gui 界面的终端命令行简直不能再爽。

transfer.sh:通过命令行简单的创建文件分享

安装

只需要把下述代码加入到交互shell的配置文件中即可,我用的是zsh,所以编译 ~/.zshrc,将这段脚本加入进去,写入保存之后执行"source ~/.zshrc"刷新一下。

transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }

使用

使用也非常简单,对需要上传分享的文件执行"transfer"命令就可以了,比如当前目录下有一个BDW.sh的脚本,执行"transfer BDW.sh "

transfer.sh:通过命令行简单的创建文件分享

文件上传成功之后会返回一个链接地址,就是当前上传的文件网络地址,文件默认保存 14 天,之后自动删除。

上一篇:Linux常用技巧系列: cp拷贝文件及目录


下一篇:js 将树结构的列表转换为普通列表