scpコマンドを使ってローカルファイルをリモートに転送する、またはその逆にリモートにあるファイルをローカルに落とす方法を書きます。
なぜscpコマンドを使わなければいけないか?
scpコマンドを使わなくてもGUIでドラッグ&ドロップして、ファイルを転送することはできます。
しかし、.git
などの隠しファイルはscpファイルを使ってでしか転送することはできません。
(隠しファイルが入ったディレクトリごとドラッグ&ドロップしても移動してくれない。)
例えばcakePHPとかをダウンロードした後に、ドラック&ドロップで丸ごとサーバーにあげても、.htaccess
などのファイルが移動してくれないので、サーバー上でうまく動きません。
ローカル→リモート
scp -P <ポート番号> <ローカルのパス> <ユーザ名@リモートのホスト名>:<リモートのパス>
ファイルを移動させる時は以上のコマンドでも大丈夫ですが、ディレクトリごと移動させたい時は、ポート番号の後に、オプション-r
をつけてください。
<ユーザ名@リモートのホスト名>のところがわかりにくいと思いますが、リモートにssh接続ができているなら、ssh XXXX@YYYY
の部分をコピペすれば大丈夫だと思います。ポート番号もssh接続する時のものを使えば通るかと・・
リモート→ローカル
scp -P <ポート番号> <ユーザ名@リモートのホスト名>:<リモートのパス> <ローカルのパス>
これは単純にローカルとリモートの順番を逆にするだけです。
注意
ローカル→リモート、リモート→ローカルどちらの場合もコマンド入力はローカルでするようにしましょう。