Wie kann ich eine Verbindung zum FTP-Server im Terminal herstellen?


14

Wie kann ich eine Verbindung zum FTP-Server im Terminal herstellen? Was ist der Befehl? Zum Beispiel für den SSH-Server:

ssh admin@ip.of.the.site

Antworten:


22
ftp hostname

oder

ftp://username:password@hostname

Sobald die Verbindung hergestellt ist, sind die 5 häufigsten Optionen:

cd foldername      #e.g. cd /downloads/recent
get filename       #e.g. get thisisthefileiwant.text
put filename       #e.g. put sendthistotheserver.txt
mget filenameregex #e.g mget * to get every file in a directory
mput filemameregex #e.g. mput *.txt to upload every txt file to the server

Der einzige Trick ist, dass Sie es manchmal in den Binärmodus versetzen müssen, indem Sie Binär eingeben

Geben Sie zum Beenden bye ein

Der Unterschied zwischen meiner und der Lösung von @grgarside besteht darin, dass er sie mit open an den Finder weiterleitet, während meine Terminal verwendet


Wo hat es die Datei heruntergeladen, wenn wir den getBefehl verwenden?
Omer

@Omer Es wird an die Stelle heruntergeladen, an der der Befehl aufgerufen wird. Von dort aus wird die CD im Allgemeinen an die Stelle verschoben, an der Sie sie zuerst ablegen möchten. Es gibt auch einen Befehl lcd, der möglicherweise funktioniert ... lcd ändert den Pfad des lokalen Verzeichnisses gegenüber cd, der das entfernte Verzeichnis ändert. lcd ist abhängig von der ftp-version manchmal flakey, daher ist es am besten, zuerst dorthin zu cd, wo es dir gefällt, und dann ftp
David Fass

Danke ... kann ich einen ganzen Ordner von lokal auf remote legen?
Omer

@Omer Ja, und nein. Sie müssen eine mkdir-CD in das Verzeichnis erstellen, dann ist mput * - ftp auf diese Weise begrenzt. Sehen Sie sich die zugehörigen Fragen mit curl an (und zitieren Sie mich vielleicht, aber zitieren Sie mich nicht darauf), wenn Sie dies in einem Schritt tun möchten. Hinweis: mput * versucht, jede Datei im Verzeichnis zu verschieben. Wenn Sie selektiver vorgehen möchten, können Sie * .suffix oder einen Dateinamen ausführen
David Fass

Wenn Sie versuchen möchten, viele Dateien zu übertragen, stellen Sie die Optionen so ein, dass Sie nicht jede Übertragung bestätigen müssen
David Fass


3
ftp
open ftp://username:password@hostname

Dies sind zwei separate Befehle. Der Befehl open wird innerhalb von ftp ausgeführt.


2
Benutzer = Name eines Benutzers von cp, Passwort = passwd dieses Benutzers und Hostname = IP-Adresse des Computers, mit dem ich eine Verbindung herstellen möchte?
Blackcornail

@ Blackcornail Ja, das ist wahr
grg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.