web-dev-qa-db-ja.com

ネットワーク経由でファイルを送信する最も簡単な方法

ネットワークを介して他のコンピューターにファイルを送信する最も簡単で最も用途の広い方法は何ですか?つまり、他の人が現在使用しているコンピュータを意味します。コンピューターでアクティブなセッションが開かれている場合、SSHは機能しないと思います。

これまでのところ、正常に機能するnetcatを使用しています。しかし、これを行う他の簡単な方法はありますか?私がnetcatで抱えている問題の1つは、受信者がファイルの終わりを知っている必要があり、ストリームの名前を考え出す必要があることです。

15
TomTom

あなたは不必要にあなたの人生を複雑にしています。 scpを使用します。

ファイルを転送するにはmyfileローカルディレクトリからディレクトリ/ foo/barマシン上otherhostユーザーとしてser、構文は次のとおりです:scp myfile user@otherhost:/foo/bar

編集:scp/SSHによる転送は暗号化されていますが、netcatまたはHTTPによる転送は暗号化されていないことに注意してください。したがって、機密ファイルを転送する場合は、常に前者を使用してください。

21
dr_

あなたも試すことができます

python -m SimpleHTTPServer 8180

HTTP経由で実行されたディレクトリ内のファイルを提供します。ブラウザからアクセスできます。

11
Anveshak

netcatに満足したら、tarを導入することでファイル名の問題を回避できます。これにより、一度に複数のファイルを送信したり、ディレクトリを送信したりすることも簡単になります。

送信側での使用:

tar cf - <files> | nc <Host> <port>

そして受信側では:

nc -l <port> | tar x

別の解決策は、rsyncまたはscpを使用することです。

9
Marco

もちろん、sshは、別のセッションが開いている場合に機能します。あなたはただすることができます

ssh user@Host cat /path/to/file.tar  > localfile.tar

または、ローカルディレクトリにコピーするには:

scp user@Host:/path/to/file.tar .
2
terdon

両方のホストが同じLANにある場合は、 woos を使用できます。

使い方は非常に簡単です。

送信者と受信者がインターネットのどこかにいて、大きなファイルを転送する必要がある場合は、F * EXをインストールする必要があります。 http://fex.belwue.de/index.html

0
Framstag