54

私は試しput -r directory/*ましたが、ファイルのみをアップロードし、フォルダはアップロードしませんでした。私にエラーを与えました、できませんCouldn't canonicalise

どんな助けでも大歓迎です。

4

5 に答える 5

225

(sftp以外のものを使用するように言われる代わりに)この質問への直接の答えを実際に望んでいる人々のために...

put -r local/path/to/directoryName

アップロードされたディレクトリはサーバーの作業ディレクトリにすでに存在している必要があるため、最初に作成する必要がある場合があります。

mkdir directoryName
于 2014-01-10T20:55:54.773 に答える
28

ここでは、を使用してディレクトリをコピーする方法として詳細な説明を見つけることができますscp。あなたの場合、それは次のようになります:

$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar

これにより、ディレクトリ「foo」がローカルホストからリモートホストのディレクトリ「bar」にコピーされます。これが-ディレクトリ全体を再帰-r的にコピーすることです。

rcp同様の構文で使用することもできます。それらの唯一の違いは、scpセキュアシェルを使用することとrcpリモートシェルを使用することです。

ところで、あなたが言及した「正規化できませんでした」エラーは、sftpサーバーがコマンドで言及されたファイル/ディレクトリにアクセスできない場合に表示されます。

更新:具体的に使用したいユーザーはput、こちらのBenThielkerの回答を参照してください。

于 2012-04-10T10:06:28.417 に答える
5
sftp> mkdir source
sftp> put -r source
 Uploading source/ to /home/myself/source
 Entering source/
 source/file1
 source/file2

ここに画像の説明を入力してください

于 2017-05-26T09:00:04.270 に答える
0

sftpの使用に問題がある場合は、centosにncftpを使用できます。

yum install ncftp

ディレクトリ全体を再帰的にコピーするには

ncftpput -R -v -u username -P 21 ftp.server.dev /remote-path/ /localdirectory
于 2019-10-23T13:54:32.707 に答える
-11

scp代わりに使用してください。SSHも使用しており、再帰を簡単に処理できます。

于 2012-04-10T08:06:36.580 に答える