Für Leute, die tatsächlich eine direkte Antwort auf diese Frage wollen (anstatt gesagt zu bekommen, etwas anderes als sftp zu verwenden)...
put -r local/path/to/directoryName
Das hochgeladene Verzeichnis muss bereits im Arbeitsverzeichnis auf dem Server vorhanden sein, daher müssen Sie es möglicherweise zuerst erstellen.
mkdir directoryName
Hier finden Sie eine ausführliche Erklärung, wie Sie ein Verzeichnis mit scp
kopieren . In Ihrem Fall wäre es so etwas wie:
$ scp -r foo [email protected]:/some/remote/directory/bar
Dadurch wird das Verzeichnis "foo" vom lokalen Host in das Verzeichnis "bar" eines entfernten Hosts kopiert. Hier -r
ist -komplette Verzeichnisse rekursiv kopieren.
Sie können auch rcp
verwenden mit ähnlicher Syntax. Der einzige Unterschied zwischen ihnen ist, dass scp
verwendet Secure Shell und rcp
verwendet Remote-Shell.
Übrigens Der von Ihnen erwähnte Fehler „Konnte nicht kanonisiert werden“ wird angezeigt, wenn der sftp-Server nicht auf die im Befehl genannte Datei/das Verzeichnis zugreifen kann.
AKTUALISIEREN :Für Benutzer, die put
verwenden möchten Bitte beziehen Sie sich insbesondere auf die Antwort von Ben Thielker hier.
sftp> mkdir source
sftp> put -r source
Uploading source/ to /home/myself/source
Entering source/
source/file1
source/file2