Làm cách nào để tải xuống toàn bộ thư mục qua FTP trong Terminal?
Làm cách nào để tải xuống toàn bộ thư mục qua FTP trong Terminal?
Câu trả lời:
mget
là gần nhất bạn có thể nhận được với nhị phân FTP đi kèm. Bạn phải mkdir và cd / lcd và sau đó lấy tất cả các tệp hơn khớp với một mẫu như*
Việc prompt
chuyển đổi có thể có ích.
FTP hoạt động trong một thư mục, không phải trên các thư mục dưới dạng các tệp chứa. Nếu bạn hoàn toàn phải hoàn thành công việc và ftp là công cụ duy nhất bạn có thể sử dụng - bạn có thể kết hợp một expect
tập lệnh để điều khiển ftp cho bạn.
Rất may có những lựa chọn thay thế như scp
| rsync
| wget
để có được toàn bộ thư mục có giá trị của các tập tin.
Một cách khác là sử dụng curl
curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/*
Tôi nghĩ rằng điều này đang làm việc, hoặc tập tin theo tập tin
curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip
Tôi hy vọng điều này sẽ giúp.
curl: (78) RETR response: 550
curl
hoàn toàn không thể xử lý việc này. wget
có thể.
Sử dụng scp
(tài liệu) hoặc sftp
(tài liệu)
scp -r login@myserverip:/remote/directory/path/ mylocaldirectory
Tôi đã phải tải xuống 22.000 ảnh trên webcam từ máy chủ web của mình, đây là một thách thức đối với cả Finder và chương trình FTP CyberDuck của tôi.
Vì vậy, tôi đã làm như sau (dựa trên câu trả lời của @ 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
Sau đó, các tệp đang được tải xuống vào thư mục mong muốn:
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)
....
tôi đang dùng
wget -r -l 10 --ftp-user='FTP_USER' --ftp-password='FTP_PASSWORD' \
ftp://ftp.server.com/folder_to_download/*
Thật không may wget
, không hỗ trợ tải xuống song song.
làm theo hướng dẫn này:
kiểu
ftp
sau đó bạn đang ở trong ftp trông như
ftp>
sau đó bạn mở ip của máy chủ
ftp> open xx.xxx.xxx.xx
sau đó nó sẽ hỏi tên người dùng, bạn sẽ cung cấp
Name:(your ftp server): your_username
sau đó nó sẽ hỏi mật khẩu
Password: your_password
sau đó bạn nên đăng nhập và xem lại ftp> shell, bạn có thể nhập "ls" để liệt kê tất cả các tệp và bạn có thể điều hướng như inix với cd
Khi bạn tìm thấy tên tệp của mình, bạn có thể tải xuống với
ftp> get filename
et voila, tập tin sẽ được tải xuống thư mục bạn đã mở shell localy từ
bạn không thể tải xuống các thư mục, nhưng bạn có thể điều hướng vào thư mục của mình và tải xuống nhiều ví dụ: tất cả các tệp
Nhiệm vụ: Tải xuống nhiều tệp
Bạn cần sử dụng lệnh mget như sau để sao chép nhiều tệp từ máy chủ ftp từ xa sang hệ thống cục bộ. Bạn có thể được nhắc trả lời có / không (Y / N) trước khi chuyển từng tệp (bạn có thể tắt lời nhắc bằng cách chuyển tùy chọn -i cho máy khách ftp). Để tải xuống tất cả các tệp, nhập: ftp> mget *
thông tin từ http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ chúc mừng