如何使用 Transfer.sh 从终端上传和共享文件

通常,文件共享涉及登录到存储提供商、手动定位文件并通过 Web 浏览器或应用程序的图形用户界面上传文件。 虽然在这些中间步骤中浪费的时间似乎不多,但每次您希望上传或共享文件时,它都会不断增加。

但是共享文件不必再繁琐了。 使用 Linux 终端,您可以轻松完成此操作。 感谢像这样的工具 传输.sh,只需在终端上执行一个简单的命令即可上传文件。

什么是 Transfer.sh?

传输.sh 是一个免费平台,可通过 Linux shell 轻松快速地共享文件。 上传文件就像运行 cURL 命令或以您要上传的文件作为参数的 shell 函数一样简单。 您还可以通过运行 Linux 在 Windows 10 上使用这些命令 bash 壳就可以了。

以下是 transfer.sh 提供的一些重要功能:

  • 不需要 GUI,使用命令行。
  • 上传最大 10GB 的文件。
  • 文件仅存储 14 天。
  • 传输前可选择使用 GPG 加密文件。
  • 限制文件可用的下载次数和天数。

通过 cURL 上传文件

客户端 URL (cURL) 是一个命令行工具,用于使用各种网络协议将数据传入和传出服务器。 通过 cURL 和 transfer.sh 上传文件是一个简单的过程。 您所要做的就是打开您的 Linux 终端并使用以下语法上传文件:

curl --upload-file <path-to-file> https://transfer.sh

在上面的命令中,确保替换 <文件路径> 与您要上传的文件的实际路径。

运行该命令后,您将获得一个 URL,您可以与其他人共享该 URL,以便他们下载您上传的文件。

您可以通过以下方式调整上述命令以更改上传文件的名称和扩展名:

curl --upload-file <path-to-file> https://transfer.sh/<file_name.extension>

在上述 examplecURL 重命名文件 你好.txt测试.md 上传之前。 访问下载链接时,系统会提示您下载 测试.md 文件而不是原始文件。

此外,您甚至可以通过在 cURL 命令中添加一些标头来设置允许的最大下载次数和文件可下载的最大天数。 这是一个 example 说明此功能:

在这里,cURL 命令包含 2 个 HTTP 标头: 最大下载量最大天数. 您可以根据需要更改冒号后面的值。

通过 Shell 函数上传

虽然 cURL 命令非常简单,但您可以更进一步,通过创建一个 shell 函数使其更容易。 然后,您可以使用这个 shell 函数将整个 cURL 命令替换为一个单词。

要开始,请导航到 /家 Linux 机器上的目录并打开 .bashrc 或者 .zshrc 文件取决于您使用的外壳。 随意使用您喜欢的任何 Linux 文本编辑器。 将下面给出的 shell 函数粘贴到文件末尾,完成后保存。

transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.
Usage:
transfer <file|directory>
... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;fi;}

要使 shell 功能正常工作,您必须 close 现有的终端实例并启动一个新的。 或者,您可以运行 源〜/ .bashrc 如果你使用 bash 外壳,或 源〜/ .zshrc 如果你使用 Z shell。 现在,您可以使用 转移 来自 Linux 终端的命令。

在 Linux 上轻松共享文件

虽然 transfer.sh 是为您的文件获取可共享下载 URL 的绝佳实用程序,但它不能完全替代您的云存储。 临时共享文件非常有用,因为它最多只能将文件存储 14 天。

对于更持久的个人存储,您可以向云存储提供商倾斜。 不用担心。 许多云服务提供商提供免费套餐,您可以使用它来决定是否要购买。