私は試しput -r directory/*
ましたが、ファイルのみをアップロードし、フォルダはアップロードしませんでした。私にエラーを与えました、できませんCouldn't canonicalise
。
どんな助けでも大歓迎です。
(sftp以外のものを使用するように言われる代わりに)この質問への直接の答えを実際に望んでいる人々のために...
put -r local/path/to/directoryName
アップロードされたディレクトリはサーバーの作業ディレクトリにすでに存在している必要があるため、最初に作成する必要がある場合があります。
mkdir directoryName
ここでは、を使用してディレクトリをコピーする方法として詳細な説明を見つけることができますscp
。あなたの場合、それは次のようになります:
$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar
これにより、ディレクトリ「foo」がローカルホストからリモートホストのディレクトリ「bar」にコピーされます。これが-ディレクトリ全体を再帰-r
的にコピーすることです。
rcp
同様の構文で使用することもできます。それらの唯一の違いは、scp
セキュアシェルを使用することとrcp
リモートシェルを使用することです。
ところで、あなたが言及した「正規化できませんでした」エラーは、sftpサーバーがコマンドで言及されたファイル/ディレクトリにアクセスできない場合に表示されます。
更新:具体的に使用したいユーザーはput
、こちらのBenThielkerの回答を参照してください。
sftpの使用に問題がある場合は、centosにncftpを使用できます。
yum install ncftp
ディレクトリ全体を再帰的にコピーするには
ncftpput -R -v -u username -P 21 ftp.server.dev /remote-path/ /localdirectory
scp
代わりに使用してください。SSHも使用しており、再帰を簡単に処理できます。