commande ftp

Objectif

Transfère des fichiers entre un hôte local et un hôte distant.

Syntaxe

ftp [ -d ] [ -D DataConnTimeOut ] [ -g ] [ -i ] [ -n ] [ -v ] [ -f ] [ -K ] [ -k realm ] [ -q ] [ -C ] [ -s ] [ -M ] [ HostName [ Port ] ] [ -H ]

Descriptif

La commande ftp utilise le protocole FTP (File Transfer Protocol) pour transférer des fichiers entre l'hôte local et un hôte distant ou entre deux hôtes distants. L'exécution à distance de la commande ftp n'est pas recommandée.

Le protocole FTP permet le transfert de données entre des hôtes qui utilisent des systèmes de fichiers différents. Bien que le protocole offre une grande souplesse dans le transfert des données, il ne tente pas de conserver les attributs de fichier (tels que le mode de protection ou les heures de modification d'un fichier) spécifiques à un système de fichiers particulier. En outre, le protocole FTP fait peu d'hypothèses sur la structure globale d'un système de fichiers et ne fournit pas ou n'autorise pas des fonctions telles que la copie récursive de sous-répertoires.

Remarque: Si vous transférez des fichiers entre des systèmes et que vous devez conserver les attributs de fichier ou copier de manière récursive des sous-répertoires, utilisez la commande rcp .

Génération de sous-commandes

A l'occasion de l'événementftp>vous pouvez entrer des sous-commandes pour effectuer des tâches telles que l'affichage de la liste des répertoires distants, la modification des répertoires local et distant en cours, le transfert de plusieurs fichiers dans une même demande, la création et la suppression de répertoires et la mise en échappement vers le shell local pour exécuter des commandes shell. Voir la section Sous-commandes pour obtenir une description de chaque sous-commande.

Si vous exécutez la commande ftp et que vous ne spécifiez pas le paramètre HostName pour un hôte distant, la commande ftp affiche immédiatement laftp>et attend une sous-commande ftp . Pour vous connecter à un hôte distant, exécutez la ouvrir sous-commande. Lorsque la commande ftp se connecte à l'hôte distant, la commande ftp vous invite à indiquer le nom de connexion et le mot de passe avant d'afficher leftp>invite à nouveau. La commande ftp échoue si aucun mot de passe n'est défini sur l'hôte distant pour le nom de connexion.

L'interpréteur de commandes ftp , qui gère toutes les sous-commandes entrées dans leftp>, fournit des fonctions qui ne sont pas disponibles avec la plupart des programmes de transfert de fichiers, tels que:

  • Traitement des paramètres file-name dans les sous-commandes ftp
  • Collecte d'un groupe de sous-commandes dans une macro de sous-commande unique
  • Chargement de macros à partir d'un fichier $HOME/.netrc

Ces fonctions simplifient les tâches répétitives et vous permettent d'utiliser la commande ftp en mode sans opérateur.

L'interpréteur de commandes gère les paramètres file-name conformément aux règles suivantes:

  • Si un trait d'union est spécifié pour le paramètre, l'entrée standard (stdin) est utilisée pour les opérations de lecture et la sortie standard (stdout) est utilisée pour les opérations d'écriture.
  • Si la vérification précédente ne s'applique pas et que l'extension de nom de fichier est activée (voir l'indicateur -g ou la sous-commande glob ), l'interpréteur développe le nom de fichier selon les règles de l'interpréteur C. Lorsque globbing est activé et qu'un caractère de correspondance de modèle est utilisé dans une sous-commande qui attend un nom de fichier unique, les résultats peuvent être différents de ceux attendus.

    Par exemple, les sous-commandes append et put effectuent une extension de nom de fichier, puis utilisent uniquement le premier nom de fichier généré. D'autres sous-commandes ftp , telles que cd, delete, get, mkdir, rename, et rmdir, n'effectuez pas d'extension de nom de fichier et utilisez littéralement les caractères de correspondance de modèle.

  • Pour get, put, mgetet les sous-commandes mput , l'interpréteur a la capacité de traduire et de mapper entre différents styles de syntaxe de nom de fichier local et distant (voir case, ntrans, et nmap ) et la possibilité de modifier un nom de fichier local s'il n'est pas unique (voir la sous-commande runique ). De plus, la commande ftp peut envoyer des instructions à un serveur ftpd distant pour modifier un nom de fichier distant s'il n'est pas unique (voir la sous-commande sunique ).
  • Utilisez des guillemets ("") pour spécifier des paramètres qui incluent des caractères blancs.
    Remarque: L'interpréteur de commandes ftp ne prend pas en charge les canaux de communication. Il ne prend pas non plus nécessairement en charge tous les noms de fichier multioctet.

Pour mettre fin à une session ftp lorsque vous travaillez en mode interactif, utilisez la sous-commande quit ou bye ou la séquence de touches Fin de fichier (Ctrl-D) au niveau de laftp>invite. Pour mettre fin à un transfert de fichiers avant qu'il ne soit terminé, appuyez sur la touche Interrompre. La séquence de touches d'interruption par défaut est Ctrl-C. La commande stty peut être utilisée pour redéfinir cette séquence de touches.

La commande ftp arrête normalement les transferts en cours d'envoi (de l'hôte local vers l'hôte distant) immédiatement. La commande ftp arrête les transferts en cours de réception (de l'hôte distant vers l'hôte local) en envoyant une instruction FTP ABOR au serveur FTP distant et en supprimant tous les paquets de transfert de fichiers entrants jusqu'à ce que le serveur distant arrête de les envoyer. Si le serveur distant ne prend pas en charge l'instruction ABOR, la commande ftp n'affiche pasftp>jusqu'à ce que le serveur distant ait envoyé tous les fichiers demandés. En outre, si le serveur distant fait quelque chose d'inattendu, vous devrez peut-être arrêter le processus ftp local.

Sécurité et connexion automatique

Si Standard est la méthode d'authentification en cours:

La commande ftp gère également la sécurité en envoyant des mots de passe à l'hôte distant et permet la connexion automatique, les transferts de fichiers et la déconnexion.

Si vous exécutez la commande ftp et spécifiez le nom d'hôte (HostName) d'un hôte distant, la commande ftp tente d'établir une connexion à l'hôte spécifié. Si la connexion à la commande ftp aboutit, la commande ftp recherche un fichier local $HOME/.netrc dans votre répertoire de travail ou votre répertoire de base. Si le fichier existe, la commande ftp recherche dans le fichier une entrée initiant le processus de connexion et des définitions de macro de commande pour l'hôte distant. Si le fichier $HOME/.netrc ou l'entrée de connexion automatique n'existe pas ou si votre système a été sécurisé à l'aide de la commande securetcpip , la commande ftp invite l'utilisateur à entrer un nom d'utilisateur et un mot de passe. La commande affiche l'invite, que le paramètre HostName soit spécifié ou non sur la ligne de commande.

Remarque: Le système de mise en file d'attente ne prend pas en charge les noms d'hôte multioctets.

Si la commande ftp trouve une entrée de connexion automatique $HOME/.netrc pour l'hôte spécifié, la commande ftp tente d'utiliser les informations de cette entrée pour se connecter à l'hôte distant. La commande ftp charge également toutes les macros de commande définies dans l'entrée. Dans certains cas (par exemple, lorsque le mot de passe requis n'est pas répertorié dans une entrée de connexion automatique), la commande ftp vous invite à entrer le mot de passe avant d'afficher leftp>invite.

Une fois que la commande ftp a terminé la connexion automatique, la commande ftp exécute la macro init si la macro est définie dans l'entrée de connexion automatique. Si la macro init n'existe pas ou ne contient pas de sous-commande quit ou bye , la commande ftp affiche ensuite laftp>et attend une sous-commande.

Remarque: Le nom d'utilisateur distant spécifié à l'invite ou dans un fichier $HOME/.netrc doit exister et avoir un mot de passe défini sur l'hôte distant. Sinon, la commande ftp échoue.

Si Kerberos 5 est la méthode d'authentification en cours

La commande ftp utilise les extensions des spécifications ftp telles que définies dans le brouillon de document IETF "draft-ietf-cat-ftpsec-09.txt". Les extensions de sécurité FTP seront implémentées à l'aide du mécanisme de sécurité GSSAPI (Generic Security Service API). GSSAPI fournit des services indépendants du mécanisme de sécurité et de communication sous-jacent. L'interface GSSAPI est définie dans les fichiers rfc 1508 et 1509.

La commande ftp utilise les commandes AUTH et ADAT pour s'authentifier auprès du démon ftpd . Si les deux prennent en charge l'authentification Kerberos , ils utiliseront les données d'identification DCE des utilisateurs locaux pour authentifier l'utilisateur sur le système distant. Si cela échoue et que l'authentification standard est configurée sur les deux systèmes, le processus décrit ci-dessus sera utilisé.

Le paramètre HostName est le nom de la machine hôte vers laquelle les fichiers sont transférés. Le paramètre facultatif Port indique l'ID du port via lequel la transmission doit être assurée. (Le fichier /etc/services indique le port par défaut.)

Remarque: Si la valeur du registre est correctement définie sur le schéma d'authentification en cours, l'authentification FTP fonctionne avec le mot de passe Active Directory. Si la valeur du registre est définie sur null, la valeur par défaut des fichiers (authentification d'utilisateur local) est utilisée.

Prise en charge du protocole TLS (Transport Layer Security)

La commande ftp prend en charge le protocole TLS (Transport Layer Security) tel que défini dans RFC 4217. TLS est un protocole cryptographique qui fournit des communications sécurisées entre les clients et les serveurs.

La commande ftp utilise les commandes AUTH TLS et PROT P pour sécuriser la communication avec le démon ftpd . Si les commandes AUTH TLS et PROT P prennent en charge le protocole TLS, un canal sécurisé est établi. Seule la méthode d'authentification standard est prise en charge.

Si l'indicateur -s est spécifié lorsque vous exécutez la commande ftp , la commande ftp recherche un fichier local $HOME/.ftpcnf dans votre répertoire de base. Si le fichier est trouvé, la commande ftp utilise les paramètres de configuration suivants pour configurer une session TLS avec le serveur. Si le fichier est introuvable ou que les paramètres de configuration sont manquants, la commande ftp tente de se connecter au serveur sans utiliser les paramètres de configuration.

CHEMIN_CRL
Le paramètre CRL_PATH fournit le chemin d'accès au fichier de liste de révocation de certificat, qui doit être au format PEM (Privacy Enhanced Mail). S'il est spécifié, le certificat numérique fourni par le serveur est vérifié par rapport à la liste de révocation de certificat. Si le certificat a été révoqué, la session TLS échoue. S'il n'est pas spécifié, le certificat numérique n'est pas vérifié par rapport à une liste de révocation de certificat.
CHEMIN_C
Le paramètre CA_PATH fournit le chemin d'accès au fichier d'autorité de certification, qui doit être au format PEM. S'il est spécifié, le certificat du serveur est vérifié par rapport à l'autorité de certification. Si le certificat numérique fourni par le serveur n'a pas été signé par l'autorité de sécurité, la session TLS échoue. S'il n'est pas spécifié, le certificat numérique fourni par le serveur n'est pas vérifié par rapport à une liste de révocation de certificat.
LISTER CIPHER
Si le paramètre CIPHER_LIST est spécifié, la liste est utilisée lors de la session TLS. Si ce n'est pas le cas, une liste de chiffrement par défaut est utilisée.
Longueur
Si le paramètre de configuration CA_PATH est spécifié, la valeur DEPTH est utilisée pour vérifier le certificat fourni par le serveur ftpd dans la hiérarchie des certificats numériques. S'il n'est pas indiqué, la valeur par défaut 9 est utilisée.
CERTIFICAT
Le paramètre CERTIFICATE fournit un chemin d'accès au fichier de chaîne d'un certificat numérique valide au format PEM. Ce fichier est utilisé dans la session TLS.
CERTIFICAT FICATE_PRIVATE_KEY
Le paramètre CERTIFICATE_PRIVATE_KEY contient le chemin d'accès à la clé privée du certificat, au format PEM, qui est utilisée lors de la session TLS. Pour prendre en charge TLS, vous devez installer la dernière version de l'outil OpenSSL à partir du site Web AIX® Web Download Pack Programs .

Indicateurs

Article Descriptif
-C Permet à l'utilisateur d'indiquer que le fichier sortant envoyé à l'aide de la commande send_file doit être mis en cache dans le cache NBC (Network Buffer Cache). Cet indicateur ne peut pas être utilisé sauf si l'indicateur -q est spécifié. Cet indicateur n'est applicable que lorsqu'un fichier est envoyé en mode binaire sans protection.
-d Envoie des informations de débogage sur les opérations de commande ftp au démon syslogd . Si vous spécifiez l'indicateur -d , vous devez éditer le fichier /etc/syslog.conf et ajouter l'une des entrées suivantes:
user.info FileName

OR

user.debug FileName
Remarque: Le niveau de débogage du démon syslogd inclut des messages de niveau information.

Si vous n'éditez pas le fichier /etc/syslog.conf , aucun message n'est généré. Après avoir modifié le fichier /etc/syslog.conf exécutez la commande refresh -s syslogd ou kill -1 SyslogdPID pour informer le démon syslogd des modifications apportées à son fichier de configuration. Pour plus d'informations sur les niveaux de débogage, consultez le fichier /etc/syslog.conf pour en savoir plus. Reportez-vous également à la sous-commande debug.

-D DataConnTimeOut

Indique le nombre maximal de secondes pendant lesquelles la commande ftp maintient une connexion de données. La valeur par défaut est de 300 secondes et peut être comprise entre 300 secondes et 3600 secondes.

-f Entraîne le transfert des données d'identification. Cet indicateur sera ignoré si Kerberos 5 n'est pas la méthode d'authentification en cours.
-g Désactive l'extension des métacaractères dans les noms de fichier. L'interprétation des métacaractères peut être appelée extension (parfois appelée globbing) d'un nom de fichier. Voir la sous-commande glob .
-h Active la journalisation d'audit pour l'événement FILE_Unlink si l'événement est activé pour l'utilisateur.
-i Désactive l'invite interactive lors de plusieurs transferts de fichiers. Voir prompt, mget, mput, et les sous-commandes mdelete pour les descriptions des invites lors de plusieurs transferts de fichiers.
-K Désactive l'option SO_KEEPALIVE définie dans le fichier sys/socket.h sur la connexion de contrôle et de données.
-k domaine Permet à l'utilisateur de spécifier le domaine du poste distant s'il est différent du domaine des systèmes locaux. A ces fins, un domaine est synonyme d'une cellule DCE. Cet indicateur sera ignoré si Kerberos 5 n'est pas la méthode d'authentification en cours.
-M Empêche le blocage de la commande ftp après le transfert d'un fichier entre un hôte local et un hôte distant.
-n Empêche une connexion automatique sur la connexion initiale. Sinon, la commande ftp recherche une entrée $HOME/.netrc qui décrit le processus de connexion et d'initialisation de l'hôte distant. Voir la sous-commande user .
-q Permet à l'utilisateur d'indiquer que la sous-routine send_file doit être utilisée pour envoyer le fichier sur le réseau. Cet indicateur n'est applicable que lorsqu'un fichier est envoyé en mode binaire sans protection.
-v Affiche toutes les réponses du serveur distant et fournit des statistiques de transfert de données. Ce mode d'affichage est le mode par défaut lorsque la sortie de la commande ftp est envoyée à un terminal, tel que la console ou un écran.

Si stdin n'est pas un terminal, la commande Ftp désactive le mode prolixe sauf si l'utilisateur a appelé la commande Ftp avec l'indicateur -v ou a émis la sous-commande prolixe .

-S Démarre une session TLS avec le serveur en envoyant une commande AUTH TLS et une commande PROT P au démon ftpd . Si la session TLS est établie et que vous êtes authentifié à l'aide de la méthode d'authentification standard, le transfert des données et des commandes est chiffré.

Sous-commandes

Les sous-commandes ftp suivantes peuvent être entrées dans laftp>invite. Utilisez des guillemets ("") pour spécifier des paramètres qui incluent des caractères blancs.

Article Descriptif
![Commande [Paramètres] ] Appelle un interpréteur de commandes interactif sur l'hôte local. Une commande facultative, avec un ou plusieurs paramètres facultatifs, peut être fournie avec la commande shell.
$Macro [Paramètres] Exécute la macro spécifiée, précédemment définie avec la sous-commande macdef . Les paramètres ne sont pas développés.
?[Sous-commande] Affiche un message d'aide décrivant la sous-commande. Si vous ne spécifiez pas de paramètre Sous-commande , la commande ftp affiche la liste des sous-commandes connues.
account [Mot de passe] Envoie un mot de passe supplémentaire dont un hôte distant peut avoir besoin avant d'accorder l'accès à ses ressources. Si le mot de passe n'est pas fourni avec la commande, l'utilisateur est invité à le saisir. Le mot de passe ne s'affiche pas à l'écran.
ajouter LocalFile [ RemoteFile ] Ajoute un fichier local à un fichier sur l'hôte distant. Si le nom de fichier distant n'est pas spécifié, le nom de fichier local est utilisé, modifié par tout paramètre créé à l'aide de la sous-commande ntrans ou de la sous-commande nmap . La sous-commande append utilise les valeurs en cours pour form, mode, structet sous-commandes type lors de l'ajout du fichier.
ASCII Synonyme de la sous-commande type ascii .
caractère d'appel Sonne une cloche après la fin de chaque transfert de fichiers.
binaire Synonyme de la sous-commande type binary .
block Synonyme de la sous-commande mode block .
au revoir Met fin à la session de transfert de fichiers et quitte la commande ftp . Identique à la sous-commande quit .
contrôle chariot Synonyme de la sous-commande form chariot-control .
cas Définit un bouton à bascule pour la casse des noms de fichier. Lorsque la sous-commande case est activée, la commande ftp change les noms de fichiers distants affichés en majuscules en les faisant passer de majuscules à minuscules lors de leur écriture dans le répertoire local. La valeur par défaut est Off (par conséquent, la commande ftp écrit les noms de fichiers distants en majuscules dans le répertoire local).
cd RemoteDirectory Remplace le répertoire de travail sur l'hôte distant par le répertoire spécifié.
cdup Remplace le répertoire de travail sur l'hôte distant par le parent du répertoire en cours.
fermer Met fin à la session de transfert de fichiers, mais ne quitte pas la commande ftp . Les macros définies sont effacées. Identique à la sous-commande disconnect .
copielocale Active / désactive la copie locale. La valeur par défaut de copylocal est désactivée. Un effort est fait par ftp pour vous assurer que vous ne mettez pas à zéro un fichier en le ftp'ing à lui-même (par exemple, même nom d'hôte, même nom de chemin). L'activation de copylocal permet d'ignorer cette vérification.
cr Supprime le caractère de retour chariot d'une séquence de retour chariot et de saut de ligne lors de la réception d'enregistrements lors de transferts de fichiers de type ASCII. (La commande ftp met fin à chaque enregistrement de type ASCII avec un retour chariot et un saut de ligne lors des transferts de fichiers.)

Les enregistrements sur des hôtes distants avec des systèmes d'exploitation autres que celui que vous exécutez peuvent comporter des sauts de ligne uniques intégrés dans des enregistrements. Pour distinguer ces sauts de ligne imbriqués des délimiteurs d'enregistrement, définissez la sous-commande cr sur Off. La sous-commande cr bascule entre On et Off.

debug [0 | 1 ] Active ou désactive la conservation des enregistrements de débogage. Indiquez debug ou debug 1 pour imprimer chaque commande envoyée à l'hôte distant et sauvegarder le fichier de contrôle de redémarrage. Indiquez à nouveau debug ou debug 0pour arrêter la conservation des enregistrements de débogage. La séquence de touches Ctrl-C sauvegarde également le fichier de contrôle de redémarrage.

La spécification de la sous-commande debug envoie des informations de débogage sur les opérations de commande ftp au démon syslogd . Si vous spécifiez la sous-commande debug , vous devez éditer le fichier /etc/syslog.conf et ajouter l'une des entrées suivantes:

user.info FileName

OR

user.debug FileName
Remarque: Le niveau de débogage du démon syslogd inclut des messages de niveau information.

Si vous n'éditez pas le fichier /etc/syslog.conf , aucun message n'est généré. Après avoir modifié le fichier /etc/syslog.conf exécutez la commande refresh -s syslogd ou kill -1 SyslogdPID pour informer le démon syslogd des modifications apportées à son fichier de configuration. Pour plus d'informations sur les niveaux de débogage, consultez le fichier /etc/syslog.conf pour en savoir plus. Consultez également le drapeau ftp -d.

supprimer RemoteFile Supprime le fichier distant spécifié.
dir [RemoteDirectory] [LocalFile] Écrit une liste du contenu du répertoire distant spécifié (RemoteDirectory) dans le fichier local spécifié (LocalFile). Si le paramètre RemoteDirectory n'est pas spécifié, la sous-commande dir répertorie le contenu du répertoire distant en cours. Si le paramètre LocalFile n'est pas spécifié ou s'il s'agit d'un-(trait d'union), la sous-commande dir affiche la liste sur le terminal local.
déconnexion Met fin à la session de transfert de fichiers mais ne quitte pas la commande ftp . Les macros définies sont effacées. Identique à la sous-commande close .
EBCDIC Synonyme de la sous-commande type ebcdic .
cmd exp_cmd Bascule entre les commandes de protocole conventionnelles et expérimentales. Par défaut, cette option est désactivée.
Fichier Synonyme de la sous-commande struct file .
form [ contrôle-chariot | non-print | telnet ] Indique le format du transfert de fichiers. La sous-commande form modifie la sous-commande type pour envoyer le transfert de fichier dans le format indiqué. Les arguments valides sont chariot-control, non-printet telnet.
contrôle chariot
Définit la forme du transfert de fichiers sur le contrôle chariot.
sans impression
Définit le format du transfert de fichier sur non imprimé.
telnet
Définit la forme du transfert de fichiers sur Telnet. Telnet est un protocole Transmission Control Protocol / Internet Protocol (TCP/IP) qui permet d'établir des connexions avec un système.
obtenir RemoteFile [ LocalFile ] Copie le fichier distant sur l'hôte local. Si le paramètre LocalFile n'est pas spécifié, le nom de fichier distant est utilisé localement et modifié par les paramètres définis par les sous-commandes case, ntranset nmap. La commande ftp utilise les paramètres en cours pour le type, format, modeet sous-commandes struct lors du transfert du fichier.
glob Active / désactive l'extension de nom de fichier (globbing) pour mdelete, mget, et les sous-commandes mput . Si la fonction globbing est désactivée, les paramètres file-name de ces sous-commandes ne sont pas développés. Lorsque globbing est activé et qu'un caractère de correspondance de modèle est utilisé dans une sous-commande qui attend un nom de fichier unique, les résultats peuvent être différents de ceux attendus.

Par exemple, les sous-commandes append et put effectuent une extension de nom de fichier, puis utilisent uniquement le premier nom de fichier généré. D'autres sous-commandes ftp , telles que cd, delete, get, mkdir, rename, et rmdir, n'effectuez pas d'extension de nom de fichier et utilisez littéralement les caractères de correspondance de modèle.

La globalisation de la sous-commande mput s'effectue localement de la même manière que pour la commande csh . Pour les sous-commandes mdelete et mget , chaque nom de fichier est développé séparément sur la machine distante et les listes ne sont pas fusionnées. L'extension d'un nom de répertoire peut être différente de l'extension d'un nom de fichier, en fonction de l'hôte distant et du serveur ftp .

Pour prévisualiser l'extension d'un nom de répertoire, utilisez la sous-commande mls :

mls RemoteFile 

Pour transférer une sous-arborescence de répertoires complète de fichiers, transférez une archive tar de la sous-arborescence au format binaire, plutôt que d'utiliser la sous-commande mget ou mput .

hachage Active / désactive l'impression du signe dièse (#). Lorsque la sous-commande hash est en fonction, la commande ftp affiche un signe de hachage pour chaque bloc de données (1024 octets) transféré.
help [Sous-commande] Affiche des informations supplémentaires. Voir ? sous-commande.
image Synonyme de la sous-commande type image .
lcd [Répertoire] Modifie le répertoire de travail sur l'hôte local. Si vous ne spécifiez pas de répertoire, la commande ftp utilise votre répertoire de base.
local M Synonyme de la sous-commande type local M .
ls [ RemoteDirectory ] [ LocalFile ] Ecrit une liste abrégée de fichiers d'un répertoire distant dans un fichier local. Si le paramètre RemoteDirectory n'est pas spécifié, la commande ftp répertorie le répertoire distant en cours. Si le paramètre LocalFile n'est pas spécifié ou s'il s'agit d'un trait d'union, la commande ftp affiche la liste sur le terminal local.
macdef Macro Définit une macro de sous-commande. Les lignes suivantes jusqu'à une ligne nulle (deux sauts de ligne consécutifs) sont enregistrées en tant que texte de la macro. Jusqu'à 16 macros, contenant au maximum 4096 caractères pour toutes les macros, peuvent être définies. Les macros restent définies jusqu'à ce qu'elles soient redéfinies ou qu'une sous-commande close soit exécutée.

Les caractères $ (symbole du dollar) et \ (barre oblique inversée) sont des caractères spéciaux dans les macros ftp . Un symbole $ suivi d'un ou de plusieurs nombres est remplacé par le paramètre de macro correspondant sur la ligne d'appel (voir la sous-commande $ ). Un symbole $ suivi de la lettre i indique que la macro doit être bouclée, la combinaison de caractères $i étant remplacée par des paramètres consécutifs à chaque passage.

Le premier paramètre macro est utilisé lors de la première passe, le deuxième paramètre est utilisé lors de la deuxième passe, etc. A\Le symbole empêche le traitement spécial du caractère suivant. Utilisez le symbole \ pour désactiver les significations spéciales des caractères $ et \. (point de barre oblique inversée).

msupprimer RemoteFiles Développe les fichiers spécifiés par le paramètre RemoteFiles sur l'hôte distant et supprime les fichiers distants.
mdir [ RemoteDirectories LocalFile ] Développe les répertoires spécifiés par le paramètre RemoteDirectories sur l'hôte distant et écrit une liste du contenu de ces répertoires dans le fichier spécifié dans le paramètre LocalFile . Si le paramètre RemoteDirectories contient un caractère de correspondance de modèle, la sous-commande mdir vous invite à indiquer un fichier local si aucun n'est spécifié. Si le paramètre RemoteDirectories est une liste de répertoires distants séparés par des blancs, le dernier argument de la liste doit être un nom de fichier local ou un trait d'union (-).

Si le paramètre LocalFile est-(trait d'union), la sous-commande mdir affiche la liste sur le terminal local. Si l'invite interactive est active (voir la sous-commande prompt ), la commande ftp invite l'utilisateur à vérifier que le dernier paramètre est un fichier local et non un répertoire distant.

mget RemoteFiles Développe le paramètre RemoteFiles sur l'hôte distant et copie les fichiers distants indiqués dans le répertoire en cours sur l'hôte local. Pour plus d'informations sur l'extension de nom de fichier, voir la sous-commande glob . Les noms de fichiers distants sont utilisés localement et sont modifiés par les paramètres définis par case, ntrans, et les sous-commandes nmap . La commande ftp utilise les paramètres en cours pour form, mode, Sous-commandes structet type lors du transfert des fichiers.
mkdir [ RemoteDirectory ] Crée le répertoire spécifié dans le paramètre RemoteDirectory sur l'hôte distant.
mls [ RemoteDirectories LocalFile ] Développe les répertoires spécifiés dans le paramètre RemoteDirectories sur l'hôte distant et écrit une liste de fichiers abrégée des répertoires distants indiqués dans un fichier local. Si le paramètre RemoteDirectories contient un caractère de correspondance de modèle, la sous-commande mls vous invite à indiquer un fichier local si aucun n'est spécifié. Si le paramètre RemoteDirectories est une liste de répertoires distants séparés par des blancs, le dernier argument de la liste doit être un nom de fichier local ou un trait d'union (-).

Si le paramètre LocalFile est-(trait d'union), la sous-commande mls affiche la liste sur le terminal local. Si l'invite interactive est active (voir la sous-commande prompt ), la commande ftp invite l'utilisateur à vérifier que le dernier paramètre est un fichier local et non un répertoire distant.

mode [ stream | bloc ] Définit le mode de transfert de fichiers. Si aucun argument n'est fourni, la valeur par défaut est stream.
block
Définit le mode de transfert de fichiers à bloquer.
flux
Définit le mode de transfert de fichiers sur stream.
Article Descriptif
modheure Affiche l'heure de la dernière modification du fichier spécifié sur la machine distante. Si la commande ftp n'est pas connectée à un hôte avant l'exécution, la sous-commande modtime s'arrête avec un message d'erreur. La commande ftp ignore le paramètre au-delà du premier paramètre. Si le paramètre FileName n'est pas spécifié, la commande ftp vous invite à indiquer un nom de fichier. Si aucun nom de fichier n'est indiqué, la commande ftp envoie un message d'utilisation à la sortie standard et met fin à la sous-commande.

Si le nom spécifié par le paramètre FileName existe sur l'hôte distant et que le nom indique un fichier, la commande ftp envoie un message contenant l'heure de la dernière modification du fichier à la sortie standard et met fin à la sous-commande. Si FileName spécifie un répertoire, la commande ftp envoie un message d'erreur à la sortie standard et met fin à la sous-commande.

Remarque: La sous-commande modtime interprète les métacaractères lorsqu'elle est autorisée.
mput [ LocalFiles ] Développe les fichiers spécifiés dans le paramètre LocalFiles sur l'hôte local et copie les fichiers locaux indiqués sur l'hôte distant. Pour plus d'informations sur l'extension de nom de fichier, voir la sous-commande glob . Les noms de fichiers locaux sont utilisés sur l'hôte distant et sont modifiés par les paramètres définis par les sous-commandes ntrans et nmap . La commande ftp utilise les paramètres en cours pour le type, format, modeet sous-commandes struct lors du transfert des fichiers.
nlist [RemoteDirectory] [LocalFile] Écrit une liste du contenu du répertoire distant spécifié (RemoteDirectory) dans le fichier local spécifié (LocalFile). Si le paramètre RemoteDirectory n'est pas spécifié, la sous-commande nlist répertorie le contenu du répertoire distant en cours. Si le paramètre LocalFile n'est pas spécifié ou s'il s'agit d'un-(trait d'union), la sous-commande nlist affiche la liste sur le terminal local.
nmap [ InPattern OutPattern ] Active ou désactive le mécanisme de mappage de nom de fichier. Si aucun paramètre n'est spécifié, le mappage de nom de fichier est désactivé. Si des paramètres sont spécifiés, les noms de fichier source sont mappés pour les sous-commandes mget et Mput et pour les sous-commandes obtenir et insertion lorsque le nom de fichier de destination n'est pas spécifié. Cette sous-commande est utile lorsque les hôtes locaux et distants utilisent des conventions ou des pratiques de dénomination de fichier différentes. Le mappage suit le modèle défini par les paramètres InPattern et OutPattern .

Le paramètre InPattern spécifie le modèle pour les noms de fichiers entrants, qui ont peut-être déjà été traités en fonction des paramètres case et ntrans . Les variables de modèle$1via$9peut être inclus dans le paramètre InPattern . Tous les caractères du paramètre InPattern , à l'exception du signe $ (dollar) et du signe \ $ (barre oblique inversée, dollar), sont traités littéralement et sont utilisés comme délimiteurs entre les variables InPattern . Par exemple, si le paramètre InPattern est$1.$2et le nom du fichier distant estmydata.dat, la valeur de$1estmydataet la valeur de$2estdat.

Le paramètre OutPattern détermine le nom de fichier résultant. Les variables$1via$9sont remplacées par leurs valeurs dérivées du paramètre InPattern et de la variable$0est remplacé par le nom de fichier d'origine. De plus, la séquence [Sequence1,Sequence2] est remplacée par la valeur de Sequence1, si Sequence1 n'est pas null ; sinon, il est remplacé par la valeur de Sequence2. Par exemple, la sous-commande:

nmap $1.$2.$3 [$1,$2].[$2,file]

rendementmyfile.datademyfile.dataoumyfile.data.old,myfile.filede myfileetmyfile.myfilede.myfile. Utilisez le symbole \ (barre oblique inversée) pour empêcher les significations spéciales du signe $ (dollar), [ (crochet gauche), ] (crochet droit) et, (virgule) dans le paramètre OutPattern .

sans impression Synonyme de la sous-commande form non-print .
ntrans [InCharacters [OutCharacters] ] Active et désactive le mécanisme de conversion de caractères de nom de fichier. Si aucun paramètre n'est indiqué, la conversion de caractères est désactivée. Si des paramètres sont spécifiés, les caractères des noms de fichier source sont traduits pour les sous-commandes mget et Mput et pour les sous-commandes obtenir et insertion lorsque le nom de fichier de destination n'est pas spécifié.

Cette sous-commande est utile lorsque les hôtes locaux et distants utilisent des conventions ou des pratiques de dénomination de fichier différentes. La conversion de caractères suit le modèle défini par les paramètres InCharacters et OutCharacters . Les caractères d'un nom de fichier source correspondant aux caractères du paramètre InCharacters sont remplacés par les caractères correspondants du paramètre OutCharacters .

Si la chaîne spécifiée par le paramètre InCharacters est plus longue que la chaîne spécifiée par le paramètre OutCharacters , les caractères du paramètre InCharacters sont supprimés s'ils n'ont pas de caractère correspondant dans le paramètre OutCharacters .

ouvrir HostName [ Port ] Etablit une connexion au serveur FTP sur l'hôte spécifié par le paramètre HostName . Si le numéro de port facultatif est spécifié, la commande ftp tente de se connecter à un serveur sur ce port. Si la fonction de connexion automatique est définie (c'est-à-dire que l'indicateur -n n'a pas été spécifié sur la ligne de commande), la commande ftp tente de se connecter à l'utilisateur au serveur FTP.

Vous devez également disposer d'un fichier $HOME/.netrc contenant les informations correctes et les droits d'accès définis. Le fichier .netrc doit se trouver dans votre répertoire de base.

passives Active / désactive le mode passif pour les transferts de fichiers. Lorsqu'une commande de transfert de fichier (telle que get, mget, putou mput) est appelée avec le mode passif désactivé, le serveur ftp ouvre une connexion de données au client. En mode passif, le client ouvre des connexions de données au serveur lors de l'envoi ou de la réception de données.
private Définit le niveau de protection sur privé uniquement lorsque la méthode d'authentification est définie. À ce niveau, l'intégrité et la confidentialité des données sont protégées.
prompt Active / désactive l'invite interactive. Si l'invite interactive est activée (valeur par défaut), la commande ftp vous invite à effectuer une vérification avant d'extraire, d'envoyer ou de supprimer plusieurs fichiers au cours de l'opération mget, Sous-commandes mputet mdelete . Sinon, la commande ftp agit en conséquence sur tous les fichiers spécifiés.
protéger Cette commande renvoie le niveau de protection en cours.
proxy [Sous-commande] Exécute une commande ftp sur une connexion de contrôle secondaire. Cette sous-commande permet à la commande ftp de se connecter simultanément à deux serveurs FTP distants pour le transfert de fichiers entre les deux serveurs. La première sous-commande proxy doit être une sous-commande open pour établir la connexion de contrôle secondaire. Entrez le proxy? pour afficher les autres sous-commandes ftp exécutables sur la connexion secondaire.

Les sous-commandes suivantes se comportent différemment lorsqu'elles sont précédées de la sous-commande proxy :

  • La sous-commande open ne définit pas de nouvelles macros lors du processus de connexion automatique.
  • La sous-commande close n'efface pas les définitions de macro existantes.
  • Les sous-commandes get et mget transfèrent les fichiers de l'hôte sur la connexion principale vers l'hôte sur la connexion secondaire.
  • put, mput, et les sous-commandes append transfèrent les fichiers de l'hôte sur la connexion secondaire vers l'hôte sur la connexion principale.
  • La sous-commande restart peut être traitée par la commande proxy .
  • La sous-commande status affiche des informations précises.

Les transferts de fichiers nécessitent que le serveur FTP sur la connexion secondaire prenne en charge l'instruction PASV (passive).

mettre LocalFile [ RemoteFile ] Stocke un fichier local sur l'hôte distant. Si vous ne spécifiez pas le paramètre RemoteFile , la commande ftp utilise le nom de fichier local pour nommer le fichier distant et le nom de fichier distant est modifié par les paramètres définis par les sous-commandes ntrans et nmap . La commande ftp utilise les paramètres en cours pour le type, format, modeet sous-commandes struct lors du transfert des fichiers.
pwd Affiche le nom du répertoire en cours sur l'hôte distant.
sortie Ferme la connexion et quitte la commande ftp . Identique à la sous-commande bye .
quote Chaîne Envoie la chaîne spécifiée par le paramètre String verbatim à l'hôte distant. Exécutez la sous-commande remotehelp ou quote help pour afficher une liste de valeurs valides pour le paramètre String .
Remarque: les commandes "Quoting" qui impliquent des transferts de données peuvent produire des résultats imprévisibles.
enregistrement Synonyme de la sous-commande struct record .
récupérer RemoteFile [ LocalFile ] Copie le fichier distant sur l'hôte local. Identique à la sous-commande get .
réinitialiser Réinitialise une session FTP en vider toutes les E-S et en permettant l'exécution des transferts. Réinitialise toutes les valeurs par défaut comme si un utilisateur venait de démarrer une session FTP sans se connecter à un hôte distant.
remotehelp [Sous-commande] Demande de l'aide au serveur FTP distant.
renommer FromName ToName Renomme un fichier sur l'hôte distant.
reset Efface la file d'attente de réponses. Cette sous-commande resynchronise l'analyse syntaxique de la commande.
redémarrer get | put | append Redémarre un transfert de fichier au point où le dernier point de contrôle a été effectué. Pour que l'exécution aboutisse, la sous-commande doit être identique à la sous-commande abandonnée, y compris la structure, le type et le format. Les arguments valides sont get, putet append.
rmdir RemoteDirectory Supprime le répertoire distant spécifié par le paramètre RemoteDirectory sur l'hôte distant.
runique (ReceiveUnique) Active ou désactive la fonction de création de noms de fichier uniques pour les fichiers de destination locale au cours des sous-commandes get et mget . Si cette fonction est désactivée (valeur par défaut), la commande ftp écrase les fichiers locaux. Sinon, si un fichier local a le même nom que celui spécifié pour un fichier de destination local, la commande ftp modifie le nom spécifié du fichier de destination local avec.1. Si un fichier local utilise déjà le nouveau nom, la commande ftp ajoute le suffixe .2 au nom spécifié. Si un fichier local utilise déjà ce deuxième nom, la commande ftp continue d'incrémenter le suffixe jusqu'à ce qu'elle trouve un nom de fichier unique ou qu'elle atteigne .99 sans trouver de nom de fichier unique. Si la commande ftp ne parvient pas à trouver un nom de fichier unique, la commande ftp signale une erreur et le transfert n'a pas lieu. Notez que la sous-commande runique n'affecte pas les noms de fichiers locaux générés à partir d'une commande shell.
Sûr Définit le niveau de protection sur "safe". A ce niveau, l'intégrité des données est protégée.
envoyer LocalFile [ RemoteFile ] Stocke un fichier local sur l'hôte distant. Identique à la sous-commande put .
sendport Active / désactive l'utilisation des instructions FTP PORT. Par défaut, la commande ftp utilise une instruction PORT lors de l'établissement d'une connexion pour chaque transfert de données. Lorsque l'utilisation des instructions PORT est désactivée, la commande ftp n'utilise pas les instructions PORT pour les transferts de données. L'instruction PORT est utile lorsque vous traitez des serveurs FTP qui ignorent les instructions PORT tout en indiquant de manière incorrecte que les instructions ont été acceptées.
site Args Affiche ou définit le délai d'inactivité, affiche ou définit l'umask de création de fichier ou modifie les droits d'accès d'un fichier à l'aide de la commande chmod . Les valeurs possibles pour le paramètre Args sont umask et chmod.
taille RemoteFile Affiche la taille en octets du fichier distant spécifié par le paramètre RemoteFile .
status Affiche l'état en cours de la commande ftp ainsi que l'état des sous-commandes.
flux Synonyme de la sous-commande mode stream .
struct [ fichier | enregistrement ] Définit le type de structure de transfert de données. Les arguments valides sont file et record.
Fichier
Définit le type de structure de transfert de données dans un fichier.
enregistrement
Définit le type de structure de transfert de données à enregistrer.
technique (Envoi / Magasin unique) Active ou désactive la fonction de création de noms de fichier uniques pour les fichiers de destination distants lors des sous-commandes put et mput . Si cette fonction est désactivée (valeur par défaut), la commande ftp écrase les fichiers distants. Sinon, si un fichier distant a le même nom que celui spécifié pour un fichier de destination distant, le serveur FTP distant modifie le nom du fichier de destination distant. Notez que le serveur distant doit prendre en charge l'instruction STOU.
Système Affiche le type de système d'exploitation en cours d'exécution sur la machine distante.
telnet Synonyme de la sous-commande form telnet .
tenex Synonyme de la sous-commande type tenex .
trace Active / désactive le traçage des paquets.
type [ ascii | binaire | Ebcdic | image | local M | tenex ] Définit le type de transfert de fichier. Les arguments valides sont ascii, binary, ebcdic, image, local Met tenex. Si aucun argument n'est indiqué, le type en cours est imprimé. Le type par défaut est ascii; le type binaire peut être plus efficace que ascii.
ASCII
Définit le type de transfert de fichiers sur ASCII réseau. Ce type est le type par défaut. Le transfert de fichiers peut être plus efficace avec le transfert d'images binaires. Pour plus d'informations, voir l'argument binary .
binaire
Définit le type de transfert de fichier sur image binaire. Ce type peut être plus efficace qu'un transfert ASCII.
EBCDIC
Définit le type de transfert de fichier sur EBCDIC.
image
Définit le type de transfert de fichier sur image binaire. Ce type peut être plus efficace qu'un transfert ASCII.
local M
Définit le type de transfert de fichier sur local. Le paramètre M définit le nombre décimal de bits par mot machine. Ce paramètre n'a pas de valeur par défaut.
tenex
Définit le type de transfert de fichiers sur celui requis pour les machines TENEX.
user Utilisateur [Mot de passe] [Compte] Identifie l'utilisateur local (Utilisateur) sur le serveur FTP distant. Si le paramètre Mot de passe ou Compte n'est pas spécifié et que le serveur distant le requiert, la commande ftp vous invite à indiquer le mot de passe ou le compte en local. Si le paramètre Compte est requis, la commande ftp l'envoie au serveur distant une fois le processus de connexion à distance terminé.
Remarque: sauf si la connexion automatique est désactivée en spécifiant l'indicateur -n sur la ligne de commande, la commande ftp envoie User, Mot de passeet paramètres Compte automatiquement pour la connexion initiale au serveur distant. Vous avez également besoin d'un fichier .netrc dans votre répertoire de base afin d'établir une connexion automatique.
verbose Active / désactive le mode prolixe. Lorsque le mode prolixe est activé (valeur par défaut), la commande ftp affiche toutes les réponses du serveur FTP distant. En outre, la commande ftp affiche des statistiques sur tous les transferts de fichiers une fois les transferts terminés.

Exemples

  1. Pour appeler la commande ftp , connectez-vous au systèmecanopus, afficher des informations d'aide locales, afficher des informations d'aide à distance, afficher l'état, basculer la cloche, invite, runique, trace, et les sous-commandes verbose , puis quittez, entrez:
    $ ftp canopus
    Connected to canopus.austin.century.com.
    220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready.
    Name (canopus:eric): dee
    331 Password required for dee.
    Password:
    230 User dee logged in.
    ftp> help
    Commands may be abbreviated. Commands are:
    !          delete          mdelete          proxy          runique
    $          debug           mdir             sendport       send
    account    dir             mget             put            size
    append     disconnect      mkdir            pwd            status
    ascii      form            mls              quit           struct
    bell       get             mode             quote          sunique
    binary     glob            modtime          recv           system
    bye        hash            mput             remotehelp     tenex
    case       help            nmap             rstatus        trace
    cd         image           nlist            rhelp          type
    cdup       lcd             ntrans           rename         user
    close      ls              open             reset          verbose
    cr         macdef          prompt           rmdir          ?
    clear      private         protect          safe
    ftp> remotehelp
    214-The following commands are recognized(* =>'s unimplemented).
     USER   PORT   RETR   MSND*  ALLO   DELE   SITE*  XMKD   CDUP 
     PASS   PASV   STOR   MSOM*  REST*  CWD    STAT*  RMD    XCUP
     ACCT*  TYPE   APPE   MSAM*  RNFR   XCWD   HELP   XRMD   STOU 
     REIN*  STRU   MLFL*  MRSQ*  RNTO   LIST   NOOP   PWD 
     QUIT   MODE   MAIL*  MRCP*  ABOR   NLST   MKD    XPWD 
     AUTH   ADAT   PROT   PBSZ   MIC    ENC    CCC
    214 Direct comments to ftp-bugs@canopus.austin.century.com.
    ftp> status
    Connected to canopus.austin.century.com.
    No proxy connection.
    Mode: stream; Type: ascii; Form: non-print; Structure: file
    Verbose: on; Bell: off; Prompting: on; Globbing: on
    Store unique: off; Receive unique: off
    Case: off; CR stripping: on
    Ntrans: off
    Nmap: off
    Hash mark printing: off; Use of PORT cmds: on
    ftp> bell
    Bell mode on.
    ftp> prompt
    Interactive mode off.
    ftp> runique
    Receive unique on.
    ftp> trace
    Packet tracing on.
    ftp> verbose
    Verbose mode off.
    ftp> quit
    $ 
  2. Pour appeler la commande ftp , connectez-vous au systèmecanopus, imprimez le répertoire de travail, modifiez le répertoire de travail, définissez le type de transfert de fichier sur ASCII, envoyez un fichier local à l'hôte distant, modifiez le répertoire de travail sur le répertoire parent, puis entrez:
    $ ftp canopus
    Connected to canopus.austin.century.com.
    220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready.
    Name (canopus:eric): dee
    331 Password required for dee.
    Password:
    230 User dee logged in.
    ftp> pwd
    257 "/home/dee" is current directory.
    ftp> cd desktop
    250 CWD command successful.
    ftp> type ascii
    200 Type set to A.
    ftp> send typescript
    200 PORT command successful.
    150 Opening data connection for typescript (128.114.4.99,1412).
    226 Transfer complete.
    ftp> cdup
    250 CWD command successful.
    ftp> bye
    221 Goodbye.
    $ 
  3. Pour appeler la commande ftp avec la connexion automatique (à l'aide du fichier .netrc ), ouvrez une session avec le systèmecanopus, connectez-vous, remplacez le répertoire de travail par le répertoire parent, imprimez le répertoire de travail, répertoriez le contenu du répertoire en cours, supprimez un fichier, écrivez une liste du contenu du répertoire en cours dans un fichier local, fermez la session, puis entrez:
    $ ftp canopus
    Connected to canopus.austin.century.com.
    220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready.
    331 Password required for dee.
    230 User dee logged in.
    ftp> cdup
    250 CWD command successful.
    ftp> pwd
    257 "/home" is current directory.
    ftp> dir
    200 PORT command successful.
    150 Opening data connection for /usr/bin/ls (128.114.4.99,1407) 
    (0 bytes).
    total 104
    drwxr-xr-x   2 system        32 Feb 23 17:55 bin
    Drwxr-xr-x  26 rios        4000 May 30 17:18 bin1
    drwxr-xr-x   2 system        32 Feb 23 17:55 books
    drwxrwxrwx  18 rios        1152 Jun  5 13:41 dee
    -r--r--r--   1 system      9452 May 17 12:21 filesystems
    drwxr-xr-x   2 system        32 Feb 23 17:55 jim
    drwxr-xr-x   5 system        80 Feb 23 17:55 krs
    drwxrwxrwx   2 rios       16432 Feb 23 17:36 lost+found
    -rwxr-xr-x   1 rios        3651 May 24 16:45 oldmail
    drwxr-xr-x   2 system       256 Feb 23 17:55 pubserv
    drwxrwxrwx   2 system       144 Feb 23 17:55 rein989
    drwxr-xr-x   2 system       112 Feb 23 17:55 reinstall
    226 Transfer complete.
    ftp> delete oldmail
    250 DELE command successful.
    ftp> mdir /home/dee/bin binlist
    output to local-file: binlist? y
    200 PORT command successful.
    150 Opening data connection for /usr/bin/ls (128.114.4.99,1408) (0 bytes).
    226 Transfer complete.
    ftp> close
    221 Goodbye.
    ftp> quit
    $  

Fichiers

Article Descriptif
/usr/samples/tcpip/netrc Contient l'exemple de fichier .netrc .
/etc/syslog.conf Contient des informations de configuration pour le démon syslogd .