Pour les personnes qui veulent réellement une réponse directe à cette question (au lieu de se faire dire d'utiliser autre chose que sftp)...
put -r local/path/to/directoryName
Le répertoire téléchargé doit déjà exister dans le répertoire de travail sur le serveur, vous devrez donc peut-être d'abord le créer.
mkdir directoryName
Ici vous pouvez trouver des explications détaillées sur la façon de copier un répertoire en utilisant scp
. Dans votre cas, ce serait quelque chose comme :
$ scp -r foo [email protected]:/some/remote/directory/bar
Cela copiera le répertoire "foo" de l'hôte local vers le répertoire "bar" d'un hôte distant. Ici -r
est -copier récursivement des répertoires entiers.
Vous pouvez également utiliser rcp
avec une syntaxe similaire. La seule différence entre eux est que scp
utilise un shell sécurisé et rcp
utilise un shell distant.
BTW L'erreur "Impossible de canoniser" que vous avez mentionnée apparaît lorsque le serveur sftp ne parvient pas à accéder au fichier/répertoire mentionné dans la commande.
MISE À JOUR :Pour les utilisateurs qui souhaitent utiliser put
spécifiquement, veuillez vous référer à la réponse de Ben Thielker ici.
sftp> mkdir source
sftp> put -r source
Uploading source/ to /home/myself/source
Entering source/
source/file1
source/file2