Scroll to navigation

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.
15 août 1999 Linux NetKit (0.17)