Tutoriel LFTP sur Linux avec des exemples

Tutoriel LFTP sur Linux avec des exemples

Il n'y a certainement pas de pénurie de client FTP sur Linux: certains sont livrés avec une interface utilisateur graphique telle que Filezilla, d'autres sont des applications de ligne de commande qui peuvent être utilisées même lorsque des serveurs d'affichage, tels que Xorg ou Wayland, ne sont pas disponibles. Dans cet article, nous parlons de l'un des clients CLI FTP les plus utilisés et les plus riches en fonctionnalités: LFTP.

Dans ce tutoriel, vous apprendrez:

  • Comment installer LFTP sur les distributions Linux les plus utilisées
  • Comment se connecter et s'authentifier avec un hôte distant
  • Comment créer, supprimer, modifier et répertorier les signets
  • Certaines des commandes LFTP les plus utilisées
  • Comment exécuter les commandes de manière non interactive
  • Comment télécharger des fichiers torrent avec LFTP
Tutoriel LFTP sur Linux avec des exemples

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel lftp
Autre Autorisations racinaires pour installer le package LFTP
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation

Comme décrit dans sa page manuelle, lftp est un programme de transfert de fichiers sophistiqué qui permet aux connexions aux hôtes éloignés en utilisant une variété de protocoles tels que FTP, FTPS, SFTP, HTTP, HTTPS, Protocoles BitTorrent, etc. Étant open source, le programme est disponible dans le référentiel de tous les systèmes d'exploitation basés sur Linux les plus utilisés; L'installation de l'application sur Debian et ses dérivés tels que Ubuntu et Linux Mint n'est qu'une question de fonctionnement:

$ sudo apt-get update && sudo apt-get install lftp 

Sur les versions récentes de Fedora, le package peut être installé en utilisant le DNF Gestionnaire de package, simplement en émettant la commande suivante:

$ sudo dnf installer lftp 


Si Archlinux est votre pilote quotidien, vous pouvez installer LFTP en utilisant Pac-Man. Le package est disponible dans le référentiel «supplémentaire»:

$ sudo pacman -s lftp 

Avec le logiciel installé sur notre système, nous pouvons commencer à jeter un œil à certaines de ses fonctionnalités les plus intéressantes.

Connexion à un serveur distant

Lors de l'utilisation lftp Il y a essentiellement deux façons de nous connecter à un hôte distant. La première est en invoquant l'application de notre coquille et en fournissant l'URL de l'hôte distant, la seconde consiste à utiliser le ouvrir Commande, quand déjà dans l'invite LFTP.

Connexion à un hôte distant lors de l'invoquer LFTP

Pour se connecter à un hôte distant lors de l'invocation de l'application LFTP à partir de notre shell, tout ce que nous avons à faire est de fournir l'URL de la machine distante, comme indiqué dans l'exemple suivant:

$ lftp ftp: // ftp.bost à distance.com 

Après avoir lancé la commande, si la connexion à l'hôte distant est réussie, nous serons présentés avec l'invite LFTP, prêt à accepter nos commandes (nous pouvons également entrer l'invite LFTP simplement en invoquant l'application sans aucune option ni argument):

LFTP FTP.bost à distance.com: ~> 

À ce stade, comme nous sommes déjà connectés à l'hôte distant, pour nous authentifier, nous pouvons utiliser le connexion alias, ou le utilisateur Commande (la première est juste un alias intégré pour la seconde). Pour effectuer l'authentification, nous serions
Par conséquent, courez:

LFTP FTP.bost à distance.com: ~> Connexion our username ourpassword 

Si le mot de passe n'est pas fourni sera interactif:

LFTP FTP.bost à distance.com: ~> Connexion OurUserName Mot de passe: 

Enfin, pour obtenir une authentification complètement non interactive, les informations d'identification de connexion peuvent être fournies directement dans l'URL que nous passons à LFTP pour la connexion:

$ lftp ftp: // ourUsername: ourpassword @ ftp.bost à distance.com 

Connexion à un hôte distant lors de l'invite LFTP

Pour se connecter à un hôte distant lorsque vous utilisez déjà l'invite LFTP, nous devons utiliser le ouvrir Commande, qui utilise la syntaxe suivante:

Open [Options] Site 

Pour vous connecter à la même machine distante factice que nous avons utilisée dans l'exemple précédent, nous exécuterons:

lftp: ~> ouvrir ftp: // ftp.bost à distance.com 

Le ouvrir La commande, lorsqu'elle est utilisée comme dans l'exemple précédent, nous connectera simplement à l'hôte distant, sans effectuer d'authentification. Il est cependant possible de fournir des informations de connexion via le --utilisateur et --mot de passe options. Par exemple, pour se connecter et se connecter à la machine distante avec nos informations d'identification, nous exécuterons:

lftp: ~> ouvrir ftp: // ftp.bost à distance.com --User ourUsername --word-mot ourpassword 

Alternativement, nous pouvons fournir les informations de connexion dans le cadre de l'URL, tout comme nous l'avons fait auparavant:

lftp: ~> ouvrir ftp: // ourUsername: ourpassword @ ftp.bost à distance.com 

Créer et gérer les signets

Afin d'accéder et de s'authentifier facilement avec un hôte distant, sans avoir à fournir toutes les informations nécessaires chaque fois que nous voulons nous y connecter, nous pouvons créer des signets. Pour accomplir cette tâche, nous pouvons utiliser le signet Commande en cas d'invite LFTP. La commande accepte une série de sous-communs qui nous permettent de créer et de manipuler des signets; Voyons ce qu'ils sont.

Création d'un signet (ajouter sous-commande)

La première sous-commande, ajouter, Créons un nouveau signet. Tout ce que nous avons à fournir, c'est le nom que nous voulons utiliser pour le signet et les informations de connexion. Par exemple, pour créer un signet pour ftp: // ftp.bost à distance.com qui comprend les informations de connexion que nous exécuterons:

LFTP: ~> Bookmark RemoteHost FTP: // OurUser: OurPassword @ FTP.bost à distance.com 

Comme vous le voyez, nous avons fourni le mot de passe de l'authentification dans la machine distante dans le cadre de l'URL à utiliser avec le signet. Ici, nous devons remarquer deux choses importantes: la première est que, par défaut, les mots de passe ne sont pas stockés dans le fichier de signets (~ /.Local / Share / LFTP / Bookmarks ou ~ /.LFTP / Bookmarks) sauf si nous spécifions l'option Définir BMK: SAVE-PASSWORDS OUI dans le fichier de configuration de l'application (les paramètres par utilisateur sont stockés dans le ~ /.LFTPRC ou ~ /.LFTP / RC Les fichiers, le fichier de configuration à l'échelle du système, est plutôt / etc / lftp.confli).

La deuxième chose à remarquer est que les mots de passe sont stockés en texte clair et cela pourrait représenter un risque de sécurité si la machine sur laquelle nous travaillons ne peut pas faire confiance.

Fournir l'URL à utiliser pour un signet n'est pas toujours nécessaire. Si nous sommes déjà connectés à l'hôte distant pour lequel nous créons un signet, nous pouvons simplement invoquer le signet commande et ne fournissez que le nom de signet que nous voulons utiliser:

lftp ourUser @ ftp.bost à distance.com: ~> Bookmark Remotehost 

Pour utiliser le signet «RemoteHost» et se connecter à l'hôte distant correspondant, nous exécuterons:

$ LFTP Remotehost 

Ou, en utilisant le ouvrir commande:

LFTP: ~> Open Remotehost 


Suppression d'un signet (Del Subcommand)

La suppression d'un signet est vraiment facile: tout ce que nous avons à faire est d'utiliser le del sous-commande et fournissez le nom du signet que nous voulons supprimer, par exemple:

LFTP: ~> Bookmark Del Remotehost 

Édition de signets (modifier sous-commande)

Pour modifier nos signets, nous pouvons utiliser le modifier sous-commande. Une fois que nous l'exécuterons, le fichier contenant les signets sera ouvert dans notre éditeur de texte par défaut:

LFTP: -> Modifier les signets 

Tout ce que nous avons à faire est de faire les modifications appropriées et de les sauver comme nous le ferions normalement. Le fichier de signets peut également être édité en invoquant directement notre éditeur (c'est juste un fichier texte, rien d'obscur), lorsqu'il n'est pas dans l'invite LFTP.

Lister les signets (lister la sous-commande)

Pour énumérer tous nos signets, tout ce que nous avons à faire est d'utiliser le liste sous-commande. La liste des signets sera signalée à l'écran, et si les mots de passe sont stockés à l'intérieur, seront masqués avec un X personnage:

LFTP: -> Liste de signet Remotehost FTP: // OurUser: xxxx @ ftp.bost à distance.com / 

Commandes LFTP

Jusqu'à présent, nous venons de voir comment se connecter, authentifier et créer des signets avec LFTP. Voyons maintenant certaines des commandes les plus utiles que nous pouvons utiliser lorsqu'elles sont connectées à un serveur distant. Pour obtenir une liste complète des commandes disponibles que nous pouvons taper aider et appuyez sur Entrée, lorsque vous êtes dans l'invite LFTP:

LFTP: ~> AIDE 

Listing du contenu d'un répertoire distant

La première chose que nous pouvons vouloir faire lorsqu'une connexion est établie et que nous sommes authentifiés sur un serveur distant est de répertorier le contenu du répertoire de travail à distance. Pour accomplir la tâche, tout comme nous le ferions localement, nous pouvons utiliser le LS commande:

lftp ourUser @ ftp.bost à distance.com: /> ls dr-xr-xr-x 2 19304109 19304109 4096 7 juil 2016 . DR-XR-XR-X 2 19304109 19304109 4096 7 juillet 2016… […] 

De la même manière, pour modifier le répertoire de travail à distance, nous pouvons utiliser le CD commande. Et si nous voulons exécuter la version «locale» de ces commandes, pour indiquer le contenu de notre répertoire de travail local ou le modifier? Tout ce que nous avons à faire est de préfixer les commandes avec un ! (Marque d'exclamation): Toutes les commandes avec ce préfixe seront considérées comme des commandes de coquille locales. Dans l'exemple ci-dessous, nous énumérons le contenu de notre répertoire de travail local:

lftp ourUser @ ftp.bost à distance.com: /> !LS Desktop Documents télécharge des photos musicales 

Modifier un fichier distant

Pour modifier un fichier distant, nous pouvons utiliser le modifier commande. Lorsque nous le faisons, le fichier distant est récupéré dans un répertoire temporaire sur notre machine locale, et il est ouvert dans notre éditeur de texte par défaut. Une fois le contenu modifié et enregistré,
Le fichier est automatiquement re-téléchargé.

Récupérer et télécharger des fichiers et des répertoires

Pour récupérer un fichier distant à notre répertoire de travail local, nous pouvons utiliser le obtenir commande. Dans son utilisation de base, nous fournissons l'emplacement du fichier distant et éventuellement le chemin local où il doit être enregistré (par défaut, le fichier sera enregistré à l'aide de son nom de base). Pour sauver la télécommande WP-Config-échantillon.php fichier distant localement, comme goûter.php, Nous courions:

lftp ourUser @ ftp.bost à distance.com /> Obtenez un échantillon WP-Config.Échantillon PHP -O.php 

Plusieurs fichiers peuvent être téléchargés en même temps en répétant la même syntaxe.

Pour effectuer l'opération opposée, donc pour télécharger un fichier local sur l'hôte distant, nous pouvons utiliser le mettre commande. Fondamentalement, nous fournissons le chemin du fichier local à télécharger comme argument sur la commande. Si le fichier doit être enregistré à distance avec un nom différent, nous le fournissons comme l'argument de la -o Option, tout comme nous l'avons fait ci-dessus. Dans l'exemple suivant, nous téléchargeons le fichier local WP-Config-échantillon.php, et enregistrer dans l'hôte distant comme goûter.php:

lftp ourUser @ ftp.bost à distance.com /> mettre WP-Config-échantillon.Échantillon PHP -O.php 

Le obtenir et mettre Les commandes ne peuvent récupérer et télécharger des fichiers réguliers: cela signifie qu'ils ne fonctionneront pas avec les répertoires. Si nous voulons télécharger ou télécharger des répertoires et leur contenu, nous devons utiliser le miroir commande'. La commande, comme son nom l'indique, crée un miroir d'un répertoire distant sur notre machine locale, ou vice-versa. Tout ce que nous devons fournir est la cible source, qui est par défaut comme la télécommande, et, éventuellement, le répertoire cible, qui est par défaut. Voyons un exemple:

lftp ourUser @ ftp.bost à distance.com /> miroir -p 10 site local_backup 


La commande ci-dessus créera un miroir du télécommande placer répertoire sur notre machine locale où il sera enregistré comme local_backup. Quel est le -P Option que nous avons utilisée? Le -P Option (abréviation pour --parallèle) accepte un entier comme argument, qui est le nombre maximal de fichiers à télécharger en parallèle (télécharger un fichier à l'époque serait vraiment fastidieux!).

Pour inverser les répertoires distants et locaux, nous devons utiliser le -R option, formulaire court pour --inverse: Cette option se fera pour qu'un miroir inversé soit créé, donc le premier argument transmis à la commande miroir est considéré comme le local
répertoire, et le second en tant que télécommande. Les fichiers peuvent être explicitement inclus ou exclus du miroir en utilisant le

-je (--inclure) et -X (--exclure) Options respectivement. Les deux options acceptent une expression régulière comme argument: tous les noms de fichiers correspondant à l'expression seront inclus ou exclus du miroir.

Il est également possible d'utiliser le -e Option (abréviation pour --supprimer) pour créer des miroirs identiques: les fichiers existants sur la destination mais pas sur la source seront supprimés.

Commandes en cours d'exécution

Jusqu'à présent, nous avons vu comment nous pouvons exécuter certaines commandes à partir de l'invite LFTP. Et si nous voulons les exécuter d'une manière complètement non interactive? Tout ce que nous avons à faire est d'utiliser le LFTP -c option. Lorsque cette option est utilisée, les commandes sont passées à mesure que les arguments sont exécutés, puis LFTP sort automatiquement. Les commandes doivent être séparées
par un point-virgule. Supposons que nous voulons nous connecter à un hôte distant et créer un miroir du placer Répertoire localement à un répertoire nommé local_backup. Nous courions:

$ lftp -c "ouvrir ftp: // ouruser: ourpassword @ ftp.bost à distance.com; miroir --parallel = 10 site local_backup " 

Télécharger des fichiers torrent

LFTP peut également être utilisé comme client torrent. Tout ce que nous avons à faire est de fournir l'emplacement d'un fichier torrent (il peut s'agir d'un fichier local, d'une URL ou d'une aimant lien). Par défaut, les fichiers récupérés sont stockés dans le répertoire de travail actuel, mais un emplacement différent peut être spécifié via le -O option. Pour télécharger l'iso stable debian via Torrent dans le ~ / Télécharger Répertoire, par exemple, nous courions:

lftp: ~> torrent https: // cdimage.Debian.org / debian-cd / current / amd64 / bt-cd / debian-10.7.0-AMD64-NETINST.ISO.torrent -o ~ / téléchargements 

Conclusions

Dans ce didacticiel, nous avons appris l'utilisation de base de l'application LFTP: nous avons vu comment installer l'application sur certaines des distributions Linux les plus utilisées, comment se connecter et s'authentifier avec un serveur distant, comment créer des signets pour l'accès des emplacements rapides et l'accès et le Commandes qui doivent être utilisées pour répertorier le contenu des répertoires distants et locaux, pour modifier des fichiers distants, et télécharger et télécharger des fichiers vers et depuis un hôte distant. Nous avons également vu comment exécuter les commandes de manière non interactive. Enfin, nous avons vu comment nous pouvons utiliser LFTP comme client torrent. Pour une liste complète du
fonctionnalités et les commandes que nous pouvons exécuter lors de l'utilisation lftp, Veuillez consulter son manuel!

Tutoriels Linux connexes:

  • Liste des clients FTP et installation sur Ubuntu 20.04 Linux…
  • Liste des clients FTP et installation sur Ubuntu 22.04 Linux…
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Configuration du serveur FTP sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Comment se connecter à un serveur FTP à l'aide de Python
  • Fichiers de configuration Linux: 30 premiers
  • Comment configurer le serveur et le client FTP / SFTP sur Almalinux
  • Comment activer / désactiver Wayland sur Ubuntu 22.04 Desktop