网络上有许多文件共享实用程序。 其中一些是基于 CLI 的,还有一些是基于 GUI 的。 当谈到通过 Internet 从命令行共享或传输大文件时,只有少数几个。 其中之一是 传输.sh. 不,它不是一个脚本,它是一个网站。 Transfer.sh 站点允许您从 Linux 的命令行轻松快速地通过 Internet 共享文件。 你不需要安装任何东西,除了 卷曲 或者 wget. 大多数 Linux 发行版都预装了这些实用程序。
Transfer.sh 允许您最多上传文件 10GB 一气呵成。 所有共享文件自动过期 14天,因此您无需担心手动删除它们。 我们可以一次性上传单个或组文件。 所有文件在上传前都可以加密。 我们可以使用 ClamAV 或 VirusTotal 扫描上传的文件中的恶意软件或病毒。 而且,当然,它是完全免费的。 有关更多详细信息,请查看本指南末尾所附的项目主页链接。
内容
在 Linux 中使用 transfer.sh 从命令行通过 Internet 共享文件
使用 transfer.sh 共享或传输文件没什么大不了的。 首先让我们上传文件。
使用 Transfer.sh 上传文件
您所要做的就是运行以下命令来共享文件:
$ curl --upload-file Amazon_s3_tutorial.pdf https://transfer.sh/Amazon_s3_tutorial.pdf
在这里,Amazon_s3_tutorial.pdf 是我的主文件夹中的文件。
样本输出:
https://transfer.sh/S9ewb/Amazon_s3_tutorial.pdf
上传完成后,服务会返回文件的唯一下载链接。 您可以将此 URL 传递给任何想要下载和使用此文件的人。
也可以使用“wget”上传文件。
$ wget --method PUT --body-file=/home/sk/file.pdf https://transfer.sh/file.pdf -O - -nv
Transfer.sh 允许我们一次上传多个文件。
要一次上传多个文件,请运行:
$ curl -i -F [email protected]/home/sk/Downloads/bash_tips.pdf -F [email protected]/home/sk/Downloads/Docker.pdf https://transfer.sh/
样本输出:
HTTP/1.1 100 Continue HTTP/1.1 200 OK Date: Sat, 08 Apr 2017 10:10:01 GMT Content-Type: text/plain Content-Length: 75 Connection: keep-alive Server: Transfer.sh HTTP Server 1.0 X-Made-With: <3 by DutchCoders X-Served-By: Proudly served by DutchCoders https://transfer.sh/E7MLa/bash_tips.pdfhttps://transfer.sh/E7MLa/Docker.pdf
上传完成后,Transfer.sh 将为您提供每个文件的唯一下载链接。
下载文件
要下载文件,只需运行:
$ curl https://transfer.sh/S9ewb/Amazon_s3_tutorial.pdf -o Amazon_s3_tutorial.pdf
样本输出:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 693k 100 693k 0 0 171k 0 0:00:04 0:00:04 --:--:-- 171k
或者,您可以从 Web 浏览器预览和下载它。 只需将下载链接放在网络浏览器的地址栏上,然后单击 下载 按钮下载共享文件。
加密和上传文件
Transfer.sh 允许您加密和上传文件。
要加密和上传文件,请运行:
$ cat /home/sk/file.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/file.txt
您将被要求输入密码两次。 然后,transfer.sh 会给你加密文件的下载链接。
https://transfer.sh/140GMQ/file.txt
解密和下载文件
要解密和下载上述加密文件,请运行:
$ curl https://transfer.sh/140GMQ/file.txt|gpg -o- > /home/sk/ostechnix.txt
样本输出:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0gpg: WARNING: no command supplied. Trying to guess what you mean ... 100 220 100 220 0 0 113 0 0:00:01 0:00:01 --:--:-- 113 gpg: AES encrypted data gpg: encrypted with 1 passphrase
添加别名
如果您打算经常使用此服务,您可以添加别名到 .bashrc 或者 .zshrc 文件以使此命令更加容易。
如果您使用 BASH shell,请编辑 ~/.bashrc 文件:
$ sudo vi ~/.bashrc
在末尾添加以下行。
transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:necho transfer /tmp/test.mdncat /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; }
Save 和 close 文件。 然后,运行以下命令使保存的更改生效。
$ source ~/.bashrc
现在,您可以上传和下载文件,如下所示。
$ transfer file.txt
样本输出:
################################################################## 100.0% https://transfer.sh/yjRW9/file.txt
相关阅读:
- 使用 Croc 在计算机之间传输文件和文件夹
- 使用 Warpinator 在 Linux 桌面之间共享文件
- 如何使用 Firefox Send 在 Internet 上安全地共享文件
- 如何在 Linux 中使用 ffsend 从命令行安全地共享文件
- PSiTransfer – 一个简单的开源自托管文件共享解决方案
- OnionShare – 安全匿名地共享任何大小的文件
结论
老实说,我以前没有听说过或使用过这种文件共享工具。 就我测试过的这个工具而言,它真的非常简单而且非常快。 是的,一些流行的网络服务,如 Google Drive,One Drive 还允许您通过 Internet 共享和传输文件。 但是它们有一些限制。 您需要有一个注册帐户才能使用这些服务。 但是,transfer.sh 不需要任何注册帐户。 更重要的是,您无需离开终端,也无需安装任何额外的应用程序即可共享文件。
如果您知道任何类似的命令行文件共享工具,请在下面的评论部分告诉我。 洗耳恭听!
资源:
- Transfer.sh 网站
BASH文件共享GoLangLinux从命令行共享文件从命令行通过 Internet 共享文件transfer.sh