Oto co robię, gdy loguję się na FTP:
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
Chciałbym wykonać jednoliniowe polecenie FTP ...
ftp user:password@server -command "echo HELLO WORLD"
lub
"echo HELLO WORLD" | ftp user:password@server
Coś podobnego ... w ramach skryptu, który próbuję stworzyć. Nic się nie przenosi, muszę tylko powtórzyć kilka instrukcji i jest to najłatwiejszy sposób, w jaki udało mi się to zrobić między dwoma moimi systemami.
10.10
command-line
ftp
pipe
WernerCD
źródło
źródło
nick@AccessDenied:~$ ftp ftp> echo "hi" ?Invalid command ftp>
ftp
nie maecho
polecenia.lftp
robi, ale jest to czysto lokalne, więc nie rozumiem, dlaczego sam chciałbyś to zrobić ....Odpowiedzi:
To naprawdę jest więcej pracy dla SSH (jak zauważyli inni), ale jeśli jesteś zdeterminowany, aby użyć ftp, spróbuj lftp . Jest dostępny za darmo dla wszystkich obecnie obsługiwanych wersji Ubuntu. Możesz zainstalować go za pomocą polecenia
sudo apt install lftp
lftp dokumentuje
-c
przełącznik, który uruchamia polecenie, a następnie kończy pracę, ale wydaje się, że jest uszkodzony w większości dystrybucji.-e
utrzyma łączność, chyba że wydaszquit
.źródło
-c
działa dobrze dla mnie na Ubuntu.~/.netrc
i upewnienie się, że jest to tryb0600
. FTP może negocjować hasła nietekstowe w sieci.Znalazłem ten wątek, gdy szukałem sposobu, aby pojedyncze polecenie ftp wykonało transfer plików z tego komputera na serwer ftp. Oto jak:
Utwórz plik z poleceniami ftp: (nazwij go „ftpcommands.txt”)
Następnie uruchom polecenie ftp i umieść w nim plik:
Opcja -n powstrzymuje ftp od próby automatycznego zalogowania się po otrzymaniu polecenia „otwórz”.
Mam nadzieję, że to komuś pomaga. Nie mogłem znaleźć w Internecie niczego, co byłoby takim rozwiązaniem, więc sam musiałem to wymyślić.
źródło
Nie można używać FTP do zdalnego wykonywania poleceń. To skrót od File Transfer Protocol. Tak naprawdę potrzebujesz SSH.
Wszystko, co musisz zrobić, to zainstalować pakiet
ssh
na obu komputerach, a następnie postępować zgodnie z tym przewodnikiem, aby skonfigurować logowanie bez hasła.A teraz jak to nazwać:
ssh username@host echo "Hello World\!"
Na przykład to ja robię to dla siebie:
źródło
Uzupełniając odpowiedź @charlesbridge, dołącz do swojego pliku ~ / .bashrc:
Źródło pliku:
Teraz użyj aliasu „twoja witryna”, aby zalogować się i wykonać dowolną liczbę poleceń.
źródło
Zainstaluj busybox za pomocą:
busybox może pracować zarówno w systemie Linux, jak i na systemie osadzonym, a następnie używać ftpget i ftpput
źródło