Comment télécharger un dossier entier via FTP dans Terminal?
Comment télécharger un dossier entier via FTP dans Terminal?
Réponses:
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*
La prompt
bascule peut être utile.
FTP fonctionne dans un répertoire, pas sur des répertoires comme conteneurs de fichiers. Si vous deviez absolument faire le travail et que ftp était le seul outil que vous pouviez utiliser - vous pourriez concocter un expect
script pour piloter ftp pour vous.
Heureusement, il existe des alternatives comme scp
| rsync
| wget
pour obtenir des répertoires entiers d'une valeur de fichiers.
Une autre façon consiste à utiliser 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
J'espère que cela a aidé.
curl: (78) RETR response: 550
curl
ne peut absolument pas gérer cela. wget
pouvez.
Utilisation scp
(documentation) ou sftp
(documentation)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
J'ai dû télécharger plus de 22'000 photos de webcam depuis mon serveur Web, ce qui est un peu difficile pour le Finder et mon programme FTP CyberDuck.
J'ai donc fait ce qui suit (basé sur la réponse de @ bmike):
mkdir ~/Desktop/image-dump-myserver
ftp ftp://myuser@myserver.com
# 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)
....
j'utilise
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.
suivez cette instruction:
type
ftp
alors vous êtes en ftp ressemblant
ftp>
alors vous ouvrez l'IP du serveur
ftp> open xx.xxx.xxx.xx
alors il vous demandera un nom d'utilisateur, vous fournirez
Name:(your ftp server): your_username
alors il demandera un 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
lorsque vous avez trouvé votre nom de fichier, vous pouvez le télécharger avec
ftp> get filename
et le tour est joué, le fichier sera téléchargé dans le répertoire que vous avez ouvert
vous ne pouvez pas télécharger les répertoires, mais vous pouvez naviguer dans votre répertoire et télécharger plusieurs, 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 système local. Vous pouvez être invité à répondre par oui / non (O / N) avant de transférer chaque fichier (vous pouvez désactiver l'invite en passant l'option -i au client ftp). Pour télécharger tous les fichiers, entrez: ftp> mget *
informations de http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers