Kopieren Sie die Datei auf SFTP in ein anderes Verzeichnis ohne hin -
Ich habe das versucht, aber natürlich funktioniert es nicht:
sftp> cp baz.txt foo/bar/
Invalid command.
Gibt es eine Möglichkeit, dies mit einer sftp
Verbindung zu tun?
Natürlich ist mir klar, dass dies trivial ist, wenn ich stattdessen eine Verbindung zu ssh
herstelle. Ich habe jedoch einen SFTP-Server, auf dem ich das nicht wirklich tun kann, da ssh
- ing mir ein anderes Startverzeichnis gibt und ich keine Macht über (oder sogar Kenntnis) der absoluten Pfade auf der Fernbedienung habe; Ich brauche alles, um relativ zum Startverzeichnis zu arbeiten, wenn ich verbinde dich mit sftp
.
4 answers
Ein Kern-SFTP-Protokoll unterstützt das Duplizieren einer Remote-Datei nicht.
There ' s draft of the copy-file
erweiterung des Protokolls, das jedoch nur von wenigen SFTP-Servern (z. B.ProFTPD/mod_sftp und Bitvise SFTP-Server) und wenigen SFTP-Clients (z. B.WinSCP) unterstützt wird.
Es wird definitiv nicht vom am weitesten verbreiteten OpenSSH SFTP-Server unterstützt. Noch durch OpenSSH SFTP Client (sftp
), dh es gibt keinen cp
Befehl oder einen anderen funktional gleichwertig.
Alternative (die Sie scheinen zu wissen und Ihnen nicht helfen):
- Wenn Sie SSH / Terminal-Zugriff auf den Server haben, verwenden Sie den Befehl shell
cp
. - Wenn Ihr SFTP-Server die Erweiterung
copy-file
unterstützt, verwenden Sie einen SFTP-Client, der sie ebenfalls unterstützt. - Andernfalls können Sie die Datei nur an einen lokalen temporären Speicherort herunterladen und ihre Kopie wieder in ein anderes/Ziel-Remote-Verzeichnis hochladen.
Einige SFTP-clients kann dies für Sie sogar transparent auf einmal tun (zB in WinSCP, siehe Duplizieren über lokale temporäre Kopie Option auf Duplizieren Dialog).
(ich bin der Autor von WinSCP)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-09-12 15:56:16
sftp
protokoll hat keine Befehle zum Kopieren von Dateien auf Remote-Server. Siehe manuelle Seite für sftp
zur Liste der verfügbaren Befehle.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-12 11:47:40
Es ist möglich, ich mache das die ganze Zeit mit dem Befehl scp über Terminal in mac.
Scp [Optionen] username1@source_host:directory1/filename1 username2@destination_host:directory2/filename2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-26 07:44:00
Sie können die FTP-Befehle wie
sftp> put baz.txt /foo/bar/baz.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-12 11:30:04