ホーム > ネットワーク管理 > scp

scpコマンド完全攻略

LinuxでSecure Copy Protocol (SCP)を使用してローカルとリモートホスト間でファイルを安全にコピーする`scp`コマンドに関するガイドです。このツールを使えば、ネットワークを介したファイル転送を簡単かつ安全に実行できます。

主要オプション

`scp`コマンドのさまざまなオプションを組み合わせてファイル転送作業を設定しましょう。

1. 基本転送

2. 転送オプション

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`scp` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

構文とパスの理解

`scp`コマンドは「ソース」と「目的地」という2つの重要な引数を使用し、これらはローカルパスまたはリモートパスになることがあります。リモートパスは`[user@]host:path`形式で表現されます。

SCP構文

`scp [オプション] [ソース] [目的地]` - **ソース (Source)**: コピーする元のファイルまたはディレクトリです。 - **目的地 (Destination)**: ファイルをコピーする目的地ファイルまたはディレクトリです。

パス指定方法

ローカルパスとリモートパスを区別して指定する方法です。

  • ローカルパス: 一般的なファイルシステムパス(例: `/home/user/document.txt`または`.`)
  • リモートパス: `[ユーザー名@]ホスト名_または_IPアドレス:/リモート/パス`形式(例: `user@example.com:/var/www/html/`)

認証とセキュリティ

`scp`はSSHプロトコルを基にしているため、ファイル転送時に暗号化されて安全です。リモートホストにアクセスするにはSSHと同様にユーザー名/パスワードまたはSSHキーによる認証が必要です。

使用例

`scp`コマンドの実用的な使用例を通じてファイル転送作業を練習しましょう。

ローカルファイルをリモートサーバにコピー

scp report.txt user@myserver.com:/home/user/

現在のディレクトリの`report.txt`ファイルをリモートサーバ`myserver.com`の`/home/user/`ディレクトリにコピーします。

リモートサーバのファイルをローカルにコピー

scp user@myserver.com:/var/log/syslog .

リモートサーバ`myserver.com`の`/var/log/syslog`ファイルを現在のローカルディレクトリ`.`にコピーします。

ローカルディレクトリをリモートサーバに再帰コピー

scp -r my_project user@myserver.com:/var/www/

現在のディレクトリの`my_project`ディレクトリ全体をリモートサーバ`myserver.com`の`/var/www/`ディレクトリにコピーします。

特定のポートを使用してファイルコピー

scp -P 2222 backup.tar.gz user@myserver.com:/backups/

SSHポートが2222のリモートサーバに`backup.tar.gz`ファイルをコピーします。

認証キー ファイルを使用してファイルコピー

scp -i ~/.ssh/my_key data.sql user@myserver.com:/db_dumps/

指定されたSSHプライベートキー(`~/.ssh/my_key`)を使用して`data.sql`ファイルをリモートサーバにコピーします。


同じカテゴリのコマンド