FTP是File Transport Protocol的简称 其作用是使连接到服务器上的客户可以在服务器和客户机间传输文件 除WWW服务外 FTP也算是使用最广泛的一种服务了 FTP服务器配置 在此介绍一下利用IIS建立FTP服务器的方法 (同WWW服务一样 IIS默认有一个默认的FTP站 因此
FTP是File Transport Protocol的简称其作用是使连接到服务器上的客户可以在服务器和客户机间传输文件除WWW服务外FTP也算是使用最广泛的一种服务了
FTP服务器配置
在此介绍一下利用IIS建立FTP服务器的方法 (同WWW服务一样IIS默认有一个默认的FTP站因此你可以通过修改默认FTP站点来满足你的需要)
在默认FTP站点上点右键如图

输入描述我爱计算机设置IP地址端口默认为一般不需要更改
设置连接同Web服务器一样注意启用日志纪录
然后选中主目录对话框如图

基本上按照上图的设置就可以了指定目录的访问权限一般选择读取你也可以以后再指定访问权限让管理员具体写入的权限让一般文章者具有读取的权限
在安全账户中修改账户信息根据自己的需要修改如下图:

允许匿名连接选项一定要填上否则用户访问此站点时需要用户名和密码默认状态下是可以允许匿名访问的用户名为anonymous密码为空
定义用户访问FTP站点和退出站点时的信息以及最大连接数如图

当然大家也可以根据自己的需要和爱好来设置
最后测试(不通过浏览器而是cmd中的ftp命令)
在运行中打开cmd然后输入 ftp (刚才设置的IP地址)回车输入用户名anonymous
然后回车要求输入密码因为密码为空按回车即可get 下载某一文件到本地文件夹(日后为了网站的安全可以设置禁止匿名访问并加强密码这里为了测试方便所以设置匿名用户)

在cmd中ftp命令很多常用的主要有
ftp 登陆ftp
dir 显示远程主机目录
cd remotedir进入远程主机目录;
help[cmd]显示ftp内部命令cmd的帮助信息如help get
get remotefile[localfile] 将远程主机的文件remotefile传至本地硬盘的localfile(本地文件夹)
put localfile[remotefile]将本地文件localfile传送至远程主机
quit同bye退出ftp会话
………………………………………………………………………………………………………………
ftp使用的内部命令如下(中括号表示可选项):
![cmd[args]]在本地机中执行交互shellexit回到ftp环境如!ls*zip
$ macroame[args]执行宏定义macroname
account[password]提供登录远程系统成功后访问系统资源所需的补充口令
append localfile[remotefile]将本地文件追加到远程系统主机若未指定远程系统文件名则使用本地文件名
ascii使用ascii类型传输方式
bell每个命令执行完毕后计算机响铃一次
bin使用二进制文件传输方式
bye退出ftp会话过程
case在使用mget时将远程主机文件名中的大写转为小写字母
cd remotedir进入远程主机目录
cdup进入远程主机目录的父目录
chmod mode filename将远程主机文件filename的存取方式设置为mode如 chmod aout
close中断与远程服务器的ftp会话(与open对应)
cr使用asscii方式传输文件时将回车换行转换为回行
delete remotefile删除远程主机文件
debug[debugvalue]设置调试方式 显示发送至远程主机的每条命令如 deb up 若设为表示取消debug
dir[remotedir][localfile]显示远程主机目录并将结果存入本地文件localfile
disconnection同close
form format将文件传输方式设置为format缺省为file方式
get remotefile[localfile] 将远程主机的文件remotefile传至本地硬盘的localfile
glob设置mdeletemgetmput的文件名扩展缺省时不扩展文件名同命令行的g参数
hash每传输字节显示一个hash符号(#)
help[cmd]显示ftp内部命令cmd的帮助信息如help get
idle[seconds]将远程服务器的休眠计时器设为[seconds]秒
image设置二进制传输方式(同binary)
lcd[dir]将本地工作目录切换至dir
ls[remotedir][localfile]显示远程目录remotedir 并存入本地文件localfile
macdef macroname定义一个宏遇到macdef下的空行时宏定义结束
mdelete[remotefile]删除远程主机文件
mdir remotefiles localfile与dir类似但可指定多个远程文件如 mdir *o*zipoutfile
mget remotefiles传输多个远程文件
mkdir dirname在远程主机中建一目录
mls remotefile localfile同nlist但可指定多个文件名
mode[modename]将文件传输方式设置为modename 缺省为stream方式
modtime filename显示远程主机文件的最后修改时间
mput localfile将多个文件传输至远程主机
newer filename 如果远程机中filename的修改时间比本地硬盘同名文件的时间更近则重传该文件
nlist[remotedir][localfile]显示远程主机目录的文件清单并存入本地硬盘的localfile
nmap[inpattern outpattern]设置文件名映射机制 使得文件传输时文件中的某些字符相互转换如nmap $$$[$$][$$]则传输文件aaa时文件名变为aa该命令特别适用于远程主机为非UNIX
机的情况
ntrans[inchars[outchars]]设置文件名字符的翻译机制如ntransR则文件名LLL将变为RRR
open host[port]建立指定ftp服务器连接可指定连接端口
passive进入被动传输方式
prompt设置多个文件传输时的交互提示
proxy ftpcmd在次要控制连接中执行一条ftp命令 该命令允许连接两个ftp服务器以在两个服务器间传输文件第一条ftp命令必须为open以首先建立两个服务器间的连接
put localfile[remotefile]将本地文件localfile传送至远程主机
pwd显示远程主机的当前工作目录
quit同bye退出ftp会话
quote argarg将参数逐字发至远程ftp服务器如quote syst
recv remotefile[localfile]同get
reget remotefile[localfile]类似于get但若localfile存在则从上次传输中断处续传
rhelp[cmdname]请求获得远程主机的帮助
rstatus[filename]若未指定文件名则显示远程主机的状态否则显示文件状态
rename[from][to]更改远程主机文件名
reset清除回答队列
restart marker从指定的标志marker处重新开始get或put如restart
rmdir dirname删除远程主机目录
runique设置文件名唯一性存储若文件存在则在原文件后加后缀等
send localfile[remotefile]同put
sendport设置PORT命令的使用
site argarg将参数作为SITE命令逐字发送至远程ftp主机
size filename显示远程主机文件大小如site idle
status显示当前ftp状态
struct[structname]将文件传输结构设置为structname 缺省时使用stream结构
sunique将远程主机文件名存储设置为唯一(与runique对应)
system显示远程主机的操作系统类型
tenex将文件传输类型设置为TENEX机的所需的类型
tick设置传输时的字节计数器
trace设置包跟踪
type[typename]设置文件传输类型为typename缺省为ascii如type binary设置二进制传输方式
umask[newmask]将远程服务器的缺省umask设置为newmask如umask
user username[password][account]向远程主机表明自己的身份需要口令时必须输入口令如user anonymous my@email
verbose同命令行的v参数即设置详尽报告方式ftp服务器的所有响应都将显示给用户缺省为on
?[cmd]同help