scpコマンド
リモートマシンとローカルマシン、あるいはリモートマシン同士でファイルをコピーする際に使用するLinuxのコマンド。
通信にはssh
を使用する。sshコマンドと同じ認証でデータ転送の通信を暗号化する。
sshを使用するため、ssh接続をできるようにしておく必要があります。
scp
$ scp [オプション] コピー元パス 保存先パス
オプション
オプション | 説明 |
---|---|
-i 鍵ファイル | ssh接続に使用する鍵ファイルを指定する |
-P ポート番号 | (sshのポートを変更している場合などに)接続に使用するポートを指定する |
-p | コピー元のタイムスタンプやパーミッションを保持する |
-r | ディレクトリごと再帰的にコピーする |
パス
パスは以下のような構成で書きます。
ユーザ名@サーバのホスト名(or IPアドレス):コピーしたいファイル、もしくは保存先のパス
ローカルの場合はユーザ名@サーバのホスト名(or IPアドレス):
を省略できる。
リモートのファイル(test.txt)をローカルのカレントディレクトリへコピー
$ scp user@xxx.xxx.xxx.xxx:~/test.txt ./
ローカルのカレントディレクトリのファイル(test.txt)をリモートのホームディレクトリ直下へコピー
$ scp test.txt user@xxx.xxx.xxx.xxx:~/