君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

scpでリモートサーバからローカルにファイルを落とす&ローカルからリモートに転送する

f:id:karoten512:20180306214627g:plain

↑ test-serverにあるfilesディレクトリの中身を、localに落としてきているところ。

scpコマンドについて

ファイルを送信したり、受信したりすることができる。

ファイル送受信時に使用するプロトコルsshプロトコルなので安全。

また、使用帯域なども絞れるので、

他の通信を圧迫しないようにファイルの送受信をすることができる。

使用シーン

リモートホストの特定のディレクトリにある、大量のファイルを落としたい時。

ローカルで作ったシェルをリモートに置きたい時。

などなど。

使用法

リモートからローカルに落としてくる

scp [ユーザー名]@[ホスト名]:[リモートファイルパス] [ローカルファイルパス]

また、-r オプションを付けると、

ディレクトリの中のファイルを再帰的に取ってきてくれる。

ディレクトリ構造が保持されるので、便利。

scp -r [ユーザー名]@[ホスト名]:[リモートディレクトリパス] [ローカルディレクトリパス]

使用例

リモートホストにある、sshクライアントの設定ファイルを取ってくる時。

scp user@remote_host:~/.ssh/config ~/

ローカルからリモートに転送する

scp [ローカルファイルパス] [ユーザー名]@[ホスト名]:[リモートファイルパス]

ローカルファイルパスを複数指定すると、

複数個のファイルを取ってくることができるらしい。これも便利。

参考サイト

www.atmarkit.co.jp

余談

なお、scpと語感が似ているsftpというコマンドがあるが、

結構違う。

イメージとしては、ftpプロトコルsshになった感じ。安全。

リモートにログインして操作ができるので、

リモート上でファイル名を変えたり、移動させたりすることができる。