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?).