ウィキペディア](http://en.wikipedia.org/wiki/SSH_file_transfer_protocol).
ファイル転送のみを許可する以前のSCPプロトコルに比べて、SFTPプロトコルはリモートファイルに対して様々な操作を可能にします。SFTPクライアントは、SCPクライアントと比較して、中断された転送の再開、ディレクトリの一覧表示、リモートファイルの削除などの機能を追加しています。[1] これらの理由から、GUI SFTP クライアントは GUI SCP クライアントに比べて比較的簡単に実装できます。
と
SCPとSFTPはどちらもファイル転送中に同じSSH暗号化を利用し、一般的なオーバーヘッドは同じレベルですが、特に高レイテンシネットワーク上では、 SCPの方が通常SFTPよりもファイル転送がはるかに速いです。これは SCP がより効率的な転送アルゴリズムを実装しており、 パケットの確認を待つ必要がないからです。これはより速い速度につながりますが、転送を中断することができないという犠牲を伴います。
2つのコマンドのその他の重要な違いは、 sftp はリモートファイルを取得することはできますが、 scp はその両方を行うことができるのに対し、 sftp は1つのコマンドラインでローカルファイルをリモートの場所に置くことはできません。
sftp user@host:/path/to/remote.file [/path/to/local.file]
scp user@host:/path/to/remote.file [/path/to/local.file]
scp /path/to/local.file user@host:[/path/to/remote.file]
``` ### scp put remote file
0x1&
SSH ( S ecure SH ell) は、安全でないネットワーク上でリモートログインやその他のネットワークサービスを安全に動作させるための暗号化ネットワークプロトコルです。
違い: SFTP は対話モード(セッション)で動作し、SCP は非対話モードで動作します。SFTP を使用すると、リモートファイルシステムにアクセスすることができます(ファイルの作成、削除、リストアップなど)。
類似点: SCP( S ecure C opy P rotocol)とSFTP( S SH F ile T ransfer P rotocol)は、ネットワーク上のホスト間でファイル管理をサポートするネットワークプロトコルです。どちらもSSHを使用します。 その他
2 つのプロトコルの違いのほとんどは他の回答で述べられていますし、 https://unix.stackexchange.com/q/8707/19088
もう一つの違いは、 curl のドキュメント によると、SCP プロトコルはあまり移植性が高くなく、通常 Unix システム間でしか動作しないということです。
ちなみに curl は両方のプロトコルを実装しており、デフォルトの OpenSSH SFTP クライアントの実装とは異なり、SFTP と SCP の両方で 非インタラクティブ です。
そして、 FISH プロトコルもあることに注意してください。私の知る限りでは、FISH はあまり普及しておらず、現在のところ実装されているのは Midnight Commander と KDE ベースのいくつかのファイルマネージャと Lftp だけです。