[Linux] commande ftp à la sauce FreeBSD sous linux

bugmenot2@::1 bugmenot2@::1
Mer 23 Fév 18:56:27 CET 2011


On Tue, Feb 22, 2011 at 11:03:02PM +0100, Bernard Schoenacker wrote:
> 	je recherche simplement à télécharger une image iso knoppix
> 	en employant la syntaxe ftp à la mode FreeBSD en restant 
> 	sous linux ....
> 	qui à déjà réalisé ce genre de chose ?

Moi, à l'époque où les dinosaures règnaient sur terre, où Archie
jouait le rôle de Google et où *LE* protocole de transfert de
fichier était FTP. Mais ce n'est pas aussi simple que de passer une
URL en argument.

L'auto-fetch BSD (ftp -a ftp://ftp.foo.org/dir/file), c'est pour les
mangeurs de quiche et ça n'existe pas sur ftp en standard ;-)
Voici une methode "traditionnelle" pour scripter les transfert :

Note : je force le mode ftp passif dans tous les exemples.

----------------------------------------------------------------------
# la ligne vide avant "EOF" delimite la fin de la macro init
cat <<EOF >$HOME/.netrc
machine ftp.free.fr login anonymous password bs@::1 macdef init
passive
get /mirrors/download.linuxtag.org/knoppix/KNOPPIX_V6.4.4CD-2011-01-30-EN.iso KNOPPIX_V6.4.4CD-2011-01-30-EN.iso

EOF

ftp ftp.free.fr
----------------------------------------------------------------------

ou bien comme ça :

----------------------------------------------------------------------
echo >$HOME/.netrc "machine ftp.free.fr login anonymous password bs@::1"
ftp -p ftp.free.fr<<EOF
get /mirrors/download.linuxtag.org/knoppix/KNOPPIX_V6.4.4CD-2011-01-30-EN.iso KNOPPIX_V6.4.4CD-2011-01-30-EN.iso
EOF
----------------------------------------------------------------------

ou encore comme ça (sans dépendance au fichier .netrc) :

----------------------------------------------------------------------
ftp -np ftp.free.fr <<EOF
quote USER ftp
quote PASS bs@::1
get /mirrors/download.linuxtag.org/knoppix/KNOPPIX_V6.4.4CD-2011-01-30-EN.iso KNOPPIX_V6.4.4CD-2011-01-30-EN.iso
EOF
----------------------------------------------------------------------

En voyant cela, on est tenté d'utiliser curl ou wget...

-- 
J.

PS: croire au comportement "canonique" d'un programme unix est une
illusion


Plus d'informations sur la liste de diffusion linux