Comment télécharger un dossier entier via FTP dans le terminal?

Réponse

mget est le plus proche que vous pouvez obtenir avec le binaire FTP inclus. Vous devez mkdir et cd / lcd, puis obtenir tous les fichiers qui correspondent à un modèle comme *

Le prompt la bascule peut être utile.

FTP fonctionne dans un répertoire, pas sur des répertoires en tant que conteneurs de fichiers. Si vous deviez absolument faire le travail et que ftp était le seul outil que vous pouviez utiliser – vous pourriez bricoler un script expect pour piloter le ftp pour vous.

Heureusement, il existe des alternatives comme scp | rsync | wget pour obtenir des répertoires entiers valant des fichiers.

Commentaires

  • Ok … donc lessentiel est que je peux ‘ t télécharger un dossier entier à la fois; Je dois télécharger les fichiers individuels, non?
  • Ouais. Tout le monde ne ‘ afficherait pas wget, sftp, scp et rsync si ftp était à la hauteur de la tâche.
  • Merci … SFTP autorise-t-il le téléchargement de dossiers?
  • Oups (désolé) – non. sftp est la même syntaxe et les mêmes limitations que ftp – il suffit de sécuriser la connexion en utilisant ssh au lieu de lauthentification ftp.
  • Si vous ‘ êtes lié au protocole FTP, vous pouvez utilisez lftp pour effectuer un téléchargement récursif dune arborescence de répertoires. Solution à lancienne à ce problème.

Réponse

Une autre façon est dutiliser curl

curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/* 

Je pense que cela fonctionne, ou fichier par fichier

curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip 

Jespère que cela vous a aidé.

Commentaires

  • OK, merci beaucoup, mais y a-t-il un moyen via FTP de faire ça?
  • Génial! Je nétais pas au courant de la propension FTP de curl ‘. Merci!
  • Ouais … moi non plus. Je ‘ je vais probablement lutiliser plus souvent.
  • Je ‘ jessaye votre suggestion mais jobtiens ceci: curl: (78) RETR response: 550
  • curl ne peut absolument pas gérer cela . wget can.

Réponse

Utilisez scp (documentation) ou sftp (documentation)

scp -r login@myserverip:/remote/directory/path/ mylocaldirectory 

Commentaires

  • Que ‘ nest pas ce que je ‘ m demande. Ma question est la suivante: comment télécharger un dossier via FTP dans le terminal? En dautres termes, quelles commandes FTP dois-je utiliser pour télécharger un dossier?
  • sftp est de loin supérieur à FTP +1
  • @bmike: oui, mais les anciens serveurs ftp peuvent ne pas prendre en charge sftp.

Réponse

Jai dû télécharger plus de 22 « 000 photos de webcam à partir de mon serveur Web, qui est un petit défi pour le Finder et mon programme FTP CyberDuck.

Jai donc fait ce qui suit (basé sur la réponse de @bmike « ):

mkdir ~/Desktop/image-dump-myserver ftp ftp://[email protected] # enter password # You"re now in the ftp console (where the world is still okay) # Set the local folder lcd ~/Desktop/image-dump-myserver # cd into the desired folder (`ls`, `pwd` etc. all work here) cd /httpdocs/images # Toggle the interactive mode prompt # Download the desired files (all the images in my case) mget *.jpg 

Ensuite, les fichiers sont téléchargés dans le dossier souhaité:

local: image1433509292_1582.jpg remote: image1433509292_1582.jpg 229 Entering Extended Passive Mode (|||50001|) 150 Opening BINARY mode data connection for image1433509292_1582.jpg (63626 bytes) 100% |***********************************| 63626 1.51 MiB/s 00:00 ETA 226 Transfer complete 63626 bytes received in 00:00 (0.98 MiB/s) local: image1427279963_0841.jpg remote: image1427279963_0841.jpg 229 Entering Extended Passive Mode (|||50053|) 150 Opening BINARY mode data connection for image1427279963_0841.jpg (67194 bytes) 100% |***********************************| 67194 1.64 MiB/s 00:00 ETA 226 Transfer complete 67194 bytes received in 00:00 (1.04 MiB/s) local: image1439798493_1783.jpg remote: image1439798493_1783.jpg 229 Entering Extended Passive Mode (|||50357|) 150 Opening BINARY mode data connection for image1439798493_1783.jpg (48876 bytes) 100% |***********************************| 48876 1.80 MiB/s 00:00 ETA 226 Transfer complete 48876 bytes received in 00:00 (996.81 KiB/s) .... 

Réponse

Jutilise

wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/* 

Malheureusement, wget ne prend pas en charge les téléchargements parallèles.

Réponse

suivez cette instruction:

tapez

ftp 

alors vous êtes en ftp ressemblant à

ftp> 

puis vous ouvrez lip du serveur

ftp> open xx.xxx.xxx.xx 

alors ce sera un sk comme nom dutilisateur, vous fournirez

Name:(your ftp server): your_username 

puis il demandera le mot de passe

Password: your_password 

alors vous devriez être connecté et voir à nouveau le shell ftp>, vous pouvez taper « ls » pour lister tous les fichiers et vous pouvez naviguer comme dans inix avec cd

quand vous avez trouvé votre nom de fichier, vous pouvez le télécharger avec

ftp> get filename 

et voila, le fichier sera téléchargé dans le répertoire où vous avez ouvert le shell localement à partir de

vous ne pouvez pas télécharger les répertoires, mais vous pourrait naviguer dans votre répertoire et télécharger plusieurs fichiers, par exemple tous les fichiers

Tâche: Télécharger plusieurs fichiers

Vous devez utiliser la commande mget comme suit pour copier plusieurs fichiers du serveur ftp distant vers le local système. Vous pouvez être invité à répondre par oui / non (O / N) avant de transférer chaque fichier (vous pouvez désactiver linvite en passant loption -i au client ftp). Pour télécharger tous les fichiers, saisissez: ftp> mget *

informations de http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ acclamations

Commentaires

  • Loutil ftp unix a été supprimé dOS X (dans Sierra, je pense?).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *