FTP(1) |
Manuel de l'utilisateur Linux |
FTP(1) |
est l'interface utilisateur du File Transfer Protocol
(protocole de transfert de fichiers) standard d'Internet. Ce programme permet
à un utilisateur de transférer des fichiers vers et à
partir d'un site réseau distant. Les options peuvent être
spécifiées sur la ligne de commandes, ou fournies à
l'interpréteur de commandes. Utiliser le mode passif pour les
transferts de données. Permet l'utilisation de dans les environnements
où un pare-feu (firewall) empêche les connexions depuis
l'extérieur vers la machine cliente. Requiert que le serveur supporte
la commande PASV. Ce mode est maintenant utilisé par défaut par
les clients (ftp et pftp) à cause de problèmes de
sécurité relatifs au mode de transfert PORT. L'option n'est
conservée que pour la compatibilité et n'a plus aucun effet.
Désactiver l'interrogation interactive lors de transferts de fichiers
multiples. Empêcher de tenter la « connexion
automatique » lors de la connexion initiale. Si l'auto-connexion
est activée, recherchera dans le fichier (voyez du répertoire
personnel de l'utilisateur une entrée décrivant un compte sur la
machine distante. S'il n'en trouve pas, demandera le nom de connexion (login)
sur la machine distante (par défaut l'identité de l'utilisateur
sur la machine locale) et, si nécessaire, un mot de passe et un compte
avec lesquels se connecter. Désactiver l'édition de commandes et
le support de l'historique, si cela a été compilé dans
l'exécutable Sinon, ne fait rien. Désactiver le
développement des métacaractères dans les noms de
fichiers. L'option bavarde (verbeuse) force à afficher toutes les
réponses provenant du serveur distant, ainsi que de faire un rapport
sur les statistiques de transfert des données. Activer le mode de
débogage. L'hôte client avec lequel va communiquer peut
être spécifié sur la ligne de commandes. Si cela est
fait, essaiera immédiatement d'établir une connexion avec un
serveur sur cet hôte ; sinon, entrera dans son
interpréteur de commandes et attendra des instructions de
l'utilisateur. Quand attend des commandes de l'utilisateur, il affiche
l'invite « ftp> ». Les commandes suivantes sont
reconnues par Invoquer un shell interactif sur la machine locale. S'il y a des
arguments, le premier d'entre eux est une commande à exécuter
directement, et les autres sont ses arguments. Exécuter la macro qui a
été définie par la commande Les arguments sont
passés à la macro non développés. Fournir un mot
de passe supplémentaire requis par un système distant pour
accéder aux ressources une fois qu'une connexion a pu être
correctement établie. Si aucun argument n'est inclus, l'utilisateur
devra fournir un mot de passe de compte dans un mode d'entrée sans
écho. Concaténer un fichier local à un fichier sur la
machine distante. Si n'est pas spécifié, le nom du fichier local
est utilisé pour nommer le fichier distant après avoir
été altéré par un réglage de ou de Le
transfert de fichier utilise les réglages courants pour et Fixer le de
transfert de fichier à C'est le type par défaut. S'arranger pour
qu'un bip soit émis après chaque transfert de fichier.
Spécifier le de transfert de fichier pour qu'il permette le transfert
d'images binaires. Terminer la session sur le serveur distant et quitter Un
EOF terminera également la session et arrêtera l'application.
Changer de format de casse pour les noms de fichiers distants lors des
commandes Quand est activé (non activé par défaut), les
noms de fichiers distants ne comportant que des lettres en majuscule seront
écrits dans le répertoire local avec les mêmes lettres
converties en minuscules. Se déplacer du répertoire courant au
répertoire sur la machine distante. Se déplacer du
répertoire de travail sur la machine distante vers son
répertoire père. Fixer les permissions du fichier sur le
système distant à Terminer la session sur le serveur distant, et
retourner à l'interpréteur de commandes. Toutes les macros
définies sont effacées. Activer/désactiver la suppression
du retour chariot lors de la récupération de fichiers de type
ascii. Les enregistrements sont caractérisés par une
séquence retour chariot/saut de ligne lors du transfert d'un fichier de
type ascii. Quand est activé (comportement par défaut), les
retours chariots sont supprimés de cette séquence pour se
conformer au délimiteur composé d'un seul saut de ligne. Les
enregistrements sur des systèmes peuvent contenir des sauts de lignes
isolés ; quand un transfert de type ascii est effectué,
ces sauts de lignes ne peuvent être distingués des
délimiteurs de champs que lorsque est désactivé. Effacer
le sur la machine distante. Activer/désactiver le mode de
débogage. Si la valeur optionnelle est spécifiée, elle
sera utilisée pour définir le niveau de débogage. Quand
le débogage est activé, affichera toutes les commandes
envoyées à la machine distante en les préfixant par la
chaîne de caractères « --> ».
Afficher la liste du contenu du et placer éventuellement la sortie dans
le Si l'invite interactive est activée, demandera à
l'utilisateur de vérifier que le dernier argument est effectivement le
fichier local cible destiné à la réception de la sortie
de Si aucun répertoire n'est spécifié, le
répertoire de travail courant sur la machine distante est
utilisé. Si aucun fichier local n'est spécifié, ou si est
« - », la sortie est envoyée sur le
terminal. Un synonyme de Fixer la forme de transfert de fichier à Le
format par défaut est « file » (fichier).
Récupérer le et le stocker sur la machine locale. Si le nom du
fichier local n'est pas spécifié, il sera le même que
celui du fichier situé sur la machine distante, et peut être
modifié par les réglages courants de et Les réglages
courants pour et sont utilisés lors du transfert du fichier.
Activer/désactiver le développement des noms de fichiers pour et
Si c'est désactivé avec les arguments noms de fichiers sont
traités littéralement et ne sont pas développés.
Le développement pour est effectué comme dans Pour et le nom de
chaque fichier distant est développé séparément
sur la machine distante et les listes ne sont pas fusionnées. Le
développement d'un nom de répertoire sera probablement
différent de celui d'un fichier ordinaire : le résultat
exact dépend du système d'exploitation distant et du serveur
ftp, et peut être prévisualisé en effectuant un
« mls fichiers-distants - ». Note : et ne
sont pas destinés au transfert de sous-arbres entiers de
répertoires de fichiers. Cela peut être effectué en
transférant une archive du sous-arbre (dans le mode binaire).
Activer/désactiver l'affichage du signe dièse
(« # ») pour chaque bloc de données
transféré. La taille d'un bloc de données est de 1024
octets. Afficher un message d'aide sur la signification de Si aucun argument
n'est fourni, affiche une liste des commandes connues. Fixer le temporisateur
d'inactivité sur le serveur distant à secondes. Si est omis, le
temporisateur d'inactivité actuel est affiché. Changer de
répertoire de travail sur la machine locale. Si aucun n'est
spécifié, le répertoire personnel de l'utilisateur est
utilisé. Afficher la liste du contenu d'un répertoire sur la
machine distante. Elle inclut toutes les informations dépendantes du
système que le serveur a choisi d'inclure ; par exemple, la
plupart des systèmes produiront la sortie de la commande
« ls -l ». (Voyez également Si le n'est pas
spécifié, le répertoire de travail courant sera
utilisé. Si l'invite interactive est activée, demandera à
l'utilisateur de vérifier que le dernier argument est effectivement le
fichier local cible pour la réception de la sortie de Si aucun fichier
local n'est spécifié, ou si est
« - », la sortie est envoyée sur le
terminal. Définir une macro. Les lignes ultérieures sont
stockées dans la macro une ligne nulle (caractères de saut de
ligne consécutifs dans un fichier ou retours chariots depuis le
terminal) termine le mode d'entrée de la macro. Il y a une limite de 16
macros et 4096 caractères au total pour toutes les macros
définies. Les macros restent définies jusqu'à
l'exécution d'une commande Le processeur de commandes interprète
« $ » et « \ » comme
des caractères spéciaux. Un « $ »
suivi d'un ou de plusieurs nombres est remplacé par l'argument
correspondant dans la ligne de commandes d'invocation de la macro. Un
« $ » suivi d'un « i »
signale à ce processeur de macros que la macro en cours
d'exécution doit être exécutée en boucle. Lors de
la première passe, « $i » est
remplacé par le premier argument sur la ligne de commandes d'invocation
de la macro, par le deuxième argument lors de la seconde passe, et
ainsi de suite. Un « \ » suivi par n'importe quel
caractère est remplacé par ce caractère. Utilisez le
« \ » pour éviter un traitement
spécial du « $ ». Effacer les sur la
machine distante. Comme sauf que plusieurs fichiers distants peuvent
être spécifiés. Si l'invite interactive est
activée, demandera à l'utilisateur de vérifier que le
dernier argument est réellement le fichier local cible pour la
réception de la sortie de Développer le nom des sur la machine
distante, et effectuer un pour chaque nom de fichier produit. Voyez pour les
détails sur le développement des noms de fichiers. Les noms de
fichiers résultants seront ensuite traités selon les
réglages et Les fichiers sont transférés dans le
répertoire de travail local, qui peut être modifié avec
« lcd répertoire » ; de nouveaux
répertoire locaux peuvent être créés avec
« ! mkdir répertoire ».
Créer un répertoire sur la machine distante. Comme sauf que
plusieurs fichiers distants peuvent être spécifiés, et
que le doit être indiqué. Si l'invite interactive est
activée, demandera à l'utilisateur de vérifier que le
dernier argument est effectivement le fichier local cible pour la
réception de la sortie de Fixer le de transfert de fichier à Le
mode par défaut est « stream » (flux).
Afficher la date de dernière modification du fichier sur la machine
distante. Effectuer l'expansion des jokers dans la liste des fichiers locaux
fournis en argument, et effectuer un pour chacun des fichiers de la liste
résultante. Voyez pour obtenir des détails sur le
développement des noms de fichiers. Les noms de fichiers
résultants seront ensuite traités en fonction des
réglages de et N'obtenir le fichier que si la date de dernière
modification du fichier distant est plus récente que celle du fichier
présent sur le système local. Si le fichier n'existe pas sur le
système local, le fichier distant est considéré
être plus récent. Sinon, cette commande est identique à
Afficher la liste des fichiers d'un répertoire situé sur la
machine distante. Si n'est pas spécifié, le répertoire de
travail courant est utilisé. Si l'invite interactive est
activée, demandera à l'utilisateur de vérifier que le
dernier argument est réellement le fichier local cible pour la
réception de la sortie de Si aucun fichier local n'est
spécifié, ou si est « - », la
sortie est envoyée sur le terminal. Activer ou désactiver le
mécanisme de mise en correspondance des noms de fichiers. Si aucun
argument n'est spécifié, le mécanisme de mise en
correspondance des noms de fichiers est désactivé. Si des
arguments sont spécifiés, les noms de fichiers distants sont mis
en correspondance lors des commandes et exécutées sans avoir
spécifié de nom de fichier cible distant. Si des arguments sont
spécifiés, les noms de fichiers locaux sont mis en
correspondance lors des commandes et exécutées sans avoir
spécifié de nom de fichier cible local. Cette commande est utile
lors d'une connexion à un ordinateur distant utilisant des conventions
ou des pratiques différentes relatives au nommage des fichiers. La mise
en correspondance suit le motif fourni par et est un modèle pour les
noms de fichiers entrants (qui peuvent déjà avoir
été traités en fonction des réglages de et La
modélisation de variables est accomplie en incluant les
séquences « $1 »,
« $2 », ..., « $9 »
dans Utilisez « \ » pour empêcher ce
traitement spécial du caractère
« $ ». Tous les autres caractères sont
traités littéralement, et sont utilisés pour
déterminer la valeur des variables Par exemple, étant
donné le $1.$2 et le nom de fichier local
« mesdonnées.données », $1 devrait
avoir la valeur « mesdonnées », et $2 la
valeur « données ». Le détermine le
nom de fichier correspondant résultant. Les séquences
« $1 », « $2 », ...,
« $9 » sont remplacées par n'importe quelle
valeur résultant du modèle La séquence
« $0 » est remplacée par le nom du fichier
original. De plus, la séquence « [séq1,
séq2] » est remplacée par si n'est pas une
chaîne de caractères nulle ; sinon, elle est
remplacée par Par exemple, la commande nmap $1.$2.$3
[$1,$2].[$2,fichier] produirait le nom du fichier de sortie
« monfichier.données » pour les noms de
fichiers d'entrée
« monfichier.données » et
« monfichier.données.old »,
« monfichier.fichier » pour le nom du fichier
d'entrée « monfichier », et
« monfichier.monfichier » pour le nom du fichier
d'entrée « .monfichier ». Les espaces
peuvent être incluses dans comme par exemple dans « nmap
$1 sed "s/ *$//" > $1 ». Utilisez le
caractère « \ » pour éviter un
traitement spécial des caractères
« $ », « [ »,
« ] » et « , ».
Activer ou désactiver le mécanisme de traduction des
caractères des noms de fichiers. Si aucun argument n'est
spécifié, le mécanisme de traduction de caractères
est désactivé. Si des arguments sont spécifiés,
les caractères des noms de fichiers distants sont traduits durant les
commandes et exécutées sans qu'un nom de fichier cible distant
ait été spécifié. Si des arguments sont
spécifiés, les caractères des noms de fichiers distants
sont traduits durant les commandes et exécutées sans qu'un nom
de fichier cible local ait été spécifié. Cette
commande est utile lors de la connexion à un ordinateur ayant des
conventions ou des pratiques différentes relatives au nommage des
fichiers. Les caractères d'un nom de fichier correspondant à un
des caractères de sont remplacés par le caractère
correspondant dans Si la position du caractère dans est
supérieure à la longueur de le caractère est
effacé du nom du fichier. Établir une connexion avec le serveur
Un numéro de port peut être fourni, auquel cas tentera de
contacter un serveur sur ce port. Si l'option est activée (comportement
par défaut), essaiera également de connecter automatiquement
l'utilisateur au serveur (voyez en dessous). Activer/désactiver
l'invite interactive. L'invite interactive apparaît durant des
transferts de fichiers multiples afin de permettre à l'utilisateur de
récupérer ou de stocker des fichiers de manière
sélective. Si l'invite interactive est désactivée
(activée par défaut), toute commande ou transférera tous
les fichiers, et tout effacera tous les fichiers. Exécuter une commande
ftp sur une connexion de contrôle secondaire. Cette commande permet des
connexions simultanées sur deux serveurs ftp distants, pour
transférer des fichiers entre les deux serveurs. La première
commande devrait être un pour établir la connexion de
contrôle secondaire. Entrez la commande « proxy
? » pour déterminer la liste des commandes ftp
exécutables sur la connexion secondaire. Les commandes suivantes se
comportent différemment quand elles sont préfixées par :
ne définira pas de nouvelle macro durant le processus de connexion
automatique, n'effacera pas de définition de macro existante, et
transfèrent des fichiers de l'hôte sur la connexion de
contrôle primaire vers l'hôte sur la connexion de
contrôle secondaire, et et transfèrent des fichiers de
l'hôte sur la connexion de contrôle secondaire vers
l'hôte sur la connexion de contrôle primaire. Les transferts de
fichiers par une tierce partie dépendent du support de la commande du
protocole ftp par le serveur sur la connexion de contrôle secondaire.
Stocker un fichier local sur la machine distante. Si n'est pas
spécifié, le nom du fichier local est utilisé
après traitement en fonction des réglages de et s'appliquant au
processus de nommage du fichier distant. Le transfert de fichier utilise les
réglages courants pour et Afficher le nom du répertoire de
travail courant sur la machine distante. Un synonyme de Les arguments
spécifiés sont envoyés, sans modification, au serveur Un
synonyme de get. se comporte comme sauf que si existe et est plus petit que
est supposé être une copie partiellement
transférée du et le transfert est continué à
partir du point de panne apparent. Cette commande est utile lors de transferts
de très grands fichiers sur des réseaux qui sont fortement
sujets au relâchement de connexions. Requérir de l'aide du
serveur distant. Si un est spécifié, il est également
fourni au serveur. Sans argument, afficher l'état de la machine
distante. Si est spécifié, afficher l'état de sur la
machine distante. Renommer le fichier sur la machine distante en fichier Vider
la file d'attente de réponses. Cette commande resynchronise le
séquencement commande/réponse avec le serveur ftp distant. La
resynchronisation peut être rendue nécessaire à la suite
d'une violation du protocole ftp par le serveur distant. Redémarrer le
ou le suivant immédiatement à la indiquée. Sur les
systèmes la marque est habituellement un décalage d'octets par
rapport au début du fichier. Supprimer un répertoire sur la
machine distante. Activer/désactiver le stockage des fichiers sur le
système local sous des noms de fichiers uniques. Si un fichier
préexistant possède un nom identique au nom du fichier local
cible d'une commande ou un « .1 » sera
suffixé au nom. Si le nom résultant correspond à un autre
fichier existant, un « .2 » sera suffixé au
nom original. Si ce processus continue jusqu'à
« .99 », un message d'erreur sera affiché
et le transfert n'aura pas lieu. Le nom de fichier unique
généré sera affiché. Notez que n'affectera pas les
fichiers locaux générés à partir d'une commande
shell (voyez plus bas). Par défaut, est désactivé. Un
synonyme de Activer/désactiver l'utilisation des commandes Par
défaut, essaiera d'utiliser une commande lors de l'établissement
d'une connexion pour chaque transfert de données. L'utilisation des
commandes peut éviter des délais lors de transferts de multiples
fichiers. Si la commande échoue, utilisera le port de données
par défaut. Quand l'utilisation des commandes est
désactivée, aucune tentative d'utilisation des commandes ne sera
effectuée lors d'un transfert de données. C'est utile pour
certaines implémentations qui ignorent les commandes mais qui indiquent
(erronément) qu'elles ont été acceptées. Les
arguments spécifiés sont envoyés, littéralement,
au serveur distant sous forme d'une commande Renvoyer la taille de sur la
machine distante. Afficher le statut actuel de Fixer la de transfert de
fichiers à Par défaut, la structure
« stream » (flux) est utilisée.
Activer/désactiver le stockage des fichiers sur la machine distante
sous des noms de fichiers uniques. Le serveur ftp distant doit supporter la
commande du protocole FTP pour que cela soit possible. Le serveur distant
renverra un nom unique. (Par défaut, cette fonctionnalité n'est
pas activée). Afficher le type de système d'exploitation
exécuté sur la machine distante. Fixer le type de transfert de
fichier à ce qui est nécessaire pour communiquer avec des
machines Activer/désactiver le traçage des paquets. Fixer le de
transfert de fichiers à Si aucun type n'est spécifié, le
type actuel est affiché. Le type par défaut est l'ASCII
réseau. Fixer le umask par défaut sur le serveur distant
à Si est omis, le umask actuel est affiché. S'identifier
auprès du serveur distant. Si le n'est pas spécifié et
que le serveur le requiert, le réclamera (après avoir
désactivé l'écho local). Si un champ n'est pas
spécifié et que le serveur le requiert, il sera demandé
à l'utilisateur. Si un champ est spécifié, une commande
sera relayée au serveur après la fin de la séquence de
connexion si le serveur distant ne l'a pas requise lors de la connexion.
À moins que ne soit invoqué avec la
« connexion automatique »
désactivée, ce processus est effectué automatiquement
lors de la connexion initiale au serveur Activer/désactiver le mode
bavard. Dans le mode bavard (verbeux), toutes les réponses du serveur
sont montrées à l'utilisateur. De plus, quand un transfert de
fichier est terminé, des statistiques concernant l'efficacité du
transfert sont affichées. Par défaut, le mode bavard est
activé. Un synonyme de help. Les arguments des commandes
possédant des espaces « internes » peuvent
être protégés par des guillemets. Pour annuler un
transfert de fichier, utilisez la touche d'interruption du terminal (en
général Ctrl-C). Les émissions seront
immédiatement stoppées. Les réceptions seront
arrêtées en envoyant une commande au serveur distant, et en
rejetant les données reçues ultérieurement. La vitesse
à laquelle ceci est accompli dépend du support par le serveur
distant de la commande Si le serveur distant ne la supporte pas, une invite
« ftp> » n'apparaîtra que lorsque le
serveur distant aura terminé l'envoi du fichier requis. La combinaison
de touches d'interruption du terminal sera ignorée quand a
terminé un traitement local quelconque, et attend une réponse du
serveur distant. Un long délai dans ce mode peut résulter du
traitement de ABOR décrit ci-dessus ou d'un comportement inattendu du
serveur distant, y compris les cas de violation du protocole ftp. Si le
délai résulte d'un comportement inattendu du serveur distant, le
programme local doit être tué manuellement. Les fichiers
spécifiés comme arguments des commandes sont traités
selon les règles suivantes : Si le nom de fichier
« - » est spécifié, (pour la
lecture) ou (pour l'écriture) est utilisé. Si le premier
caractère du nom de fichier est « | », le
reste de l'argument est interprété comme une commande shell.
crée ensuite un shell comme un processus fils, en utilisant avec
l'argument fourni, et lit (écrit) à partir de (sur) stdout
(stdin). Si la commande shell inclut des espaces, l'argument doit être
protégé ; p.ex. « ls -lt ».
Un exemple particulièrement utile de ce mécanisme est :
« dir more ». Si les contrôles ci-dessus
échouent et que le développement est activé, les noms de
fichiers locaux sont développés en fonction des règles
utilisées dans ; cf. la commande Si la commande s'attend
à un unique fichier local (p.ex. seul le premier nom de fichier
généré par l'opération de développement est
utilisé. Pour les commandes et quand les noms de fichiers locaux ne
sont pas spécifiés, le nom de fichier local sera celui du
fichier distant, qui peut être altéré par un
réglage ou Le nom de fichier résultant peut ensuite être
altéré si est activé. Pour les commandes et quand les
noms de fichiers locaux ne sont pas spécifiés, le nom de fichier
distant sera celui du fichier local, qui peut être altéré
par un réglage ou Le nom de fichier résultant peut ensuite
être modifié par le serveur distant si est activé. La
spécification FTP stipule de nombreux paramètres pouvant
affecter un transfert de fichier. Le peut être
« ascii », « image »
(binaire), « ebcdic » ou « local
byte size » (taille de multiplet locale, pour les et
principalement). supporte les types de transfert de fichier ascii et image, en
plus de la taille de multiplet 8 pour les modes de transfert ne supporte que
les valeurs par défaut pour les autres paramètres de transfert
de fichier, à savoir et utilise les variables d'environnement
suivantes : L'emplacement par défaut du fichier s'il existe. Le
shell par défaut. RFC 959 La commande est apparue dans BSD 4.2.
L'exécution correcte de nombreuses commandes dépend du bon
fonctionnement du serveur distant. Une erreur dans le traitement des retours
chariots dans le code de transfert BSD 4.2 en mode ascii a été
corrigée. Cette correction peut provoquer des transferts incorrects de
fichiers binaires vers et à partir de serveurs BSD 4.2 utilisant le
type ascii. Évitez ce problème en utilisant le type d'image
binaire. Frédéric Delanoy <delanoy_f at yahoo.com>,
2002.