Untuk orang yang benar-benar menginginkan jawaban langsung untuk pertanyaan ini (alih-alih disuruh menggunakan sesuatu selain sftp)...
put -r local/path/to/directoryName
Direktori yang diunggah harus sudah ada di direktori kerja di server, jadi Anda mungkin perlu membuatnya terlebih dahulu.
mkdir directoryName
Di sini Anda dapat menemukan penjelasan rinci tentang cara menyalin direktori menggunakan scp
. Dalam kasus Anda, itu akan menjadi seperti:
$ scp -r foo [email protected]:/some/remote/directory/bar
Ini akan menyalin direktori "foo" dari host lokal ke direktori "bar" host jarak jauh. Di sini -r
adalah -menyalin seluruh direktori secara rekursif.
Anda juga dapat menggunakan rcp
dengan sintaks yang mirip. Satu-satunya perbedaan di antara mereka adalah scp
menggunakan secure shell dan rcp
menggunakan shell jarak jauh.
BTW Kesalahan "Tidak dapat dikanonikalisasi" yang Anda sebutkan muncul saat server sftp tidak dapat mengakses file/direktori yang disebutkan dalam perintah.
PEMBARUAN :Untuk pengguna yang ingin menggunakan put
khususnya, silakan lihat jawaban Ben Thielker di sini.
sftp> mkdir source
sftp> put -r source
Uploading source/ to /home/myself/source
Entering source/
source/file1
source/file2