用wget实现命令行登录ftp

今天需要用FTP下载某服务器上的一堆目录,采用前面的wget –mirror ftp://a/b/c/的方式是可以的,但那只限于匿名用户,如果是要使用用户名密码才能登录的账号,那该怎么办呢?开始的想法是采用ftp://用户名:密码@公网IP址或域名:端口号的形式输入FTP地址,无奈的是用户名是个Email地址的形式,有个@,和表示区分的@重复,找了半天,也没找到在这个FTP地址上转义字符的规则,无奈之下,只得又去研究wge。

惊喜的事情发生了,wget 有–user和–password的选项,这就容易了。

wget –user=a@xxx.com –password=xxxxxx –mirror  ftp://aaa.bbb.ccc.ddd。

果然,开始顺利下载了。

注意,这里username,password,mirror前面都是两个短横线。

用Apache仿照FTP的列表方式的虚拟主机配置写法

<Virtualhost *:80>

DocumentRoot “/home/123456”

ServerName ftp.aaa.com

AddDefaultCharset UTF-8

<directory home=””/home/123456″”>

Options Indexes

IndexOptions NameWidth=* //这个是让表格字段名自动适应宽度

IndexOptions FancyIndexing //采用类似Windows的排列方式

IndexOptions FoldersFirst //文件夹排在文件前面

IndexOptions HTMLTable //采用HTML的表格方式

AddIcon (IMG,/icons/pdf.gif) .pdf

AddIcon (IMG,/icons/doc.gif) .doc

AddIcon (IMG,/icons/xls.gif) .xls

AddIcon (IMG,/icons/ppt.gif) .ppt

AddIcon (IMG,/icons/rar.gif) .rar .zip .tgz .tar.gz .rpm .iso

AddIcon (IMG,/icons/msi.gif) .msi .exe

AddIcon (IMG,/icons/txt.gif) .txt

AddIcon (IMG,/icons/dll.gif) .dll .sys

AddIcon (IMG,/icons/xml.gif) .xml

AddIcon (IMG,/icons/html.gif) .htm .html

AddIcon (IMG,/icons/media.gif) .wmv .rm .rmvb .asf .mov

AddIcon (IMG,/icons/img.gif) .jpg .gif .png .bmp

IndexStyleSheet “ftp.css” //指定CSS文件,对样式进行具体规定

AllowOverride None

Order allow,deny

Allow from all

</directory>

</Virtualhost>