[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Systèmes d'exploitation
> Windows
> MS-DOS
> Les bases du FTP sous MS-DOS
> Lecture du tutoriel
Les bases du FTP sous MS-DOS
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Ce tutoriel a pour but de vous présenter les
bases du FTP sous DOS. Cela peut être utile si vous vous retrouvez lâchés sur une machine ne disposant pas d'un client FTP graphique (comme l'excellent
Filezilla, site en anglais, logiciel disponible gratuitement en français).
À la fin de ce tuto, vous serez capables d'exécuter les actions les plus utiles : se connecter (utile, n'est-il pas

? ), afficher l'aide (

), lister un dossier, changer de dossier, récupérer un fichier, envoyer un fichier, se déconnecter, quitter le module FTP, (fermer l'invite de commande

?).
Et c'est parti, on démarre de Zér0 !
Avant tout chose, il est important de savoir quoi lancer pour accéder au module FTP. Nous devons lancer l'
invite de commande (
Command Prompt, pour les anglophones).
Vous avez
deux solutions :
- aller dans le menu démarrer, Tous les programmes, Accessoires, Invite de commande.
- ouvrir le menu démarrer, Exécuter... (ou les touches [Windows] + [R]) et taper cmd.
Et voilà, vous vous retrouvez avec votre magnifique
invite de commande prête à l'action et qui n'attend plus que vos ordres

!
Note pour ceux qui n'aiment pas les couleurs de base : utilisez la commande color attribut (où attribut est une combinaison de deux caractères allant de 0 à 9 et de A à F, sachant que le premier caractère sera la couleur de fond et le second la couleur de la police d'écriture).
Par exemple, pour faire Matrix, ça sera : color 02.
Vous obtiendrez des informations sur cette commande en tapant help color.
Maintenant, on va se connecter sur un serveur FTP distant.
Pour cela, deux options.
La méthode rapide
Premièrement, vous pouvez taper directement
ftp hote, où vous remplacerez `
hote` par l'adresse de votre serveur FTP distant.
En faisant cela, vous vous connecterez directement au serveur distant (s'il existe) en utilisant le port 21 (port par défaut pour le FTP, c'est le plus souvent utilisé ; donc, en général, pas de problème avec cette méthode), et vous voilà plongés dans la bataille !
uploads/fr/files/8001_9000/8091.png
La commande open
La deuxième option qui s'offre à vous est de réaliser cette étape en deux actions.
Premièrement, vous entrez dans le module FTP en tapant simplement
ftp. Ensuite, vous devez utiliser la fonction
open qui va tenter d'établir la connexion avec le serveur distant, en tapant
open hote [port] (où vous remplacerez `
hote` par l'adresse de votre serveur FTP distant).
Vous pouvez indiquer un port spécifique à la suite de votre
hote en tapant par exemple
open ftp.hote.com 2280, ce qui tentera d'établir un connexion FTP vers le serveur distant `ftp.hote.com` sur le port 2280.
Si vous désirez utiliser le port par défaut, laissez simplement vide à la suite de votre
hote ; le port est un argument facultatif pour la fonction
open.
uploads/fr/files/8001_9000/8092.png
Comme vous pouvez le constater, taper ftp ftp.hote.com est un raccourci qui évite l'enchaînement des deux commandes ftp puis open hote [port].
Si votre connexion aboutit, vous aurez le droit à plein de messages de la part du serveur FTP distant : on va s'en occuper plus tard.
Si votre connexion échoue, vous pouvez avoir un message de type "
Unknown host hote", ce qui signifie que l'adresse que vous avez tapée est probablement érronée, ou encore de type "Timeout", ce qui signifie que le serveur existe physiquement mais qu'il ne répond pas ; il faudra réessayer plus tard.
Vous voilà à présent connectés sur votre serveur FTP distant.
Et là, c'est le drame, voilà que notre cher serveur se met à baragouiner dans une langue inconnue

!!
Pas de panique : décryptons donc l'appel de détresse qu'il nous envoie en nous penchant sur un petit exemple (attention, c'est un
cas particulier, je ne peux pas me pencher sur tous les cas de messages de bienvenue de tous les différents serveurs FTP du monde).
Voilà la bête...
Home sweet home
Première chose qu'on nous annonce :
"Connected to ftp.hote.com" ...plutôt bonne nouvelle, c'est ce qu'on voulait faire dans la partie précédente.

Ça, c'est votre module FTP qui vous le dit, il a réussi à se connecter.
Ensuite, plein de lignes commençant par
220. Eh non : ça n'est pas le voltage du serveur, mais bel et bien le message de bienvenue.
La référence nous dit :
220 Service ready for new user. Cela confirme qu'on est les bienvenus. Vous remarquez que le serveur nous a dit quel logiciel gérait le serveur (ici, Pure FTPd), le nombre de connexions utilisées par rapport au nombre de connexions allouées, l'heure, le port du serveur et quelques infos utiles (ici concernant l'Ipv6 et la durée de
idle, c'est-à-dire le temps passé à ne rien faire avant déconnexion) sur le serveur.
Ensuite, on entre dans du 230 (Ah !! Mon dieu : une surchauffe...

). La RFC nous dit
230 User logged in, proceed.
Bouhouhouh ! Stop ! Comment ça, User logged in ? On est juste connectés là, pas identifiés !
Ahlala, je saute des étapes moi, heureusement que vous suivez

.
S'identifier
Après le message de bienvenue, vous aurez la main. D'ailleurs, le serveur FTP s'empressera de vous demander votre nom d'utilisateur (User). Tapotez-le au clavier, vous le verrez apparaître et appuyez sur [
Entrée] pour l'envoyer au serveur.
Hop, le serveur répond un 331 :
331 User name okay, need password.
Ah ben v'la-t-y-pas qu'il lui faut un mot de passe, aussi ?! Eh bien tapotez-le aussi, mais
attention :
lorsque vous tapez votre mot de passe, étant donné que vous devez le faire "à l'abri des regards indiscrets" (comme pour les cartes bleues, quoi

), rien ne s'affichera ! Soyez donc sûrs de ce que vous tapez, et n'allez pas trop vite à la "Je suis un G33k-N0-L!f3-Jtapesanslesmains", sinon vous avez de fortes chances de vous récolter un 530 (vous irez chercher ce que c'est dans la RFC tiens, ça vous entraînera

).
Comme pour le nom d'utilisateur, la touche [
Entrée] enverra les informations vers le serveur.
J'ai tout bien fait comme t'as dit, j'ai tapé lentement mon mot de passe et j'ai quand même fait un erreur, j'ai récolté un 530 (dont je connais à présent la signification), et le serveur me redonne la main, mais je ne peux rien faire... Au secours ??!
Pas d'panique, le serveur ne vous laissera pas faire grand-chose tant qu'il ne vous saura pas identifié comme un réel utilisateur.
Pour pallier ce problème et pouvoir à nouveau tenter votre chance à l'identification,
vous devez redémarrer votre PC, contacter l'administrateur du serveur FTP par mail, faire 20 pompes en appuyant sur [Ctrl] + [Alt] + [Suppr] avec une main et 1000 tractions ...hum, tapez simplement
user et le processus d'identification se lancera à nouveau ;).
Bien : à partir d'ici, on se considèrera comme identifié. Revenons donc à notre surchauffe...
Vous avez suivi ? Eh oui, le 230 ! Le serveur nous indique ici quel droit nous avons (les mêmes que celui du groupe `username`, ça vous fait une belle jambe, hein ?

) et que votre répertoire courant est
/.
On appellera ce repertoire la racine de votre compte. En effet, lorsque vous vous connectez sur un serveur FTP, l'endroit où vous atterrissez est la racine qui à été configurée pour votre compte. Sur la machine qui héberge le serveur, cela correspond à un simple dossier, voire un disque dur entier, pour vous, c'est / .
La prochaine étape consistera à se balader dans cette racine.
Je sens que vous avez soif d'explorer en ligne de commande le monde qui s'offre à vous.
Eh bien en avant !
La commande PWD
La première des commandes est celle que j'appelle "l'anti-perdition" . La commande
pwd vous indique dans quel dossier vous vous trouvez. Pratique, si vous avez perdu votre chemin

.
Vous voyez que j'étais à la racine de mon compte.
La navigation
Entrons à présent dans la navigation proprement dite ! Ici, deux commandes vous seront utiles (dont une dédoublée).
1. DIR/LS
La première est
dir/ls qui vous permet tout simplement de lister le contenu du dossier dans lequel vous vous trouvez.
dir retournera quelque chose comme ceci :
et
ls, quelque chose comme cela :
À vous de faire votre choix pour savoir laquelle de deux utiliser, celle que vous préférez, etc.
2. CD
C'est bien beau tout ça, on a plein de dossiers, mais comment on y entre, hein ?
C'est là qu'intervient la commande
cd (non, ce n'est pas la commande pour lire les CD...).
La commande
cd est couplée à la notion de chemin relatif / absolu.
Pour faire rapide et concis, sachez que si vous êtes dans le dossier /toto/titi/tata/pim/pam/, "poum" correspondra au dossier 'poum' qui se trouve dans le répertoire où vous vous trouvez), "/poum" correspondra au dossier 'poum' qui se trouve à la racine du site, ".." correspond au répertoire parent de celui où vous vous trouvez.
L'utilisation de la commande
cd est très simple :
cd chemin.
Comme je l'ai indiqué plus haut,
chemin peut être remplacé soit par un chemin relatif, soit par un chemin absolu.
Pour les images suivantes, le dossier bleu représente votre répertoire courant. Le trajet parcouru est tracé en rouge. S'il y a deux images côte à côte, celle de gauche représente le chemin relatif, celle de droite le chemin absolu.
Prenons cette situation :
La première chose que l'on souhaite faire, c'est se rendre dans le dossier '
etc' . On peut le faire de deux façons : en tapant soit
cd etc (chemin relatif), soit
cd /etc (chemin absolu).
Nous voici dans le dossier '
etc' :
Maintenant, on veut se déplacer dans le dossier '
toto' . La solution la plus simple est d'utiliser un chemin relatif :
cd toto . Cependant, sachez qu'il est également possible d'utiliser un chemin absolu pour se rendre dans le dossier '
toto' :
cd /etc/toto .
Nous voici donc dans le dossier '
toto' :
On veut à présent retourner dans le dossier '
etc'. Vous remarquerez que '
etc' est le
répertoire parent de '
toto'. On peut donc y retourner simplement en tapant :
cd .. . Encore une fois, sachez qu'on peut également utiliser un chemin absolu pour retourner dans '
etc' :
cd /etc .
Nous voici donc de retour dans le dossier '
etc' :
Enfin, on veut se rendre directement dans le dossier '
tata'. Si vous utilisez un chemin relatif, vous serez obligé de remonter dans le dossier parent, puis de redescendre dans '
bin' puis dans '
tata'. Pas de panique, vous pouvez le faire en une seul commande :
cd ../bin/tata . Comme vous remontez à la
racine de l'arborescence, il aurait été plus simple d'utiliser un chemin absolu dans cette situation :
cd /bin/tata .
Vous me direz, la différence n'est pas énorme. Mais imaginez que vous soyez dans '
titi' et que vous vouliez aller dans '
tata' . Regardez la différence :
cd ../../bin/tata pour le chemin relatif, contre seulement
cd /bin/tata pour l'absolu !
Nous voilà à destination, le dossier '
tata' :
Voilà : après ce bloc d'explications, vous voilà les maîtres du déplacement inter-dossiers dans un FTP

!
Il est temps d'apprendre comment créer des dossiers, renommer et déplacer, et détruire (niark niark

).
Créer des dossiers
La commande servant à créer des dossiers est
mkdir.
Son utilisation est des plus simples :
mkdir nom.
Si vous mettez des espaces dans vos noms de dossiers, ceux-ci ne seront pas reconnus, et le dossier créé aura le nom du premier mot avant le premier espace.
Et comment je fais, moi, si mon dossier s'appelle 'Le dossier avec des espaces', hein ?
Pas de problème, il suffit de protéger les espaces en mettant le nom du dossier entre guillemets : mkdir "Le dossier avec des espaces".
L'image devrait vous parler d'elle-même, à présent.
Je passe donc à la suite.
Le déplacement, le renommage
Alors là, on ne s'embête pas : c'est la même commande qui fait tout :
rename.
Avant même de commencer, je rappelle que si vous faites des renommages avec des espaces, il ne faudra pas oublier de protéger vos noms avec " ".
La commande
rename s'utilise de la façon suivante :
rename source cible (où, vous l'aurez bien sûr compris, `
source` est l'élément à renommer, et `
cible` l'élément qu'on aura après renommage).
Par exemple, si j'ai le fichier '
prout.tutu' dans mon dossier courant et que je veux le renommer en '
pouet.toto', il suffit de taper
rename prout.tutu pouet.toto.
C'est bien beau tout ça, mais le renommer, ça ne déplace pas mon fichier, ça ?
Vous vous rappelez des chemins de la commande
cd, hum ? Eh bien on va appliquer ça sur cette commande.
Par exemple, si j'ai le fichier '
pouet.tutu' et le dossier '
truc' dans mon dossier courant, il suffit que je tape
rename pouet.tutu truc/pouet.tutu et pouf, j'ai déplacé mon fichier dans le dossier '
truc'. Vous avez compris la puissance de la commande : vous pouvez déplacer et renommer en meme temps !
Et voilà : ce pavé, indigeste pour un être humain, doit être limpide pour vous, ZérOs !
Détruire des données
Nous avons deux commandes pour faire cela :
delete et
rmdir.
Je ne m'attarde pas vraiment dessus, elle sont très simples à utiliser
delete fichier et
rmdir dossier.
À noter que vous pouvez écraser un fichier ou un dossier depuis n'importe où, du moment que vous avec /le/bon/chemin/vers/la/cible.
Voilà qui conclut cette partie : vous savez à présent comment manipuler vos fichiers et dossiers sur un serveur FTP

!
Voilà la partie
casse-co... un peu compliquée, il va falloir sans cesse basculer entre le distant et le local.
Les actions locales, les actions distantes
Avant d'attaquer les transferts à proprement parler, je dois vous introduire une petite notion qui vous empêchera de vous retrouver bloqués sans savoir quoi faire, si ce n'est fermer l'Invite de commandes.
Dans le module FTP, vous pouvez, comme nous l'avons vu, vous balader sur le serveur FTP distant et effectuer toutes sortes d'actions. Durant vos transactions FTP, vous serez sûrement amenés à exécuter certaines de ces actions localement sur votre disque dur

.
Pour cela, on dispose de la commande
lcd et du point d'exclamation ( ! ), indiquant au module que vous exécutez l'action localement.
La commande
lcd permet de changer le répertoire local dans lequel vous travaillez.
Son utilisation est simple :
lcd [dossier] (si vous ne mettez pas de nom de dossier, vous aurez le dossier local courant ; sinon, vous changez le dossier local).
Si vous voulez lister votre dossier local courant, il suffit de taper
!dir (oubliez le
!ls, on est sous Windows, faut pas oublier

).
Voyez-vous mêmes :
Ceci étant dit, on peut passer à la suite. Je pense que vous saurez vous déplacer localement sur votre disque sans aucun souci

.
La réception
Les commandes pour récupérer des fichiers sont
get et
mget (
multi get).
Vous l'aurez compris, l'une récupère les fichiers un par un (c'est très long de retaper la commande à chaque fois, si on doit récupérer une vingtaine de fichiers), l'autre fait de la récupération de masse (pratique donc, dans le cas de plusieurs fichiers à rapatrier).
Leurs syntaxes respectives sont
get fichier et
mget fichier_1 [fichier_2] [fichier_3]... [fichier_n] (vous pouvez mettre autant de fichiers dans la liste que vous souhaitez, de 1 à trouzemillions, tant qu'ils existent).
Je rappelle, pour ceux qui n'auraient peut-être pas encore pris l'habitude, de penser à protéger vos noms de fichiers à espaces avec des " ".
Lorsque vous récupérez un ou plusieurs fichiers avec la commande
get ou
mget, celui-ci est réceptionné dans votre dossier local courant. Vous comprenez maintenant l'intérêt du premier chapitre de cette partie : faites attention à l'endroit où vous réceptionnez vos fichiers (j'vous raconte pas le nombre de fichiers que j'ai égarés quand je débutais

).
Ceci étant dit, une image valant mille mots, on va récupérer
Golf.jpeg sur le disque local D:\ :
Vous avez pu remarquer que j'ai utilisé la commande binary. Cette commande permet de changer le type du transfert. Utilisez le type 'binary' pour transférer des fichiers qui ne sont pas des fichiers texte sans les bousill... corrompre. (Faites l'essai vous-mêmes, transférez une image en ASCII et une en BINARY, vous verrez la différence.) Par défaut, le type utilisé est ASCII (que vous pouvez définir avec la commande ascii).
Et voilà l'travail, les doigts dans l'nez

!
L'envoi
Comme pour la réception, l'envoi bénéficie de deux fonctions :
put et
mput (
multi put).
Leurs syntaxes respectives sont
put fichier et
mput fichier_1 [fichier_2] [fichier_3] ... [fichier_n].
En reprenant la même situation (c'est-à-dire dossier distant :
/www , dossier local :
D:\), on va rebalancer le fichier
Golf.jpeg vers
/www/test/ :
Vous constatez que je n'ai pas utilisé la commande binary . En fait, puisque cette capture d'écran suit la précédente, je suis déjà en mode BINARY pour mes transferts : donc, je n'ai pas besoin de réutiliser la commande. Cependant, si vous envoyez des fichiers non-texte, pensez à utiliser binary, sinon vous allez vous retrouver avec des images illisibles, et des fichiers corrompus.
Et voilou : c'est qui l'plus fort ?
Eh oui, c'est vous maintenant

!
Eh oui : c'est bien beau de transférer dans tous les sens, mais quand on s'arrête, il est préférable de fermer la connexion en douceur.
Fermeture de la connexion
Alors là, vu le niveau que vous avez maintenant, c'est d'la rigolade !
Il suffit de taper
close.
Quitter le module FTP
Pour quitter le module FTP et revenir sur l'invite de commande originale, tapez
quit.
Quitter l'invite de commandes
Pour quitter l'invite de commandes, vous avez deux solutions :
- soit vous cliquez sur la croix en haut à droite
- soit vous tapez exit.
Aide pour aller plus loin
Si vous avez envie d'aller plus loin, vous pouvez toujours taper
help, puis
help commande (où `
commande` sera remplacé par une commande FTP) pour obtenir de l'aide et un descriptif de ladite commande.
Voilà : dorénavant, vous ne serez plus jamais bloqués pour faire du FTP
de base si vous n'avez pas de client graphique

.
FTPment,
Gregoo.