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には登録済みのアカウントは必要ありません。さらに重要なのは、ターミナルを離れたり、ファイルを共有するために追加のアプリケーションをインストールしたりする必要がないことです。
同様のコマンドラインファイル共有ツールをご存知の場合は、下のコメントセクションでお知らせください。私はすべての耳です!