 
          Introduction
Une interface graphique pour réaliser des transferts de fichiers avec le protocole FTP (File Transfer Protocol) n’est pas toujours disponible notamment sous Unix. Les principales commandes utiles FTP sont récapitulées ici. Dans cette documentation mclocale et mcdistante représentent respectivement la machine locale et la machine distante. 
 
          Ouverture et fermeture de sessions ftp
Une session ftp vers la machine distante mcdistante est déclenchée en lançant l’exécutable ftp sur la machine locale. Dans une invite de commandes DOS ou un terminal Unix/Linux :
%> ftp <hôte distant>%> ftp mcdistanteUtilisateur (mcdistante) : sqlpac 331 User sqlpac OK. Password required Mot de passe :******* 230-User sqlpac has group access to: users 230 OK. Current restricted directory is /
Dès l’ouverture de la session ftp, le compte et son mot de passe doivent être saisis.
Pour ouvrir une session ftp vers une machine différente sans quitter l’exécutable ftp, utiliser la commande open. 
ftp> open <hôte distant>En cas d’erreur de saisie de mot de passe, utiliser la commande user pour s’authentifier à nouveau :
ftp> user sqlpac331 User sqlpac OK. Password required Mot de passe :*******
La commande close ferme une session ftp sans quitter l’exécutable ftp.
ftp> close221-Goodbye. You uploaded 0 and downloaded 0 kbytes. 221 Logout.
La commande quit ferme une session ftp active et quitte l’exécutable ftp.
ftp> quitNavigation et opérations sur les machines
Navigation et opérations sur la machine locale
La commande lcd se positionne dans un répertoire sur la machine locale.
ftp> lcd Nom_repertoireExemples :
ftp> lcd D:/www/tmpDossier local maintenant D:\www\tmp.
ftp> lcd /home/sybaseLa commande ! lance un exécutable sur la machine locale
ftp> ! exeLa commande lls liste le contenu d’un répertoire sur la machine locale, toutefois cette commande n’est disponible que si la machine locale est "Unix-Like".
ftp> lls [repertoire]Navigation et opérations sur la machine distante
Navigation sur la machine distante
La commande cd navigue dans les dossiers sur la machine distante.
ftp> cd nom_repertoireftp> cd /www250 OK. Current directory is /www
Les commandes dir et ls listent le contenu d’un répertoire sur la machine distante. La commande dir est plus verbeuse.
ftp> ls [nom_repertoire]
ftp> dir [nom_repertoire]ftp> ls /www. .. config css images 226 3 matches totalftp> dir /wwwdrwx---r-x 3 104780 users 10 Jul 24 21:44 config drwx---r-x 5 104780 users 5 Apr 3 2010 css drwx---r-x 4 104780 users 4 Mar 14 2009 images 226 3 matches total
La commande pwd affiche le répertoire courant dans lequel on se trouve sur la machine distante. À consommer sans modération pour éviter des erreurs de manipulation, surtout dans des contextes de suppression de fichiers.
ftp> pwd257 "/www" is your current location
Suppression de fichiers sur la machine distante
La commande delete supprime un ou plusieurs fichiers sur la machine distante.
ftp> delete fichier1 [fichier2...]ftp> delete session.txt250 Deleted session.txt
Création et suppression de répertoires sur la machine distante
Pour supprimer un répertoire sur la machine distante, utiliser la commande rmdir.
ftp> rmdir nom_repertoireftp> rmdir sqlpac250 The directory was successfully removed
 Pour créer un répertoire sur la machine distante, la commande classique mkdir est disponible avec ftp.
ftp> mkdir nom_repertoireftp> mkdir sqlpac257 "sqlpac" : The directory was successfully created
Transferts de fichiers
Modes de transferts de fichiers
Le mode de transferts des fichiers est très important selon qu’il s’agit de fichiers binaires (exécutables, librairies, etc.) ou de simples fichiers ascii. Ainsi lors du transfert d’un exécutable, il est impératif de s’assurer que le mode de transfert approprié (binary) est actif. Deux modes de transferts de fichiers sont disponibles avec ftp :
- ascii
- binary
La commande type affiche le mode de transfert courant.
ftp> typeUtilisation du mode ascii pour transférer les fichiers.
Pour passer en mode binary :
ftp> binary200 TYPE is now 8-bit binary
Pour passer en mode ascii :
ftp> ascii200 TYPE is now ASCII
Réception de fichiers
Les commandes get et mget permettent respectivement de rapatrier sur la machine locale un ou plusieurs fichiers depuis la machine distante.
La commande get
Pour récupérer un fichier :
ftp> get nom_fichierPour récupérer un fichier avec renommage :
ftp> get nom_fichier nouveau_nom_fichierLa commande mget
Pour récupérer plusieurs fichiers :
ftp> mget fichier1 fichier2...Il est possible d’utiliser les syntaxes tels que *.txt, *.*, etc.
Exemples :
ftp> mget *.* ftp> mget *.sql226-File successfully transferred 226 0.011 seconds (measured here), 0.80 Mbytes per second ftp : 9432 octets reçus en 0.03 secondes à 314.40 Ko/s.
Par défaut, lors de la réception de plusieurs fichiers, ftp demande une confirmation :
ftp> mget *.sql200 TYPE is now ASCII mget sybase-ase-mda-sp_dba_getwe.12.5.sql? y
Pour empêcher cette demande de confirmation, aussi appelée mode interactif utiliser la commande prompt on | off. Exemple : récupération des fichiers *.sql sans demande de confirmation.
ftp> prompt off ftp> mget *.sqlMode interactif désactivé. ftp : 7165 octets reçus en 0.00 secondes à 7165000.00 Ko/s.
Envoi de fichiers
Les commandes put et mput permettent respectivement d’envoyer de la machine locale vers la machine distante un ou plusieurs fichiers.
La commande put
Pour envoyer un fichier :
ftp> put nom_fichierPour envoyer un fichier avec renommage :
ftp> put nom_fichier nouveau_nom_fichierLa commande mput
Pour envoyer plusieurs fichiers
ftp> mput fichier1 fichier2...Comme pour la commande mget, il est possible d’utiliser les syntaxes tels que *.txt, *.*, etc. Exemples :
ftp> mput *.* ftp> mput *.sql226-File successfully transferred 226 0.221 seconds (measured here), 30.33 Kbytes per second ftp : 7165 octets envoyés en 0.17 secondes à 43.16 Ko/s.
Par défaut, comme pour la commande mget, lors de l’envoi de plusieurs fichiers ftp demande une confirmation pour chaque fichier. Pour supprimer le mode interactif, utiliser la commande prompt on | off. Exemple : envoi des fichiers *.sql sans demande de confirmation.
ftp> prompt off ftp> mput *.sqlMode interactif désactivé. 226-File successfully transferred 226 0.213 seconds (measured here), 31.39 Kbytes per second ftp : 7165 octets envoyés en 0.16 secondes à 43.96 Ko/s.
Aides sur les commandes FTP
Pour obtenir de l’aide sur les commandes ftp :
ftp> ?
ftp> helpPour obtenir de l’aide sur une commande ftp en particulier :
ftp> ? commande
ftp> help commande