Categories: linuxUbuntu技術

Linux scpコマンド完全ガイド|使い方・全オプション徹底解説と実用例

LinuxのscpコマンドはSSHプロトコルを用い、安全かつ高速にファイルやディレクトリをネットワーク越しで転送できる便利な標準コマンドです。

scpコマンドの基本構文

scp [オプション] コピー元 コピー先
  • コピー元・コピー先にローカル/リモートどちらも指定可能
  • リモートの場合は [user@host:path] 形式を使います

主なオプション一覧

オプション説明
-rディレクトリを再帰的にコピーする
-P <ポート番号>SSHポート番号指定(デフォルト22)
-C圧縮して高速転送
-i <鍵ファイル>SSH鍵ファイル指定
-pタイムスタンプ・パーミッションを保持
-l <帯域制限 (Kbps)>転送速度制限
-v詳細ログ表示

用例(実践的な使い方)

ファイル転送

・ローカル→リモート

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環境で最も手軽かつ安全なファイル転送手段です。主要オプション・構文をマスターすれば、実務から趣味運用まで強力なツールになります。

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村