scpでリモートサーバからローカルにファイルを落とす&ローカルからリモートに転送する
↑ test-serverにあるfilesディレクトリの中身を、localに落としてきているところ。
scpコマンドについて
ファイルを送信したり、受信したりすることができる。
ファイル送受信時に使用するプロトコルはsshプロトコルなので安全。
また、使用帯域なども絞れるので、
他の通信を圧迫しないようにファイルの送受信をすることができる。
使用シーン
リモートホストの特定のディレクトリにある、大量のファイルを落としたい時。
ローカルで作ったシェルをリモートに置きたい時。
などなど。
使用法
リモートからローカルに落としてくる
scp [ユーザー名]@[ホスト名]:[リモートファイルパス] [ローカルファイルパス]
また、-r オプションを付けると、
ディレクトリ構造が保持されるので、便利。
scp -r [ユーザー名]@[ホスト名]:[リモートディレクトリパス] [ローカルディレクトリパス]
使用例
リモートホストにある、sshクライアントの設定ファイルを取ってくる時。
scp user@remote_host:~/.ssh/config ~/
ローカルからリモートに転送する
scp [ローカルファイルパス] [ユーザー名]@[ホスト名]:[リモートファイルパス]
ローカルファイルパスを複数指定すると、
複数個のファイルを取ってくることができるらしい。これも便利。
参考サイト
余談
なお、scpと語感が似ているsftpというコマンドがあるが、
結構違う。
イメージとしては、ftpのプロトコルがsshになった感じ。安全。
リモートにログインして操作ができるので、
リモート上でファイル名を変えたり、移動させたりすることができる。