scp コマンドまとめ

スポンサーリンク
スポンサーリンク

リモートマシンとローカルマシン、あるいはリモートマシン同士でファイルをコピーする際に使用する Linux コマンドです。
通信には ssh を使用し、ssh コマンド同様に転送データを暗号化して通信を行います。
※ssh を使用するため、ssh 接続できることが前提となります。

コマンド

コマンドの基本は、以下のような形式になります。


$ scp [オプション] コピー元パス コピー先パス
オプション
オプション説明
-i [秘密鍵ファイル]ssh 接続時に使用する鍵ファイルを指定
-P [ポート番号]ssh 接続に使用するポートを指定
-pコピー元のタイムスタンプやパーミッションを保持
-rディレクトリごと再帰的にコピー
-C通信を圧縮
-4IPv4 を使用
-6IPv6 を使用
コマンド早見表

・ローカルからリモートへコピー(アップロード)


$ scp local.txt username@server.com:/server/dir

・リモートからローカルへコピー(ダウンロード)


$ scp username@server.com:/server/dir/remote.txt /local/dir

・ディレクトリごとローカルからリモートへコピー(アップロード)


$ scp -r local/dir username@server.com:/server/dir

・ディレクトリごとリモートからローカルへコピー(ダウンロード)


$ scp -r username@server.com:/server/dir /local/dir

・認証鍵接続でローカルからリモートへコピー(アップロード)


$ scp -i ~/.ssh/id_rsa local.txt username@server.com:/server/dir

・認証鍵接続でリモートからローカルへコピー(ダウンロード)


$ scp -i ~/.ssh/id_rsa username@server.com:/server/dir/remote.txt /local/dir

・ポート番号指定でローカルからリモートへコピー(アップロード)


$ scp -P 2222 local.txt username@server.com:/server/dir

・ポート番号指定でリモートからローカルへコピー(ダウンロード)


$ scp -P 2222 username@server.com:/server/dir/remote.txt /local/dir

尚、複数ファイルを指定する場合は、スペースを空けて列挙したり、*.txt とワイルドカードを使用することもできます。


$ scp local1.txt local2.txt username@server.com:/server/dir
$ scp *.txt username@server.com:/server/dir

コメント

タイトルとURLをコピーしました