FTP(File Transfer Protocol,文件传输协议)是一种用于在客户端和服务器之间传输文件的标准网络协议,FTP服务器通过一系列命令来管理文件和目录,支持上传、下载、删除、重命名等操作,以下是FTP服务器常用命令的详细说明,包括基本命令、高级命令及其实际应用场景,部分命令会以表格形式呈现以便查阅。

FTP命令通常分为客户端命令和服务端响应,客户端通过这些命令与服务器交互,连接FTP服务器后,用户需输入命令执行操作,命令格式为“[命令] [参数]”,部分命令支持缩写(如ls
可简写为l
),以下是常用分类及具体命令说明:
连接与身份验证命令
- open [host] [port]
功能:连接到指定主机和端口的FTP服务器。
示例:open ftp.example.com 21
(默认端口为21)。 - user [username]
功能:登录服务器时输入用户名。
示例:user admin
。 - pass [password]
功能:输入用户密码进行身份验证。
示例:pass 123456
。 - quit/bye
功能:退出FTP服务器并关闭连接。
示例:quit
。 - account [acct]
功能:输入账号补充信息(部分服务器需要)。
示例:account extra_info
。
文件传输命令
- get/recv [remote_file] [local_file]
功能:从服务器下载文件到本地。
示例:get test.txt local.txt
(下载并重命名)。 - put/send [local_file] [remote_file]
功能:上传本地文件到服务器。
示例:put upload.txt server.txt
。 - mget [remote_files]
功能:批量下载多个文件(支持通配符)。
示例:mget *.txt
(下载所有.txt文件)。 - mput [local_files]
功能:批量上传多个文件。
示例:mput *.doc
。 - reget [remote_file] [local_file]
功能:断点续传下载。
示例:reget large.zip
。 - restart [offset]
功能:设置断点续传的偏移量。
示例:restart 1024
(从1KB处继续传输)。
文件与目录管理命令
- ls/dir [remote_path]
功能:列出服务器目录内容。
示例:ls /home/user
(显示指定目录文件)。 - mkdir [directory]
功能:创建新目录。
示例:mkdir new_folder
。 - rmdir [directory]
功能:删除空目录。
示例:rmdir empty_folder
。 - delete/rm [file]
功能:删除服务器上的文件。
示例:delete temp.txt
。 - rename [old_name] [new_name]
功能:重命名文件或目录。
示例:rename old.txt new.txt
。 - cd [directory]
功能:切换服务器目录。
示例:cd /var/www
。 - pwd
功能:显示当前所在目录路径。
示例:pwd
(输出:/var/www
)。
高级配置命令
- ascii
功能:设置传输模式为ASCII(适用于文本文件)。
示例:ascii
。 - binary
功能:设置传输模式为二进制(适用于图片、视频等非文本文件)。
示例:binary
。 - passive
功能:开启被动模式(适用于防火墙环境)。
示例:passive
。 - active
功能:开启主动模式(默认模式)。
示例:active
。 - status
功能:显示当前FTP状态(如传输模式、连接状态等)。
示例:status
。 - debug [level]
功能:开启调试模式(显示详细交互信息)。
示例:debug 3
(调试级别为3)。
其他实用命令
- ! [command]
功能:在本地系统执行命令。
示例:! ls
(列出本地当前目录文件)。 - close
功能:关闭当前连接但不退出FTP客户端。
示例:close
。 - case
功能:开启文件名大小写转换(部分系统支持)。
示例:case
。 - prompt
功能:关闭批量传输时的交互提示(默认开启)。
示例:prompt off
(关闭提示)。
以下为部分核心命令的快速参考表格:
命令类别 | 命令缩写 | 完整命令 | 功能说明 |
---|---|---|---|
连接类 | o | open | 连接FTP服务器 |
q | quit | 退出并关闭连接 | |
传输类 | get | recv | 下载文件 |
put | send | 上传文件 | |
mget | 批量下载 | ||
目录类 | ls | dir | 列出目录内容 |
cd | 切换目录 | ||
pwd | 显示当前路径 | ||
配置类 | bin | binary | 二进制传输模式 |
pasv | passive | 被动模式 |
实际应用场景示例
- 批量上传网站文件
open ftp.example.com user admin pass ******** binary cd /var/www/html mput *.html *.css *.js quit
- 下载远程服务器日志并断点续传
open log.server.com user user pass ******** cd /logs binary reget app.log local_app.log
相关问答FAQs
Q1: FTP和SFTP有什么区别?如何选择?
A: FTP使用明文传输数据,安全性较低;SFTP(SSH File Transfer Protocol)基于SSH加密传输,更安全,若需传输敏感数据(如密码、财务文件),建议使用SFTP;普通文件传输且对速度要求高时,可考虑FTP。
Q2: 如何解决FTP连接超时问题?
A: 可能原因包括网络不稳定、服务器防火墙拦截或被动模式未开启,可通过以下步骤排查:①检查网络连通性(ping
命令);②在FTP客户端启用passive
模式;③联系服务器管理员确认端口(21控制端口、20数据端口)是否开放。

