【Linux/コマンド】scpコマンドの使い方(ファイルのリモートコピーを行う)

こんにちは、Aireです。

今回はscpコマンドの使い方を紹介します。scpコマンドは、ローカルシステムとリモートシステム間、またはリモートシステム間でファイルやディレクトリをコピーできるLinuxのコマンドです。scpコマンドはファイルをコピーするためにSSHを使用します。

目次

ローカルファイルをリモートシステムにコピーする

scpコマンドで、ローカルファイルをリモートシステムにコピーする場合は、ローカルシステム上で以下のようにコマンドを実行します。

<コマンド実行方法>

scp -i <SSHログイン用の秘密鍵のパス情報> <ローカルファイルのパス情報> <リモートシステムのユーザ名>@<リモートシステムのIPアドレス>:<リモートシステムのファイルコピー先>

<コマンド実行例>

リモートシステムにパスワード方式でSSHログインしている場合は「-i <SSHログイン用の秘密鍵のパス情報>」の部分は不要です。

「ファイルコピー先」にファイル名を含めると、指定したファイル名でコピーが行われます。

「-r」オプションを使用し、ファイルではなくディレクトリを指定すると、ディレクトリ全体を再帰的にコピーできます。

リモートファイルをローカルシステムにコピーする

scpコマンドで、リモートファイルをローカルシステムにコピーする場合は、ローカルシステム上で以下のようにコマンドを実行します。

<コマンド実行方法>

scp -i <SSHログイン用の秘密鍵のパス情報> <リモートシステムのユーザ名>@<リモートシステムのIPアドレス>:<リモートファイルのパス情報> <ローカルシステムのファイルコピー先>

<コマンド実行例>

リモートシステムにパスワード方式でSSHログインしている場合は「-i <SSHログイン用の秘密鍵のパス情報>」の部分は不要です。

「ファイルコピー先」にファイル名を含めると、指定したファイル名でコピーが行われます。

「-r」オプションを使用し、ファイルではなくディレクトリを指定すると、ディレクトリ全体を再帰的にコピーできます。

リモートファイルを別のリモートシステムにコピーする

scpコマンドでは、ローカルシステムを経由してリモートシステム間でファイルをコピーすることもできます。その場合は、ローカルシステム上で以下のようにコマンドを実行します。

<コマンド実行方法>

scp -i <リモートシステムのSSHログイン用の秘密鍵のパス情報> -i <別のリモートシステムのSSHログイン用の秘密鍵のパス情報> <リモートシステムのユーザ名>@<リモートシステムのIPアドレス>:<リモートファイルのパス情報> <別のリモートシステムのユーザ名>@<別のリモートシステムのIPアドレス>:<別のリモートシステムのファイルコピー先>

<コマンド実行例>

リモートシステムにパスワード方式でSSHログインしている場合は「-i <SSHログイン用の秘密鍵のパス情報>」の部分は不要です。

「ファイルコピー先」にファイル名を含めると、指定したファイル名でコピーが行われます。

「-r」オプションを使用し、ファイルではなくディレクトリを指定すると、ディレクトリ全体を再帰的にコピーできます。

「-i <SSHログイン用の秘密鍵のパス情報>」と「-i <別のリモートシステムのSSHログイン用の秘密鍵のパス情報>」は記載順序を入れ替えてもファイルコピーが可能です。
また、同一の秘密鍵を使用している場合は、「-i <SSHログイン用の秘密鍵のパス情報>」のみの記載でファイルコピーが可能です。(すなわち「-i <別のリモートシステムのSSHログイン用の秘密鍵のパス情報>」は省略可能)

この記事を書いた人

目次