私はput -r directory/*
を試しましたが、これはファイルだけをアップロードし、フォルダはアップロードしませんでした。私にエラーを与えた、Couldn't canonicalise
できません。linux上でsftpを使って、フォルダ全体をアップロードするにはどうしたらいいですか?
ご協力いただければ幸いです。
私はput -r directory/*
を試しましたが、これはファイルだけをアップロードし、フォルダはアップロードしませんでした。私にエラーを与えた、Couldn't canonicalise
できません。linux上でsftpを使って、フォルダ全体をアップロードするにはどうしたらいいですか?
ご協力いただければ幸いです。
Herescp
を使用してディレクトリをコピーする方法について詳しく説明しています。これは、リモートホストのディレクトリ「バー」にローカルホストからディレクトリ「foo」をコピーします
$ scp -r foo [email protected]:/some/remote/directory/bar
:あなたのケースでは、それはようなものになるだろう。 -r
は、ディレクトリ全体を再帰的にコピーします。
同様の構文でrcp
を使用することもできます。それらの唯一の違いは、scp
がセキュアシェルを使用し、rcp
がリモートシェルを使用することです。
BTW sftpサーバがコマンドに記載されているファイル/ディレクトリにアクセスできない場合は、「カノニカル化できませんでした」というエラーが表示されます。
更新:put
を具体的に使用したいユーザーは、Ben Thielkerの回答を参照してください。
ターゲットがSSTPのみでSFTPをサポートしている場合、これは機能しません。 – Teekin
代わりにscp
を使用してください。 SSHも使用されており、簡単に再帰を処理できます。
「scp」確かに優れていますが、すべての 'sftp'サーバが' scp'接続をサポートしているわけではないので、 'sftp'自体が時々必要です。 –
現時点では、私はsftpをサポートしていてもscpをサポートしていないC++コードベースにいるので、これは私にとってはうまくいきません。 scpは必ずしも答えではありません。 – PThomasCS
...
put -r local/path/to/directoryName
アップロードディレクトリはすでに、サーバ上の作業ディレクトリに存在している必要があります最初に作成する必要があるかもしれません。
mkdir directoryName
これは受け入れられる回答である必要があります。 –
put -r somefileを実行しようとすると「無効なフラグ-r」が表示されます –
ありがとうございます。 – Nightwolf
スラッシュとアスタリスクなし "ディレクトリを置く" 試してみてください。 –
https://stackoverflow.com/questions/10084941/how-can-i-upload-an-entire-folder-that-contains-other-folders-using-sftp-on-li/44197588#44197588 –