Linux 下から異なるホスト間でファイルをコピーする#
前提条件#
ファイルをコピーする 2 つのターゲットホストが通信できる必要があります。この端末には scp が必要です。
SCP コマンド#
コマンドの形式:scp [ソースファイルのパス] [ターゲットファイルのパス]
使用方法:
usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
[-J destination] [-l limit] [-o ssh_option] [-P port]
[-S program] source ... target
1. ローカルからターゲットにファイルをコピーする#
scp /root/a [email protected]:/root/b
ここで、a と b はファイル名であり、異なる名前でも構いません。
2. ターゲットからローカルにファイルをコピーする#
scp [email protected]:/root/a /root/b
3. 注意事項#
フォルダをコピーする場合は、scp の後に - r を追加する必要があります。
scp は ssh ポートを基にしており、つまりデフォルトではローカルポートから対向ポートへ ssh ポートでファイルを転送します。仮に両端の ssh ポートが異なる場合やポート制限がある場合は、再指定する必要があります。scp コマンドの後に - P を追加する必要があります。P は大文字である必要があります。scp の使用方法を参照してください。
4. 変わった使い方#
リモートからリモートへのコピーはできますか?できます
scp [email protected]:/root/a [email protected]:/root/b