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 mcdistante
Utilisateur (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 sqlpac
331 User sqlpac OK. Password required Mot de passe :*******
La commande close
ferme une session ftp sans quitter l’exécutable ftp.
ftp> close
221-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> quit
Navigation 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_repertoire
Exemples :
ftp> lcd D:/www/tmp
Dossier local maintenant D:\www\tmp.
ftp> lcd /home/sybase
La commande !
lance un exécutable sur la machine locale
ftp> ! exe
La 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_repertoire
ftp> cd /www
250 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 total
ftp> dir /www
drwx---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> pwd
257 "/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.txt
250 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_repertoire
ftp> rmdir sqlpac
250 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_repertoire
ftp> mkdir sqlpac
257 "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> type
Utilisation du mode ascii pour transférer les fichiers.
Pour passer en mode binary
:
ftp> binary
200 TYPE is now 8-bit binary
Pour passer en mode ascii
:
ftp> ascii
200 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_fichier
Pour récupérer un fichier avec renommage :
ftp> get nom_fichier nouveau_nom_fichier
La 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 *.sql
226-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 *.sql
200 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 *.sql
Mode 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_fichier
Pour envoyer un fichier avec renommage :
ftp> put nom_fichier nouveau_nom_fichier
La 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 *.sql
226-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 *.sql
Mode 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> help
Pour obtenir de l’aide sur une commande ftp en particulier :
ftp> ? commande
ftp> help commande