scp(セキュア コピー) コマンドを使用すると、ファイルまたはディレクトリをコピーできます (-r リモート システム間でディレクトリをコピーするオプション)。接続が確立され、ファイルがコピーされ、接続が閉じます。
ローカル サーバーからリモート サーバーにファイルを転送
ファイルをリモート システムにコピーするには (アップロード )、scp コマンドの形式は次のとおりです。
# scp [options] local-file [user@]to-host[:remote-file]
たとえば、test という名前のファイルを、ユーザー root を使用して host03 上のリモート ユーザーのホーム ディレクトリにコピーするには、
# scp /var/tmp/test root@host03
ユーザーのホーム ディレクトリ以外のリモート ホスト上の任意の場所にファイルを転送するには:
# scp /var/tmp/test root@host03:/data
リモート ホストでファイルを新しい名前でリモート ホストに転送
同じファイルを同じ場所にコピーし、名前を new_test に変更するには、次のコマンドを使用します。
# scp test root@host03:/var/tmp/new_test
リモート サーバーからローカル サーバーにファイルを転送
リモート システムからファイルをコピーするには (ダウンロード )、scp コマンドの形式は次のとおりです。
# scp [options] [user@]from-host:remote-file local-file
たとえば、リモート host03 上のユーザーのホーム ディレクトリから new_test という名前のファイルをコピーするには:
# scp host03:new_test .
ドット (. ) ここでは、ローカル サーバー上のユーザーの現在のディレクトリを表します。
新しい名前でリモート ホストからローカル ホストにファイルを転送するには
リモート host03 上のユーザーのホーム ディレクトリから new_test という名前のファイルをコピーし、その名前を newer_test に変更するには:
# scp host03:new_test newer_test
ディレクトリを転送
ディレクトリをローカル サーバーからリモート サーバー (host03) に再帰的に転送するには、-r を使用します。 scp コマンドのオプション。
# scp -r /dir root@host03:/data
同様に、ディレクトリをリモート サーバーからローカル サーバーに再帰的に転送するには:
# scp -r root@host03:/data /var/tmp
scp で 22 以外のポートを使用する
デフォルトでは、ssh/scp コマンドで使用されるポートは 22 です。これ以外のポートを使用する場合は、-P を使用します scp コマンドで切り替えます。例:
# scp -P 2222 testfile root@host03:/var/tmp