2016-09-12 7 views
1

私はbashコマンドを使い慣れていて、何か問題があります。私は私の仕事ファイルのいくつかを含むLinuxの箱にssh'ingです。私はサーバーにコピーする必要がある私のMac上のローカルファイルを持っています。ローカルファイルをMacから端末のsshセッションにコピーする

ここで私はこれまで経てきた手順は次のとおりです。 1)SSH [email protected] 2)入力したパスワード 3)PWD 4)作業ディレクトリ:ホーム/ USRNAME

私はこの後にはまった。私は私のMacのドキュメントにローカルフォルダを持っています。あなたが前に座っているかのように私は "にssh'ed mは、サーバー上で自分の作業ディレクトリにコピーします。

はあなたの助けに感謝。おかげ

+4

代わりに 'scp'を使用してください。 –

+0

これはプログラミングに関する質問ではありません。 SuperUser.comはテクニカルサポートに関するより良い場所です。 – Barmar

答えて

6

あなたがリモートマシンにSSH、それはですあなたはその状態にいる間にファイルをコピーすることはできません。その代わりに、別のツールscpを使用する必要があります。これはsshファミリーに属し、実際には呼び出します舞台裏sshこれは、あなたがリモートマシンにローカルディレクトリをコピーする方法です。

scp -rp /path/to/local/dir [email protected]:/path/to/remote/dir 

私はディレクトリを再帰的にコピーするには、-rモード(再帰的を意味します)を使用しました。あなたはこのためsftpの代わりsshを使用したいと思うでしょう詳細

0

にもmanual of scpを参照してください。次のことを試してみてください。

  1. sftp [email protected]
  2. はパスワード
  3. cd <directory where you want to transfer the file>
  4. put <name of file you want to transfer>

を入力します。また、あなたがローカルであることをしたいということを示すために、いくつかのコマンドの前に 'L' を追加することができます。すなわち、lsはリモートサーバーにファイルを表示し、llsはローカルマシンにファイルを表示します。

EDIT:あなたは必ずどちらか

ことを確認したくなるでしょう

。 sftpプロセスを開始する前に、転送するファイルが入っているフォルダに移動します。

b。 sftpセッション中に転送したいファイルを含むローカルフォルダに移動したら、lcdllsを使用してください。

コメントに記載されているとおり、転送するファイルへのフルパスを使用すると機能しません。

+0

転送したいローカルマシンにファイルのフルパスを入れたときにそのようなファイルやディレクトリがないというメッセージが表示されます – ixbo45

+0

良い点。私はちょうどそれを試したとフルパスを使用して動作しませんが表示されます。正しいフォルダに入っていることを確認するには、 'lcd'と 'lls'を使います。それを含めるように私の答えを変えます。ありがとうixbo45。 –

関連する問題