FTP-文件传输协议
时间:2019-04-29 03:17:35 来源:igfitidea点击:
FTP(文件传输协议)命令
linx ftp
FTP(文件传输协议)是一种网络协议,用于使用TCP / IP网络将文件从一台计算机传输到另一台计算机。FTP起源于系统具有图形用户界面。这意味着它可以直接从命令行运行,也可以轻松地将命令嵌入自动化脚本中。FTP允许用户使用简单的用户名和密码进行连接,或者在某些系统上可以匿名连接。现在,许多较新的系统使用SFTP(安全文件传输协议)作为FTP的安全替代方案。FTP通常通过两个连接(端口20和21)控制其数据传输。一个端口用于数据,另一个端口用于控制。ftp传输数据的两种最流行的形式是Ascii(通常用于文本文档和脚本)和Binary(二进制),用于图像文件或已编译的二进制代码。
基本FTP命令
键入ftp,然后按enter键。命令提示符变成ftp>。
这时键入?将可以看到支持的命令。

输入 help 命令可以查看命令的使用说明。
比如:help ascii将返回设置ascii传输类型的描述
FTP命令说明
| FTP命令 | 命令说明 | FTP命令 | 命令说明 |
|---|---|---|---|
| ! | 退出ftp shell | $ | 执行宏 |
| account | 将帐户命令发送到远程服务器 | append | 附加到文件 |
| ascii | 设置ASCII传输类型 | beep | 命令完成时执行提示音 |
| binary | 设置二进制传输类型 | bye | 终止ftp会话并退出 |
| case | 切换mget大写/小写id映射 | cd | 更改远程工作目录 |
| cdup | 将远程工作目录更改为父目录 | chmod | 更改远程文件的文件权限 |
| close | 终止FTP会话 | cr | 在ASCII上切换回车 |
| delete | 删除远程文件 | debug | 切换/设置调试模式 |
| dir | 列出远程目录的内容 | disconnect | 终止ftp会话 |
| exit | 终止ftp会话并退出 | form | 设置文件传输格式 |
| get | 接收文件 | glob | 切换本地文件名的元字符扩展 |
| hash | 为传输的每个缓冲区切换打印# | help | 显示本地帮助信息 |
| idle | 在远端获取(设置)空闲计时器 | image | 设置二进制传输类型 |
| ipany | 允许使用任何地址族 | ipv4 | 将地址使用限制为ipv4 |
| ipv6 | 将地址使用限制为ipv6 | lcd | 更改本地工作目录 |
| ls | 列出远程目录的内容 | macdef | 定义一个宏 |
| mdelete | 删除多个文件 | mdir | 列出多个远程目录的内容 |
| mget | 获取多个文件 | mkdir | 在远程机器上建立目录 |
| mls | 列出多个远程目录的内容 | mode | 设置文件传输模式 |
| modtime | 显示远程文件的最后修改时间 | mput | 发送多个文件 |
| newer | 如果远程文件比本地文件新,则获取文件 | nmap | 设置默认文件名映射的模板 |
| nlist | 远程目录的nlist内容 | ntrans | 为默认文件名映射设置转换表 |
| open | 连接到远程ftp | prompt | 强制对多个命令进行交互式提示 |
| passive | 进入被动传输模式 | proxy | 在备用连接上执行命令 |
| qc | 在std中使用?代替控制字符 | sendport | 切换每个数据连接使用PORT cmd |
| put | 发送一个文件 | pwd | 在远程机器上打印工作目录 |
| quit | 终止ftp会话并退出 | quote | 发送任意的ftp命令 |
| recv | 接收文件 | reget | 使文件在本地文件末尾重新启动 |
| rstatus | 显示远程机器的状态 | rhelp | 从远程服务器获得帮助 |
| rename | 重新命名文件 | reset | 清除排队的命令答复 |
| restart | 以字节数重新启动文件传输 | rmdir | 删除远程计算机上的目录 |
| runique | 本地文件唯一的切换存储 | send | 发送一个文件 |
| site | 发送站点特定命令到远程服务器 | size | 显示远程文件的大小 |
| status | 显示当前状态 | struct | 设置文件传输结构 |
| system | 显示远程系统类型 | sunique | 切换在远程计算机上唯一的存储 |
| tenex | 设置tenex文件传输类型 | tick | 传输期间切换打印字节计数器 |
| trace | 切换数据包跟踪 | type | 设置文件传输类型 |
| user | 发送新的用户信息 | umask | 在远程站点上获取(设置)umask |
| verbose | 切换详细模式 | ? | 打印本地帮助信息 |
打开与远程ftp主机的连接
$ ftp open IP地址/主机名 或者 $ ftp IP地址/主机名 或者 $ ftp ftp> open IP地址/主机名
列出FTP服务器上的文件/目录
执行ls命令
ftp> ls 200 PORT command successful 150 Connecting to port 43532 drwxr-sr-x 4 xxxxxxxx xxxxxxxx 4096 Jan 6 2010 . drwxr-sr-x 4 xxxxxxxx xxxxxxxx 4096 Jan 6 2010 .. drwxr-s--- 4 xxxxxxxx xxxxxxxx 4096 Jan 9 23:15 html
更改目录
cd更改远程服务器上的目录lcd更改本地目录
ftp> cd html 250 OK. Current directory is /html ftp> lcd /tmp Local directory now /tmp ftp> lcd Local directory now /home/john
ftp下载文件
ftp> get FileName ### 下载时,本地使用新名字 ftp> get FileName NewFile1
ftp上传文件
ftp> put FileName2 ## 上传时使用新名字 ftp> put FileName NewFile1
同时上传/下载多个文件
ftp> ascii ftp> mget *.txt ftp> binary ftp> mget *.jpg
结束ftp会话
ftp> quit 221 Logout.
FTP常见返回代码/错误代码
| 返回值 | 描述 |
|---|---|
| 100 | 当前动作仍在处理中 |
| 110 | 重新开始标记重播 |
| 120 | nnn分钟内即可完成服务准备 |
| 125 | 数据连接打开,传输开始 |
| 150 | 文件状态正常。即将打开数据连接。 |
| 200 | 动作成功完成 |
| 202 | 命令未执行 |
| 211 | 系统状况 |
| 212 | 目录状态 |
| 213 | 文件状态 |
| 214 | 帮助信息 |
| 220 | 为新用户准备的服务 |
| 221 | 服务关闭控制连接 |
| 225 | 数据连接打开。 |
| 226 | 正在关闭数据连接,请求的操作成功 |
| 230 | 用户登录。 |
| 231 | 用户注销,服务终止 |
| 232 | 指出注销命令 |
| 250 | 请求的文件操作完成OK |
| 300 | 命令已接受,正在暂停操作,等待其他信息 |
| 331 | 用户名确定,需要密码 |
| 332 | 登录所需的帐户 |
| 350 | 请求的文件操作有待进一步的信息 |
| 400 | 命令不被接受,错误条件是暂时的 |
| 421 | 服务不可用 |
| 425 | 无法打开数据连接 |
| 426 | 连接已关闭,传输已中止 |
| 430 | 用户名或密码无效 |
| 434 | 主机不可用 |
| 450 | 请求的文件操作未采取 |
| 451 | 请求的操作已中止 |
| 452 | 存储空间不足,文件忙,不可用 |
| 500 | 语法错误,无法识别命令 |
| 501 | 命令或参数中的语法错误 |
| 502 | 命令未执行 |
| 503 | 命令顺序错误 |
| 530 | 未登录 |
| 532 | 存储文件所需的帐户 |
| 550 | 未采取行动,找不到文件,无法访问 |
| 551 | 页面类型未知 |
| 552 | 超出文件存储分配 |
| 553 | 不允许的文件名 |

