Introduction
Le protocol FTP permet le transfert de fichiers d'une machine locale (votre ordinateur) vers une machine distante (souvent votre hébergeur de page perso ou un serveur quelconque). La commande ftp du système Unix permet d'utiliser le protocol du même nom.
Une session FTP commence généralement par le transfert (sans cryptage) du login et mot de passe de
l'utilisateur. Le serveur ouvre deux sockets de transfert : une pour les commandes et une autre pour les
données (fichiers transférés).
Il existe des cas ou aucun mot de passe n'est nécessaire : pour les sites publiques pour le libre téléchargement.
Exemple typique de session ftp (ftp)
Voici maintenant la démarche à suivre pour faire du FTP sous Unix.
Il vous faut lancer le module FTP par la commande ftp , vous connecter à un serveur distant avec open , spécifier votre login avec user et votre mot de passe par pass .
Exemple :
ftp
open multimania.com
user cyberzoide
pass ********
Ou bien spécifier en paramètre à la commande ftp l'adresse du serveur distant qui vous demandera votre login et mot de passe.
Exemple : ftp ftp.multimania.com
Pour télécharger un fichier distant et le stocker sous un autre nom sur votre machine locale : get distant-file local-file . Pour télécharger simplement un fichier, pas besoin de spécifier un nouveau nom : get disant-file .
Même chose pour envoyer un fichier de votre machine local vers le serveur : put local-file distant-file . Pour l'envoyé simplement : put local-file .
Pour utiliser les méta-caractères dans les noms de fichiers, il faut utiliser les commandes mget et mput .
Exemples :
get index.phpl
get index.phpl index.bak
put photo3.jpg
put cv.pdf cvitae.pdf
put logo.gif images/logo.gif
mget *.wav
mput *.gif ../images
Attention il vous faut garder en mémoire le répertoire courant local en plus du répertoire courant distant. Affichez le répertoire courant par les commandes pwd ou cd . pour la machine distante et lcd . pour la machine locale.
Exemple réel de session :
$ ftp ftp.multimania.com
Connected to ftp.multimania.com.
220 hop.multimania.net FTP server ready.
Name (ftp.multimania.com:h-etie00): cyberzoide
331 Password required for cyberzoide.
Password:*******
230 Bienvenue sur le serveur ftp de MultiMania.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is current directory.
ftp> cd images
250 CWD command successful.
ftp> pwd
257 "/images" is current directory.
ftp> lcd .
Local directory now /home/h-etie00
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
.
..
aide.gif
awards.gif
cadre.gif
cyber.gif
space.gif
226 Transfer complete.
ftp> get aide.gif
200 PORT command successful.
150 Opening BINARY mode data connection for off.gif (44 bytes).
226 Transfer complete.
44 bytes received in 0.00 seconds (9.91 Kbytes/s)
ftp> mget a*.gif
mget aide.gif? y
200 PORT command successful.
150 Opening BINARY mode data connection for aide.gif (601 bytes).
226 Transfer complete.
601 bytes received in 0.03 seconds (17.52 Kbytes/s)
mget awards.gif? y
200 PORT command successful.
150 Opening BINARY mode data connection for awards.gif (601 bytes).
226 Transfer complete.
601 bytes received in 0.01 seconds (91.18 Kbytes/s)
ftp> disconnect
221 Goodbye.
ftp> bye
$
Résumé des commandes
Commande | Description |
open | Etablit une connection avec un serveur ftp.
open ftp.multimania.com |
user | Identifie le login.
user cyberzoide |
pass | Envoye le mot de passe.
pass ******** |
cd | Change de répertoire dans la machine distante.
cd data |
lcd | Change de répertoire dans la machine locale.
lcd unix/images |
mkdir | Crée un répertoire dans la machine distante.
mkdir doc |
rmdir | Supprime un répertoire dans la machine distante.
rm doc |
ascii | Sélectionne le mode de transfert Ascii (par défaut).
ascii |
bin | Sélectionne le mode de transfert binaire.
bin |
binary | Synonyme de bin .
binary |
image | Synonyme de bin .
image |
get | Télécharge un fichier de la machine distante vers la machine locale.
get unix.phpl ../unix.bak |
mget | Même chose que get mais interprète les méta-caractères.
mget *.gif |
recv | Synonyme de get .
|
reget | Equivalent de get mais ici le transfert est reprit à la fin du fichier, pratique pour reprendre un téléchargement précédemment interrompu.
|
newer | Equivalent à get mais télécharge le fichier seulement s'il est plus récent que celui sur la machine locale.
newer index.phpl |
put | Envoye un fichier de la machine locale vers la machine distante.
put index.phpl |
send | Synonyme de la commande put .
|
mput | Même chose que put mais interprète les méta-caractères.
mput *.php |
delete | Supprime un fichier de la machine distante.
delete emploi/cv.pdf |
mdelete | Même chose que delete mais interprète les méta-caractères.
mdelete images/*.jpg |
rename | Renomme un fichier distant.
rename tp6.c chess.c |
size | Affiche la taille d'un fichier distant.
size menu.jpg |
system | Affiche les informations sur le système d'exploitation du serveur distant.
system |
type | Active le type de transfet spécifié (ascii /binary ). Si aucun n'est passé en paramètre, affiche celui actif.
type binary |
verbose | Active le mode verbeux.
verbose |
bell | Active le signal sonor marquant la fin de tout transfert de fichiers.
bell |
help | Affiche l'aide de la commande ftp.
help |
ls | Affiche la liste des fichiers et répertoires distants.
ls |
pwd | Affiche le répertoire distant courant.
pwd |
idle | Modifie le temps de mort autorisé par le serveur distant (en secondes). Si aucun paramètre n'est passé, affiche la valeur précédemment active. Passé ce temps mort d'inactivité, le serveur distant met fin automatiquement à la connection.
idle 60 |
remotehelp | Affiche l'aide du serveur sur la commande passée en paramètre ou un message d'information si aucun paramètre n'est spécifié.
remotehelp recv |
status | Affiche l'état actuel de la commande ftp.
status |
quit | Met fin à la connection et quitte la commande ftp.
quit |
bye | Synonyme de quit .
bye |
close | Met fin à la connection ftp.
close |
disconnect | Synonyme de close .
disconnect |
|