Ist es möglich, Dateien per FTP und Terminal von einem lokalen Rechner auf einen Server zu übertragen? Kann ich beispielsweise lokal mit vim eine Datei erstellen, meinen Code schreiben, speichern und dann auf einen Server übertragen, ohne etwas wie Transmit, Filezilla oder Forklift zu verwenden?
Antwort1
Das geht sogar innerhalb von Vim!netzwDas Plugin wird mitgeliefert und ist standardmäßig aktiviert. Eine Möglichkeit, auf Remotedateien zuzugreifen, besteht darin, der Dateispezifikation das Protokoll voranzustellen, wie folgt:
:w ftp://hostname/path/to/file
Weitere Informationen hierzu finden Sie unter :help pi_netrw
. Natürlich benötigen Sie weiterhin einen FTP-Client (SSH, ...) auf Ihrem System und müssen auch die Anmeldeinformationen angeben, sodass alles in der Antwort von @Gytis weiterhin gilt.
Antwort2
Vorausgesetzt, dass FTP auf Ihrem Server aktiviert ist, können Sie eine einfache TCP/IP-FTP-Verbindung verwenden. Interaktiv ftp username@server
sollte etwas wie funktionieren. user username
Sobald die Verbindung hergestellt ist, können Sie sich mit einem bestimmten Benutzer anmelden, falls anonyme Verbindungen nicht erlaubt sind oder Ihnen die Berechtigungen fehlen. cd
, ls
und put
wären nach der Anmeldung Ihre grundlegenden Befehle zum Hochladen von Dateien. Die Manpages enthalten viele weitere Informationen zu den fortgeschritteneren Befehlen und Einstellungen. Wenn SSH auf Ihrem lokalen Computer und Server funktioniert, können Sie SFTP verwenden. Die Befehle sind weitgehend gleich und würden in etwa wie sftp user@server
und lauten put filename
. Sie sollten cd
das Verzeichnis vor dem Einfügen der Datei korrigieren. Sicheres Kopieren würde auch funktionieren, wenn Ihr Zielserver *nix-basiert ist, d. h. scp /file/to/move/file.txt username@server:/path/to/destination
. Scp hat die Option -i, um Ihren SSH-Schlüssel anzugeben, wenn Sie sich auf diese Weise mit dem Server verbinden.