Inilah yang saya lakukan ketika saya masuk ke FTP:
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
Saya ingin melakukan perintah FTP satu baris ...
ftp user:password@server -command "echo HELLO WORLD"
atau
"echo HELLO WORLD" | ftp user:password@server
Sesuatu yang mirip ... sebagai bagian dari skrip yang saya coba buat. Tidak ada yang ditransfer, saya hanya perlu mengulangi beberapa instruksi dan ini adalah cara termudah yang saya temukan untuk melakukannya di antara dua sistem saya.
10.10
command-line
ftp
pipe
WernerCD
sumber
sumber
nick@AccessDenied:~$ ftp ftp> echo "hi" ?Invalid command ftp>
ftp
tidak memilikiecho
perintah.lftp
tidak, tapi ini murni lokal, jadi saya tidak melihat mengapa Anda ingin melakukan itu sendiri ....Jawaban:
Itu benar-benar lebih merupakan pekerjaan untuk SSH (seperti yang ditunjukkan orang lain), tetapi jika Anda bertekad untuk menggunakan ftp, coba lftp . Ini tersedia secara bebas untuk semua versi Ubuntu yang saat ini didukung. Anda dapat menginstalnya dengan perintah
sudo apt install lftp
lftp mendokumentasikan
-c
saklar yang menjalankan perintah dan kemudian berhenti, tetapi tampaknya rusak di sebagian besar distribusi.-e
akan membuat Anda tetap terhubung kecuali Anda mengeluarkan aquit
.sumber
-c
tidak berfungsi dengan baik untuk saya di Ubuntu.~/.netrc
dan memastikan bahwa itu mode0600
. FTP dapat menegosiasikan kata sandi non-teks biasa pada kabel.Saya menemukan utas ini ketika saya sedang mencari cara untuk memiliki perintah ftp tunggal melakukan transfer file dari mesin ini ke server ftp. Begini caranya:
Buat file dengan perintah ftp di dalamnya: (sebut saja 'ftpcommands.txt')
Kemudian jalankan perintah ftp dan berikan file ke dalamnya:
Opsi -n mencegah ftp dari mencoba masuk secara otomatis ketika ia menerima Anda perintah 'terbuka'.
Semoga itu membantu seseorang. Saya tidak dapat menemukan apa pun secara online yang merupakan solusi ini, jadi saya harus mencari tahu sendiri.
sumber
Anda tidak dapat menggunakan FTP untuk menjalankan perintah dari jarak jauh. Itu adalah singkatan dari File Transfer Protocol. Apa yang sebenarnya Anda butuhkan adalah SSH.
Yang perlu Anda lakukan adalah menginstal paket
ssh
pada kedua mesin dan kemudian ikuti panduan ini untuk mengatur login tanpa kata sandi.Dan sekarang bagaimana menyebutnya:
ssh username@host echo "Hello World\!"
Misalnya, ini yang saya lakukan untuk diri saya sendiri:
sumber
Melengkapi jawaban @charlesbridge, sertakan dalam file ~ / .bashrc Anda sebagai berikut:
Sumber file:
Sekarang gunakan alias "situs Anda" untuk masuk dan menjalankan perintah sebanyak yang Anda inginkan.
sumber
Instal busybox menggunakan:
busybox dapat bekerja di Linux atau sistem embeded keduanya, kemudian gunakan ftpget dan ftpput
sumber