1: scp の通常の使用法
scp は、ファイルの単純なリモート コピーを実行できます。ホスト間でファイルをコピーまたは転送するためのコマンドツールです。ファイル転送には ssh などのセキュリティ メカニズムを使用します。
1. サーバーからファイルをダウンロードする
scp username@servername:/path/filename /tmp/local_destination
たとえば、 [email protected]:/home/kimi/test.txt は、192.168.0.101 の /home/kimi/test.txt
のファイルを /tmp/local_destination にダウンロードします。
2. ローカルファイルをサーバーにアップロードします
scp /path/local_filename username@servername:/path
たとえば、 scp /var/www/[email protected]:/var/www/ このマシンの /var/www/ ディレクトリにある test.php ファイルを
サーバー 192.168 の /var/www にアップロードします。 0.101 / ディレクトリ
3. サーバーからディレクトリ全体をダウンロードします。
scp -r username@servername:remote_dir/ /tmp/local_dir
例: scp [email protected] /home/kimi/test /tmp/local_dir
4. ディレクトリをサーバーにアップロードします
scp -r /tmp/local_dir ユーザー名@サーバー名:リモートディレクトリ
例:
scp -P 22 -r [email protected]:/var/www/ 現在のディレクトリの下にある test ディレクトリをサーバーの /var/www/ ディレクトリにアップロードします
2: 複数のファイル転送
2-1 複数のファイルをローカル ファイルからリモート ホストにコピーします (複数のファイルはスペースで区切られます)
。まずローカル ディレクトリに入り、次のコマンドを実行します。
scp index.css json.js [email protected]:/usr/local/nginx/html/webs
2-2 リモート ホストから現在のディレクトリに複数のファイルをコピーします
。まずローカル ディレクトリに入り、次のコマンドを実行します。
scp [email protected]:/usr/local/nginx/html/webs/\{
index.css,json.js\} .
3: フォルダー全体をコピーします (r スイッチを使用してディレクトリを指定します)
3-1 フォルダー全体をローカル ファイルからリモート ホストにコピーし (フォルダーが diff の場合)、
まずローカル ディレクトリに入り、次のコマンドを実行します。
scp -v -r diff [email protected]:/usr/local/nginx/html/webs
3-2 リモート ホストからフォルダー全体をローカル ディレクトリにコピーし (フォルダーが diff の場合)、
最初にローカル ディレクトリに入り、次のコマンドを実行します。
scp -r [email protected]:/usr/local/nginx/html/webs/diff .
4: 2 つのリモート ホスト間でファイルをコピーする
scp は、あるリモート ホストから別のリモート ホストにファイルをコピーすることもできます。
次のようにコマンドを実行します。
scp [email protected]:/usr/local/nginx/html/webs/xx.txt [email protected]:/usr/local/nginx/html/webs/
5: 圧縮を使用して転送を高速化する
ファイル転送プロセス中に、圧縮ファイルを使用してファイル転送を高速化することができます。また、C オプションを使用して圧縮機能を有効にすることもできます。ファイルは転送プロセス中に圧縮され、宛先ホストで解凍されます
。
次のようにコマンドを実行します。
scp -vrC diff [email protected]:/usr/local/nginx/html/webs