Answers:
mget
是使用随附的FTP二进制文件可以获得的最接近的文件。您必须先mkdir和cd / lcd,然后获取所有文件,而不是匹配类似模式的文件*
该prompt
切换可能会派上用场。
FTP在目录中工作,而不在目录中作为文件容器。如果您绝对必须完成工作,并且ftp是唯一可以使用的工具-您可以拼凑一个expect
脚本来为您驱动ftp。
值得庆幸的是,还有scp
| rsync
| wget
以获得整个目录中有价值的文件。
另一种方法是使用curl
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
能够。
我必须从Web服务器上下载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)
....
请遵循以下说明:
类型
ftp
那么你在ftp中看起来像
ftp>
然后你打开服务器的IP
ftp> open xx.xxx.xxx.xx
然后会询问用户名,您将提供
Name:(your ftp server): your_username
然后它将要求输入密码
Password: your_password
然后您应该登录并再次看到ftp> shell,可以键入“ ls”以列出所有文件,并且可以像在inix中使用cd一样进行导航
找到文件名后,可以使用
ftp> get filename
等等,该文件将下载到您从中打开shell localy的目录中
您无法下载目录,但可以导航到目录并下载多个(例如所有文件)
任务:下载多个文件
您需要使用mget命令,如下所示将多个文件从远程ftp服务器复制到本地系统。在传输每个文件之前,系统可能会提示您输入是/否(Y / N)答案(可以通过将-i选项传递给ftp客户端来禁用提示)。要下载所有文件,请输入:ftp> mget *