(转)linux命令行下的ftp 多文件下载和目录下载

时间:2022-06-08 03:03:21
目标ftp服务器是一个非标准端口的ftp
 
1.通过shell登录
#ftp    //shell下输入ftp命令,进入到ftp提示符
>open IP  PORT   //IP ,PORT对应为服务器的IP和端口号
或者直接使用一条语句
#ftp  IP  PORT
 
 
2.多文件下载(对目录无效)
如:下载目录下的所有文件(子目录是无法下载下来的)
>mget * 
这样操作,下载每个文件都会提问,每次都要输入一个y
要去掉提问,就要先输入
>prompt off
 
 
3.解决:ftp命令行不支持目录下载
通过wget得到解决
#wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r
注:
星号*必须有,否则下载下来的就一个文件index.html
-r参数就是用来目录下载的
 
附:
一个ftp多文件下载上传的shell脚本
ftp server: 192.168.0.100:2121
User/PWD  :  test/ 2009
到OUTBOX下下载所有的文件(不包括文件夹),并将test.txt上传到INBOX
内容如下
#!/bin/bash
#cd /home/ftptmp/
ftp -v -n 192.168.0.100 2121 <<EOF
user  test  2009
binary
cd OUTBOX
prompt
mget *
cd ..
cd INBOX
put test.txt
close
bye
EOF