Menghubungkan ke FTP melalui baris perintah Linux

4

Saya perlu mengunggah file melalui FTP dari baris perintah. Saya memiliki informasi ini: URL, nama pengguna, kata sandi, port, dan fakta bahwa saya seharusnya menggunakan mode pasif.

Bagaimana cara saya mengunggah file yang diberikan informasi ini?

Perhatikan bahwa saya harus melakukan ini dari skrip, jadi saya harus dapat memasukkan informasi ini secara otomatis.

skline
sumber
1
mulai membaca halaman manual ftp ?
NicM
2
ftpterjadi jangan menjadi satu klien FTP. Yang lain mungkin lebih cocok tergantung pada apa yang diinginkan pengguna. Menautkan tautan ke halaman manual tidak terlalu membantu.
Daniel Beck

Jawaban:

7

Ada banyak klien CLI (command line) di luar sana. Paling umum adalah sederhana ftp. Anda punya <host>, <port>, <username>, <pass>dan "mode pasif". Penggunaan ftpyang harus Anda lakukan:

ftp -p <host> <port>

-psaklar berarti "gunakan mode pasif". Kemudian Anda akan ditanya tentang nama pengguna dan kata sandi Anda. Setelah login berhasil (server memberi tahu Anda tentang itu), Anda dapat memberikan beberapa perintah. Ketik helpdan tekan "enter" untuk mendapatkan daftar perintah yang tersedia. Anda dapat menggunakan mis cd. ls, mkdirPerintah ftp untuk mengubah direktori yang berfungsi (pada server), daftar isinya dan membuat direktori baru. Jika sebelum menjalankan ftpAnda berada di direktori yang sama dengan file yang ingin Anda kirim, Anda dapat menggunakan putatau mputmemerintahkan untuk memulai transfer aktual. Perintah pertama mengirim satu file, banyak file kedua menggunakan globbing (mis. mput *pdfAkan mengirim semua file pdf dalam direktori saat ini). Untuk mendapatkan bantuan sederhana tentang perintah yang dapat Anda gunakan help <command>dari dalamftpaplikasi. Saya akan mengatakan itu cukup untuk pemula. Untuk sisanya gunakan man ftpatau info ftp. Untuk mengakhiri tipe sesi ftp bye. Ada cara lain untuk melakukan itu tetapi saya pikir ini hanya elegan :).

Sedangkan untuk klien lain, beberapa pilihan menarik ditunjukkan di sini, tetapi saya pribadi menggunakan lftp. Ini hanya solid, bagus, fleksibel dan mudah digunakan klien ftp. Jika Anda lebih suka pendekatan visual saat masih di bawah command line, Anda bisa menggunakan mcatau "Midnight Command". Ini adalah manajer file aplikasi umum yang menggunakan paradigma Norton Commander, tetapi dapat juga digunakan untuk mengakses server ftp.

thebodzio
sumber
3

Saya sangat merekomendasikan ncftp 's ncftpput . Ini sangat skrip dan berguna untuk hal semacam ini.

OneOfOne
sumber
2

Tidak masalah untuk yang ini. Ada banyak contoh di Gist . Buka saja situs itu dan cari "Script FTP".

Inilah yang saya temukan:

#!/bin/sh

HOST='some.ftp.server'
USER='myuser'
PASSWD='mypass'
FILE='myfile'

ftp -n $HOST <<END_SCRIPT
user ${USER} ${PASSWD}
cd /path/to/something
get $FILE
quit
END_SCRIPT

exit 0

Juga, Command Line Foo adalah situs bagus lainnya, di mana saya menemukan contoh luar biasa dari transfer file ftp-ish:

Create a file server, listening in port 7000:

while true; do nc -l 7000 | tar -xvf -; done

Then, at client side:

tar c myfile | nc localhost 7000 ##Send file myfile to server
tar c mydir | nc localhost 7000 ## Send directory mydir to server
Djangofan
sumber
Bagaimana mode pasif ditentukan? Ini penting untuk banyak situs FTP.
Peter Mortensen