Folgendes mache ich, wenn ich mich bei einem FTP anmelde:
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
Ich möchte einen einzeiligen FTP-Befehl ausführen ...
ftp user:password@server -command "echo HELLO WORLD"
oder
"echo HELLO WORLD" | ftp user:password@server
Ähnliches ... als Teil eines Skripts, das ich zu erstellen versuche. Es wird nichts übertragen, ich muss nur einige Anweisungen wiederholen, und dies ist der einfachste Weg, den ich gefunden habe, um dies zwischen zwei meiner Systeme zu tun.
10.10
command-line
ftp
pipe
WernerCD
quelle
quelle
nick@AccessDenied:~$ ftp ftp> echo "hi" ?Invalid command ftp>
ftp
hat keinenecho
Befehl.lftp
tut, aber es ist rein lokal, also verstehe ich nicht, warum Sie das von selbst tun möchten ...Antworten:
Das ist für SSH wirklich eher eine Aufgabe (wie andere bereits betont haben), aber wenn Sie entschlossen sind, ftp zu verwenden, versuchen Sie es mit lftp . Es ist frei verfügbar für alle derzeit unterstützten Versionen von Ubuntu. Sie können es mit dem Befehl installieren
sudo apt install lftp
lftp dokumentiert einen
-c
Switch, der den Befehl ausführt und dann beendet, der jedoch in den meisten Distributionen fehlerhaft zu sein scheint.-e
Damit bleiben Sie in Verbindung, es sei denn, Sie stellen einquit
.quelle
-c
funktioniert gut für mich auf Ubuntu.~/.netrc
und sicherzustellen, dass dies der Modus ist0600
. FTP kann Nicht-Klartext-Passwörter auf der Leitung aushandeln.Ich habe diesen Thread gefunden, als ich nach einer Möglichkeit gesucht habe, mit einem einzelnen FTP-Befehl eine Dateiübertragung von diesem Computer zum FTP-Server auszuführen. Hier ist, wie:
Erstellen Sie eine Datei mit den darin enthaltenen FTP-Befehlen: (nennen Sie sie 'ftpcommands.txt')
Führen Sie dann den Befehl ftp aus und geben Sie die Datei ein:
Die Option -n verhindert, dass FTP versucht, sich automatisch anzumelden, wenn Sie den Befehl 'open' erhalten.
Hoffe das hilft jemandem. Ich konnte nichts online finden, was diese Lösung war, also musste ich es selbst herausfinden.
quelle
Sie können FTP nicht für die Remote-Ausführung von Befehlen verwenden. Es steht für File Transfer Protocol. Was Sie tatsächlich brauchen, ist SSH.
Alles, was Sie tun müssen, ist, das Paket
ssh
auf beiden Computern zu installieren und dann diese Anleitung zu befolgen , um passwortlose Anmeldungen einzurichten.Und jetzt, wie man es nennt:
ssh username@host echo "Hello World\!"
Zum Beispiel tue ich es mir selbst an:
quelle
Ergänzen Sie die @ charlesbridge-Antwort, indem Sie Folgendes in Ihre ~ / .bashrc-Datei aufnehmen:
Quelle der Datei:
Verwenden Sie nun den Alias "yoursite", um sich anzumelden und so viele Befehle auszuführen, wie Sie möchten.
quelle
Installieren Sie die Busybox mit:
busybox kann sowohl unter Linux als auch unter einem eingebetteten System ausgeführt werden. Verwenden Sie dann ftpget und ftpput
quelle