Windows命令行使用FTP
0.FTP客户端-IIS7服务器管理工具
在实际文章操作之前,介绍一个强大的工具:FTP客户端-IIS7服务器管理工具
作为FTP客户端,它支持批量管理ftp站点。定时上传和定时下载,定时备份,且操作简洁。同时iis7服务器管理工具还是vnc客户端。
并且支持批量管理管理windows及linux服务器、vps。让服务器真正实现了一站式管理,真的是非常方便。
官网地址:http://fwqglgj.iis7.net/cp/ftp/?zmyc-zc
使用截图如下:
1.系统环境
FTP客户端:Windows7旗舰版,管理员权限命令行;
FTP服务端:CentOS 6.5,VSFTP,端口 21(默认)
2.登陆FTP
2.1 FTP命令概述
命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][computer] 说说他们的含义吧。 -v 不显示远程服务器响应 -n 禁止第一次连接的时候自动登陆 -i 在多个文件传输期间关闭交互提示 -d 允许调试、显示客户机和服务器之间传递的全部ftp命令 -g 不允许使用文件名通配符,文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符 -s:filename 指定包含ftp命令的文本文件。在ftp命令启动后将自动运行这些命令。在加的参数里不能有空格。 -a 绑定数据连接时,使用任何的本地端口 -w:windowsize 忽略默认的4096传输缓冲区 computer 指定要连接的远程计算机的ip地址
2.2 直接在bat中输入登录
- 在命令行下输入 ftp,出现 ftp>即进入FTP命令行
- open FTP的IP地址/域名 例如 open 169.254.234.241 (当然有最简单的方式 直接在命令行下 ftp FTP的IP地址/域名)
- 按照提示输入用户名和密码,完成登陆
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>ftp ftp> open 169.254.234.241 连接到 169.254.234.241。 220 Welcome to blah FTP service. 用户(169.254.234.241:(none)): wy 331 Please specify the password. 密码: 230 Login successful. ftp>
3.上传一个文件
- put(或者 send,上传多个使用 mput) 文件名(包含路径) 例如 put C:\Users\Administrator\Documents\Myself.pub
- ls(或者 dir) 查看当前目录文件
ftp> put C:\Users\Administrator\Documents\Myself.pub 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. ftp: 发送 233 字节,用时 0.02秒 14.56千字节/秒。 ftp> send C:\Users\Administrator\Documents\Myself 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. ftp: 发送 1004 字节,用时 0.00秒 1004000.00千字节/秒 ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. Myself Myself.pub 226 Directory send OK. ftp: 收到 20 字节,用时 0.00秒 20.00千字节/秒。 ftp>
很显然,send 的速度比 put 快不少。但是他们两个的区别我没有详细的查。
4.下载一个文件
- lcd 本地目录路径 设置当前工作路径,也就是你要把文件下载到哪。默认是在当前使用命令行的用户的主目录。我的是 C:\Users\Administrator。也可以使用 !chdir 查看当前目录。
- cd 服务器目录 进入到你要下载的文件在服务器端的目录位置
- get(下载多个用 mget) 文件名 下载该文件。例如 get Myself
- !dir 查看当前目录文件,就能看到你刚才下载的文件啦
ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 500 500 986 Dec 03 10:08 Myself -rw-r--r-- 1 500 500 233 Dec 03 10:07 Myself.pub 226 Directory send OK. ftp: 收到 132 字节,用时 0.00秒 132000.00千字节/秒。 ftp> !cd C:\Users\Administrator\Desktop ftp> !chdir C:\Users\Administrator ftp> lcd C:\Users\Administrator\Desktop 目前的本地目录 C:\Users\Administrator\Desktop。 ftp> !chdir C:\Users\Administrator\Desktop ftp> get Myself 200 PORT command successful. Consider using PASV. 150 Opening ASCII mode data connection for Myself (986 bytes). 226 Transfer complete. ftp: 收到 1004 字节,用时 0.00秒 1004.00千字节/秒。 ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 500 500 986 Dec 03 10:08 Myself -rw-r--r-- 1 500 500 233 Dec 03 10:07 Myself.pub 226 Directory send OK. ftp: 收到 132 字节,用时 0.00秒 132.00千字节/秒。 ftp> !dir 驱动器 C 中的卷没有标签。 卷的序列号是 941F-307E C:\Users\Administrator\Desktop 的目录 2013/12/03 18:27 <DIR> . 2013/12/03 18:27 <DIR> .. 2013/11/17 13:23 932 Evernote.lnk 2013/11/24 15:43 1,023 FlashFXP.lnk 2013/11/21 08:53 2,176 Git Shell.lnk 2013/11/21 08:53 308 GitHub.appref-ms 2013/12/03 18:27 1,004 Myself 2013/10/26 21:26 1,627 SecureCRT.lnk 6 个文件 7,070 字节 2 个目录 50,591,227,904 可用字节 ftp>
5.断开连接
bye 就是这样。
ftp> status 连接到 169.254.234.241。 类型: ascii;详细: 开 ;铃声: 关 ;提示: 开 ;通配: 开 调试: 关 ;哈希标记打印: 关 。 ftp> bye 221 Goodbye. C:\Users\Administrator>
6.bat中使用 ftp,以便自动化
@echo off echo open 192.168.1.100>>ftp.tmp echo test>>ftp.tmp echo testtest>>ftp.tmp echo get a.html>>ftp.tmp echo bye>>ftp.tmp ftp -i -s:ftp.tmp del ftp.tmp pause @echo on
总结
这里就是拿一个例子来说明了一下简单的上传和下载命令的使用。使用 help 和 help [Command] 来查看对应命令的解释。最后给出常用命令的说明和格式。
命令 | 说明 | 格式 | 参数说明 |
bye | 结束与远程计算机的 FTP 会话并退出 ftp | bye | |
cd | 更改远程计算机上的工作目录 | cd RemoteDirectory |
|
dir | 显示远程计算机上的目录文件和子目录列表 | dir [RemoteDirectory] [LocalFile] |
|
get |
使用当前文件传输类型将远程文件复制到本地计算机。如果没有指定 LocalFile,文件就会赋以 RemoteFile 名。get 命令与 recv 相同。 |
get RemoteFile [LocalFile] |
|
lcd | 更改本地计算机上的工作目录。默认情况下,工作目录是启动 ftp 的目录 | lcd [Directory] |
|
ls | 显示远程目录上的文件和子目录的简短列表 | ls [RemoteDirectory] [LocalFile] |
|
open | 与指定的 FTP 服务器连接。可以使用 IP 地址或计算机名(两种情况下都必须使用 DNS 服务器或主机文件)指定 Computer。 | open Computer [Port] |
|
put(send) |
使用当前文件传输类型将本地文件复制到远程计算机上。put 命令与 send 命令相同。如果没有指定 RemoteFile,文件就会赋以 LocalFile 名。 |
put LocalFile [RemoteFile] |
|
更多详细的说明请看
参考:http://technet.microsoft.com/zh-cn/library/cc756013(v=ws.10).aspx 和 http://blog.csdn.net/chaoqunz/article/details/5973317