LinuxのscpコマンドはSSHプロトコルを用い、安全かつ高速にファイルやディレクトリをネットワーク越しで転送できる便利な標準コマンドです。
scpコマンドの基本構文
scp [オプション] コピー元 コピー先
主なオプション一覧
用例(実践的な使い方)
ファイル転送
scp file.txt user@remote_host:/home/user/
・リモート→ローカル
scp user@remote_host:/home/user/file.txt ./
ディレクトリ再帰コピー
scp -r dir/ user@remote_host:/home/user/backup/
ポート指定
scp -P 2222 file.txt user@remote_host:/home/user/
秘密鍵を使った認証
scp -i ~/.ssh/id_rsa file.txt user@remote_host:/home/user/
タイムスタンプ保持
scp -p file.txt user@remote_host:/home/user/
オプションの詳細・Tips
- 複数ファイル転送はスペース区切りで指定可能です
- ユーザー名を省略できるケース
SSH設定ファイル(~/.ssh/config)や、ローカル・リモートのユーザー名が同じ場合は省略可能 - 帯域制限の活用
混雑時や低速回線でも安定転送したい場合に便利です
実際のメッセージ例
転送時には進捗が表示され、初回接続では公開鍵情報/known_hosts追加プロンプトやパスワード入力があります。
The authenticity of host '192.0.2.0 (192.0.2.0)' can't be established.
RSA key fingerprint is XX:XX:XX:XX...
Are you sure you want to continue connecting (yes/no)? yes
Password: ●●●●●
foo.txt 100% 44KB 43.8KB/s 00:00
まとめ
scpコマンドはLinux環境で最も手軽かつ安全なファイル転送手段です。主要オプション・構文をマスターすれば、実務から趣味運用まで強力なツールになります。
コメント