Як завантажити всю папку через FTP в терміналі?
Як завантажити всю папку через FTP в терміналі?
Відповіді:
mget
є найближчим, що ви можете отримати з включеним бінарним файлом FTP. Ви повинні mkdir і cd / lcd, а потім отримати всі файли, ніж відповідати такому шаблону*
prompt
Перемикач може стати в нагоді.
FTP працює в каталозі, а не в каталогах як контейнери файлів. Якщо вам абсолютно довелося виконати роботу, а ftp був єдиним інструментом, який ви могли використовувати - ви могли зв'язати expect
сценарій разом, щоб запустити ftp для вас.
На щастя, є такі варіанти, як scp
| rsync
| wget
щоб отримати цілі каталоги, варті файлів.
Ще один спосіб - використовувати завиток
curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/*
Я думаю, що це працює, або файл за файлом
curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip
Я сподіваюся, що це допомогло.
curl: (78) RETR response: 550
curl
абсолютно не справляється з цим. wget
може.
Використання scp
(документація) або sftp
(документація)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
Мені довелося завантажити 22'000 + знімки веб-камери з мого веб-сервера, що є чимось складним завданням як для Finder, так і для моєї програми FTP CyberDuck.
Тому я зробив наступне (на основі відповіді @ 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
Потім файли завантажуються в потрібну папку:
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)
....
я використовую
wget -r -l 10 --ftp-user='FTP_USER' --ftp-password='FTP_PASSWORD' \
ftp://ftp.server.com/folder_to_download/*
На жаль wget
, не підтримує паралельне завантаження.
дотримуйтесь цієї інструкції:
тип
ftp
то ти в ftp схожий
ftp>
тоді ви відкриєте ip сервера
ftp> open xx.xxx.xxx.xx
то він запитає ім’я користувача, ви надасте
Name:(your ftp server): your_username
тоді він запитає пароль
Password: your_password
то вам слід увійти в систему і знову побачити ftp> оболонку, ви можете ввести "ls", щоб перерахувати всі файли, і ви зможете переходити як inix з cd
коли ви знайшли своє ім'я файлу, можете завантажити його
ftp> get filename
et voila, файл буде завантажений у каталог, з якого ви відкрили локальну оболонку
Ви не можете завантажити режими редагування, але Ви можете перейти до каталогу та завантажити декілька, наприклад, усіх файлів
Завдання: Завантажте кілька файлів
Щоб скопіювати декілька файлів з віддаленого ftp-сервера в локальну систему, потрібно використовувати команду mget наступним чином. Можливо, вам буде запропоновано відповісти "так / ні" (Y / N) перед передачею кожного файлу (ви можете відключити підказку, передавши опцію -i клієнту ftp). Щоб завантажити всі файли, введіть: ftp> mget *
інформація з http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ ура