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
Blackcornail
quelle

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

David Fass
quelle
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
4

Ich weiß, dass dieses Thema ziemlich alt ist, aber ich habe es versehentlich gefunden und vielleicht wird auch jemand anderes diese Seite besuchen. Der Befehl ftp funktioniert nicht mehr für High Sierra und höher. https://discussions.apple.com/thread/8095899

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

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

grg
quelle
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