GNU/Linux >> Linux の 問題 >  >> Linux

Transfer.shを使用してコマンドラインからインターネット経由でファイルを共有する

Web上には多くのファイル共有ユーティリティがあります。それらのいくつかはCLIベースであり、いくつかはGUIベースです。インターネットを介してコマンドラインから大きなファイルを共有または転送する場合、ごくわずかです。そのうちの1つはTransfer.shです 。いいえ、それはスクリプトではなく、ウェブサイトです。 Transfer.shサイトを使用すると、Linuxのコマンドラインからインターネット経由でファイルを簡単かつ迅速に共有できます。 cURL以外は何もインストールする必要はありません またはwget 。これらのユーティリティは、ほとんどのLinuxディストリビューションにプリインストールされています。

Transfer.shを使用すると、最大 10 GBのファイルをアップロードできます。 一度に。すべての共有ファイルは、14日後に自動的に期限切れになります 、したがって、手動で削除することを心配する必要はありません。単一またはグループのファイルを一度にアップロードできます。すべてのファイルは、アップロードする前に暗号化できます。アップロードされたファイルをスキャンして、ClamAVまたはVirusTotalを使用してマルウェアまたはウイルスを検出できます。そしてもちろん、それは完全に無料です。詳細については、このガイドの最後に添付されているプロジェクトのホームページリンクをご覧ください。

Linuxでtransfer.shを使用してコマンドラインからインターネット経由でファイルを共有する

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ブラウザからプレビューしてダウンロードすることもできます。 Webブラウザのアドレスバーにダウンロードリンクを配置し、ダウンロードをクリックするだけです。 ボタンをクリックして共有ファイルをダウンロードします。

transfer.shWebサイトからファイルをダウンロード

ファイルの暗号化とアップロード

Transfer.shを使用すると、ファイルを暗号化してアップロードできます。

ファイルを暗号化してアップロードするには、次のコマンドを実行します:

$ cat /home/sk/file.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/file.txt

パスフレーズを2回入力するように求められます。次に、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シェルを使用する場合は、〜/ .bashrcを編集します ファイル:

$ sudo vi ~/.bashrc

最後に次の行を追加します。

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; }

ファイルを保存して閉じます。次に、次のコマンドを実行して、保存された変更を有効にします。

$ source ~/.bashrc

これで、以下に示すようにファイルをアップロードおよびダウンロードできます。

$ transfer file.txt

出力例:

################################################################## 100.0%
https://transfer.sh/yjRW9/file.txt

関連記事:

  • Crocを使用してコンピューター間でファイルとフォルダーを転送する
  • Warpinatorを使用してLinuxデスクトップ間でファイルを共有する
  • FirefoxSendを使用してインターネット経由でファイルを安全に共有する方法
  • Linuxでffsendを使用してコマンドラインからファイルを安全に共有する方法
  • PSiTransfer-シンプルなオープンソースのセルフホストファイル共有ソリューション
  • OnionShare –あらゆるサイズのファイルを安全かつ匿名で共有

結論

正直なところ、この種のファイル共有ツールを聞いたり使用したりしたことはありません。私がこのツールをテストした限り、それは本当に簡単で非常に高速です。はい、GoogleドライブやOne Driveなどの人気のあるWebサービスの中には、インターネットを介してファイルを共有および転送することもできるものがあります。ただし、いくつかの制限があります。これらのサービスを利用するには、登録済みのアカウントが必要です。ただし、transfer.shには登録済みのアカウントは必要ありません。さらに重要なのは、ターミナルを離れたり、ファイルを共有するために追加のアプリケーションをインストールしたりする必要がないことです。

同様のコマンドラインファイル共有ツールをご存知の場合は、下のコメントセクションでお知らせください。私はすべての耳です!


Linux
  1. コマンドラインを使用してディレクトリ内のファイルの数を取得するにはどうすればよいですか?

  2. Linuxのコマンドラインを使用してファイルを作成する

  3. コマンドラインからのLinuxサーバーの移行

  1. Stratisを使用してコマンドラインからLinuxストレージを管理する

  2. Linux で SCP コマンドを使用してファイルを安全に転送する方法

  3. Linux コマンドラインから S3 アカウントにファイルをアップロードする

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. LinuxコマンドラインからのGoogleドライブの使用

  3. wget コマンドを使用してコマンド ラインからファイルをダウンロードするにはどうすればよいですか?