ftp |
Protocole de transfert de fichier |
---|---|
Linux | Externe |
Syntaxe
ftp [-46pinegvd] [host [port]] | Version moderne |
ftp [-v] [-d] [-i] [-n] [-g] [-k realm] [-f] [-x] [-u] [-t] [host] | Version ARPANET |
Paramètres
Nom | Description |
---|---|
host | Ce paramètre permet d'indiquer l'hôte à laquelle il faut se connecter. |
-4 | Ce paramètre permet d'indiquer qu'il faut seulement utilisé le IPv4 pour communiquer avec l'hôte. |
-6 | Ce paramètre permet d'indiquer qu'il faut seulement utilisé le IPv6 pour communiquer avec l'hôte. |
-d | Ce paramètre permet d'indiquer qu'il faut activer le mode de débogage. |
-e | Ce paramètre permet de désactiver l'édition des commandes et la prise en charge de l'historique, si celle-ci a été compilée dans l'exécutable ftp. Sinon, il ne fait rien. |
-g | Ce paramètre permet de désactiver le nom de fichier global. |
-i | Ce paramètre permet désactiver le prompt durant de multiple transfert. |
-n | Ce paramètre permet d'indiquer qu'il faut effectuer une reconnexion automatique si nécessaire. |
-k realm | Ce paramètre permet d'indiquer le nom de domaine. |
-p | Ce paramètre permet d'indiquer qu'il faut utiliser le mode passif pour les transferts de données. Ainsi, il permet l'utilisation du ftp dans les environnements où un pare-feu empêche les connexions du monde extérieur de revenir vers la machine cliente. Nécessite que le serveur ftp prenne en charge la commande PASV. C'est la valeur par défaut si elle est invoquée en tant que pftp. |
-t | Ce paramètre permet d'activer le traçage de paquet. |
-v | Ce paramètre permet d'indiquer qu'il faut afficher les détails. |
Description
Cette commande permet de lancer l'interpréteur de commande FTP.
Remarques
- Les paramètres de cette commande ne sont pas très standard, il s'agit généralement d'un alias vers la commande «pftp» ou «tftp».
- Cette commande est destinée à des connexions FTP non sécurisées.
- Si vous avez besoin d'utiliser des commandes Linux dans le FTP, vous devriez envisager d'utiliser la commande «lftp».
- Tester la connexion : On peut tester la connexion FTP avec la commande suivante :
telnet 99.99.99.99 21 Si la connexion échoue, vous aurez le message suivant :
Trying 99.99.99.99...
telnet: connect to address 99.99.99.99: Connection timed outSi la connexion réussis, vous aurez le message suivant :
Trying 99.99.99.99...
Connected to 99.99.99.99.Et vous tapez la commande suivante pour quitter la connexion FTP :
quit - Vérification des ports côté serveur : On peut vérifier sur quel port du IP le service FTP transmet les informations en utilisant la commande suivante :
- Si vous recevez le message d'erreur «Servname not supported for ai_socktype», c'est généralement dû au mauvaise ordre des paramètres. Par exemple, le paramètre «-A» devrait être situé avant l'adresse IP.
- Si aucune communication n'est possible, assurez que le iptables, votre pare-feu (firewall), Security Group de AWS,... soit déverrouillé.
- Si vous ne réussissez pas à voir le contenu du vos dossiers, comme avec la commande «dir» par exemple, assurez-vous que les variables de configuration comme «pasv_address» d'un serveur FTP avec vsftpd soit autorisé avec votre IP.
- Aborder un transfert de fichier : Pour annuler un transfert de fichier, utilisez la touche d'interruption du terminal (généralement Ctrl+C). L'envoi des transferts sera immédiatement arrêté. La réception des transferts sera interrompue en envoyant une commande FTP du protocole FTP au serveur à distance et en supprimant toute autre donnée reçue. La vitesse à laquelle cela est accompli dépend de la prise en charge par le serveur à distance du traitement de la commande brute ABOR. Si le serveur à distance ne prend pas en charge la commande ABOR, dans l'interpréteur de commande «ftp>», il n'apparaîtra que lorsque le serveur à distance aura terminé l'envoi du fichier demandé. La séquence de touches d'interruption du terminal sera ignorée lorsque le FTP aura terminé tout traitement local et attendra une réponse du serveur à distance. Un long délai dans ce mode peut résulter du traitement ABOR ou d'un comportement inattendu du serveur à distance, notamment de violations du protocole FTP. Si le retard résulte d'un comportement de serveur à distance est inattendu, le programme FTP local doit être arrêté à la main.
- Conventions de nom de fichiers : Les fichiers spécifiés en tant que paramètres des commandes FTP sont traités conformément aux règles suivantes : Si le nom de fichier «-» est spécifié, alors il utilisera stdin (pour la lecture) ou stdout (pour l'écriture). Si le premier caractère du nom de fichier est «|», alors le reste du paramètre est interprété comme une commande de l'interpréteur de commande. Le FTP lance alors un interpréteur de commande, en utilisant la fonction popen avec le paramètre fourni, et lit à partir stdin et écrit stdout. Si la commande de l'interpréteur de commande comprend des espaces, le paramètre doit être cité; par exemple. «"ls -lt"». Un exemple particulièrement utile de ce mécanisme est : «dir more».
- La commande FTP apparaît la première fois dans la distribution de 4.2BSD.
netstat -tlpn | grep "ftp" |
Liste des commandes
Commande | Description |
---|---|
! | Cette commande permet de créer un échappement dans l'interpréteur de commande. |
$ | Cette commande permet d'exécuter une macro. |
? | Cette commande permet d'afficher les informations d'aide locales. |
account | Cette commande permet d'envoyer le compte au serveur à distance. |
append | Cette commande permet d'ajouter un fichier. |
ascii | Cette commande permet de définir le type de transfert ASCII. |
bell | Cette commande permet de faire un bip après que chaque transfert de fichier de la commande soit terminée. |
binary | Cette commande permet de définir le type de transfert binaire. |
bye | Cette commande permet de terminer la session FTP et de quitter immédiatement. |
case | Cette commande permet de basculer l'identifiant de majuscule à minuscule. |
ccc | Cette commande permet de désactiver la protection de l'intégrité sur le canal de commande. |
cd | Cette commande permet de modifier le répertoire de travail à distance. |
cdup | Cette commande permet de changer le répertoire de travail à distance vers le répertoire parent. |
chmod | Cette commande permet de modifier les autorisations de mode d'accès d'un fichier à distance. |
clear | Cette commande permet de définir le niveau de protection sur les transferts de données sur «clear». |
close | Cette commande permet de terminer la session FTP. |
cprotect | Cette commande permet de définir le niveau de protection des commandes sur le niveau de protection. |
cr | Cette commande permet de demander un retour de chariot ASCII. |
debug | Cette commande permet d'activer ou désactiver le mode de débogage. |
delete | Cette commande permet de supprimer le fichier à distance. |
dir | Cette commande permet d'afficher la liste contenu dans un répertoire à distance. |
disconnect | Cette commande permet de terminer la session FTP. |
exit | Cette commande permet de terminer les sessions FTP et quitte immédiatement. |
form | Cette commande permet de fixer le format de transfert de fichier. |
get | Cette commande permet de recevoir un fichier. |
glob | Cette commande permet de basculer aux méta-caractères d'expansion dans les noms de fichiers locaux. |
hash | Cette commande permet de basculer à l'affichage `#' pour chaque tampon transféré. |
help | Cette commande permet d'afficher les informations d'aide locales. |
idle | Cette commande permet de demander ou de fixer la minuterie d'inactivité du côté à distance. |
image | Cette commande permet d'indiquer le type de transfert binaire dans le jeu d'image. |
ipany | Cette commande permet l'utilisation de n'importe quelle famille d'adresses. |
ipv4 | Cette commande permet de restreindre l'utilisation des adresses au IPv4. |
ipv6 | Cette commande permet de restreindre l'utilisation des adresses au IPv6. |
lcd | Cette commande permet de changer le répertoire de travail local. |
ls | Cette commande permet d'afficher la liste de contenu d'un répertoire à distance. |
macdef | Cette commande permet de définir une macro. |
mdelete | Cette commande permet de supprimer plusieurs fichiers. |
mdir | Cette commande permet d'afficher la liste de contenu de plusieurs répertoires à distances. |
mget | Cette commande permet de demander plusieurs fichiers. |
mkdir | Cette commande permet de créer un répertoire sur la machine à distance |
mls | Cette commande permet d'afficher la liste de contenu de plusieurs répertoires à distances. |
mode | Cette commande permet de fixer le mode de transfert de fichier. |
modtime | Cette commande permet d'afficher la dernière heure de modification du fichier à distance. |
mput | Cette commande permet d'envoyer plusieurs fichiers. |
newer | Cette commande permet d'afficher le fichier le plus récent si le fichier à distance est plus récent que le fichier local. |
nlist | Cette commande permet d'afficher le contenu du répertoire à distance. |
nmap | Cette commande permet de définir un gabarit pour la cartographie de nom de fichier par défaut. |
ntrans | Cette commande permet de définir la table de conversion pour la cartographie de nom de fichier par défaut. |
open | Cette commande permet de se connecter à un FTP à distance. |
passive | Cette commande permet d'entrer en mode de transfert passif. |
private | Cette commande permet de définir le niveau de protection des transferts de données sur privé. |
prompt | Cette commande permet de forcer l'invite interactive sur plusieurs commandes. |
protect | Cette commande permet de définir le niveau de protection dans le transferts de données. |
proxy | Cette commande permet d'émettre une commande sur une autre connexion. |
put | Cette commande permet d'envoyer un fichier. |
pwd | Cette commande permet d'afficher le répertoire de travail sur une machine à distance. |
qc | Cette commande permet d'afficher un «?» à la place des caractères de contrôle sur la sortie standard (stdout). |
quit | Cette commande permet de terminer la session ftp et quitter immédiatement. |
quote | Cette commande permet d'envoyer une commande ftp arbitraire. |
recv | Cette commande permet de recevoir un fichier. |
reget | Cette commande permet de demander le redémarrage du fichier à la fin du fichier local. |
remotehelp | Cette commande permet de demander de l'aide du serveur FTP à distance. |
remotestatus | Cette commande permet de demander l'état du serveur à distance ou du fichier à distance spécifié. |
rename | Cette commande permet de renommer le fichier sur la machine à distance. |
reset | Cette commande permet d'effacer les commandes en file d'attente. |
restart | Cette commande permet de redémarrer le transfert de fichier aux nombres d'octets spécifiés. |
rhelp | Cette commande permet de demander de l'aide du serveur à distance. |
rmdir | Cette commande permet d'effacer un répertoire sur la machine à distance. |
rstatus | Cette commande permet d'afficher l'état de la machine à distance |
runique | Cette commande permet de basculer pour l'entreposage unique pour les fichiers locaux. |
safe | Cette commande permet de fixer le niveau de protection des données de transfert à sécuritaire («safe»). |
send | Cette commande permet d'envoyer un fichier. |
sendport | Cette commande permet de basculer pour l'utilisation du port spécifié pour chaque connexion de données. |
site | Cette commande permet d'envoyer une commande spécifique au site du serveur à distance. |
size | Cette commande permet d'afficher la taille du fichier à distance. |
status | Cette commande permet d'afficher l'état actuel du FTP. |
struct | Cette commande permet de fixer la structure de fichier de transfert. |
sunique | Cette commande permet de basculer pour l'entreposage unique pour les fichiers à distance. |
system | Cette commande permet d'afficher le type de système à distance. |
tenex | Cette commande permet de définir le type de transfert de fichier pour communiquer avec les machines TENEX. |
tick | Cette commande permet d'activer ou désactiver le compteur d'octets d'affichage pendant les transferts. |
trace | Cette commande permet de faire basculer le traçage des paquets. |
type | Cette commande permet de fixer le type de transfert de fichier. |
umask | Cette commande permet de demander ou de fixer le umask sur le site à distance. |
user | Cette commande permet d'envoyer de nouvelles informations sur l'utilisateur. |
verbose | Cette commande permet de basculer en mode détaillés. |
Installation
Avec RHEL ou CentOS, si la commande «YUM» est installé, vous pouvez l'installer de la façon suivante :
yum install ftp |
Exemples
Voici un exemple permettant d'afficher les commandes disponibles dans la commande :
ftp |
on obtiendra le résultat semblable suivant si on tape «help» :
ftp> help Commands may be abbreviated. Commands are: ! cr mdir proxy send $ delete mget sendport site account debug mkdir put size append dir mls pwd status ascii disconnect mode quit struct bell form modtime quote system binary get mput recv sunique bye glob newer reget tenex case hash nmap rstatus trace ccc help nlist rhelp type cd idle ntrans rename user cdup image open reset umask chmod lcd passive restart verbose clear ls private rmdir ? close macdef prompt runique cprotect mdelete protect safe |
L'exemple suivant permet de communiquer avec l'hôte 99.99.99.99 en utilisant le mode «ACTIVE» :
ftp -A 99.99.99.99 |
on obtiendra le résultat suivant :
Connected to 99.99.99.99 (99.99.99.99). 220 (vsFTPd 2.2.2) Name (99.99.99.99:ec2-user): gladir 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. |
L'exemple suivant permet de communiquer avec l'hôte 99.99.99.99 en utilisant le mode «PASSIVE» :
ftp -p 99.99.99.99 |
on obtiendra le résultat suivant :
Connected to 99.99.99.99 (99.99.99.99). 220 (vsFTPd 2.2.2) Name (99.99.99.99:ec2-user): gladir 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. |
Légende
Cette couleur permet d'indiquer que la commande n'est pas supporté par toutes les versions de la commande ftp.
Voir également
Système d'exploitation - Linux - Références de commandes et de programmes - pftp
Système d'exploitation - Linux - Références de commandes et de programmes - sftp
Système d'exploitation - Linux - Références de commandes et de programmes - tftp
Références des protocoles réseau - FTP (File Transfer Protocol) - Références de commandes et de programmes
Lexique de fichiers - Format de fichier: pure-ftpd.conf
Articles - Raisons de l'instabilité des programmes en utilisant le FTP