CommentsTweetPocket以前、sshコマンドの覚えておきたい使い方について記述した事があったが、今回はscpコマンド。scpはsshプロトコルを利用しているので、環境によってはFTPよりも使い勝手が良いのでよく使われている。今回は、そんなscpコマンドで覚えておきたい使い方について記述する。基本的には、以下のようにコマンドを実行する。[[ユーザ@]ホスト:]file2上の実行例を見てもらえればわかるように、ローカルからリモート、リモートからローカル、そしてリモートからリモートへのコピーも可能だ。ユーザ名@ホスト名:/リモート先のPATHワイルドカードを用いて、複数指定することも出来る。(ワイルドカードを付けても認識しない場合は、*の前に\を付けてやるといい。ユーザ名@ホスト名:/リモート先のPATH複数のファイルを同時に転送するならば、{}で囲んで指定するといいだろう。追記また、sshコマンドでも同様だが、初めてアクセスするホストの時に出力される警告を無視する場合は、以下のオプションを付与する。00:002.ディレクトリごとコピーするディレクトリごと再帰的にコピーする場合、「-r」オプションを用いる。ユーザ名@ホスト名:/コピー先ディレクトリ3.更新時間やアクセス時間、パーミッションを保持したまま転送するファイルの更新時間やアクセス時間、権限を保持したまま転送する場合は、「-p」オプションを付与する。ユーザ名@ホスト名:/コピー先ファイル4.ポート番号を指定して通信を行う通常、sshプロトコルは22番ポートを利用しているが、サーバの設定で別のポートを使用している場合がある。そんな時は「-P」オプションを利用してポートを指定すると良いだろう。Links5.転送を高速化する暗号化方式を指定する「-c」オプション、通信を圧縮させる「-C」オプションを利用して、より少ないトラフィック量で通信をさせる事も出来る。ユーザ名@ホスト名:/コピー元ファイルこの辺りについては、以下のブログが詳しく記述している。はてなダイアリー6.転送速度を制限する「-l」オプションを付与することで、scpに帯域制限をかける事も出来る。ユーザ名@ホスト名:/コピー元ファイル7.踏み台を経由して転送を行うsshコマンドと同様に、「ProxyCommand」を付与することで踏み台サーバを経由して転送を行わせる事も出来る。(踏み台サーバには、ncコマンドもしくは比較的新しいSSHコマンドがインストールされている必要がある。ローカルとリモートそれぞれに入っていないと利用することが出来ない。そんなときは、scpコマンドをインストールするか、もしくはsshコマンドでscp相当の処理を行う事で対処する。単純な、ファイル1個を転送する場合は、以下のようにcatもしくはddと組み合わせる事で転送を行う。コピー先PATHディレクトリごと転送する場合は、tarと組み合わせて対処すると良いだろう。blacknonインフラエンジニア(...のつもり)。仕事で使うならクライアントはWindowsよりはUNIXの方が好き。Replyはじめまして。PHP初心者で教材を使って勉強しており、こちらの記事がとても参考になりました。ありがとうございました。他の記事でも勉強させていただきますね。更新、楽しみにしています。Commentコメントをキャンセルメールアドレスが公開されることはありません。