Per le persone che vogliono davvero una risposta diretta a questa domanda (invece di sentirsi dire di usare qualcosa di diverso da sftp)...
put -r local/path/to/directoryName
La directory caricata deve già esistere nella directory di lavoro sul server, quindi potrebbe essere necessario crearla prima.
mkdir directoryName
Qui puoi trovare una spiegazione dettagliata su come copiare una directory usando scp
. Nel tuo caso, sarebbe qualcosa del tipo:
$ scp -r foo [email protected]:/some/remote/directory/bar
Questo copierà la directory "foo" dall'host locale alla directory "bar" di un host remoto.Qui -r
is -copia ricorsivamente intere directory.
Puoi anche usare rcp
con sintassi simile. L'unica differenza tra loro è che scp
usa secure shell e rcp
usa la shell remota.
A proposito L'errore "Impossibile canonicalizzare" che hai citato appare quando il server sftp non è in grado di accedere al file/directory indicato nel comando.
AGGIORNA :Per gli utenti che desiderano utilizzare put
in particolare, fai riferimento alla risposta di Ben Thielker qui.
sftp> mkdir source
sftp> put -r source
Uploading source/ to /home/myself/source
Entering source/
source/file1
source/file2