FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上客户端和服务器之间传输文件的协议,它基于TCP/IP协议,支持文件的上传、下载、删除、重命名等操作,广泛应用于网站维护、文件共享、数据备份等场景,FTP命令是用户通过命令行界面与FTP服务器交互的方式,掌握这些命令可以高效地管理文件传输任务,以下是FTP文件传输命令的详细介绍,包括常用命令的功能、语法及示例,并通过表格形式汇总核心命令,最后附相关FAQs解答。

FTP命令通常在命令行终端中使用,格式为“ftp [服务器地址]”,连接成功后会出现“ftp>”提示符,此时可输入命令操作,根据功能,FTP命令可分为连接类、文件操作类、目录操作类、传输模式类及其他辅助命令,以下分类说明。
连接类命令
连接类命令用于建立和管理与FTP服务器的会话,是使用FTP功能的前提。
- open:用于连接到指定的FTP服务器,语法为“open [服务器地址] [端口]”,其中端口号默认为21,可省略。“open ftp.example.com 2121”表示连接到服务器的2121端口。
- close:关闭当前与服务器的连接,但保持FTP程序运行,可重新连接。“close”执行后,连接断开,提示变为“ftp>”。
- bye/quit:退出FTP程序并关闭连接。“bye”会结束会话并返回终端。
- user:在未连接或连接断开后,重新登录服务器,语法为“user [用户名]”,输入后需按提示输入密码。“user admin”表示以admin身份登录。
文件操作类命令
文件操作类命令主要用于对服务器或本地文件进行管理,包括上传、下载、删除等。
- put/mput:上传文件到服务器。“put”上传单个文件,语法为“put [本地文件] [远程文件]”,其中远程文件名可省略(默认与本地文件同名)。“put test.txt”将本地test.txt上传至服务器当前目录,文件名仍为test.txt。“mput”可批量上传多个文件,语法为“mput [文件名1] [文件名2] ...”,支持通配符,如“mput *.txt”上传所有txt文件。
- get/mget:从服务器下载文件。“get”下载单个文件,语法为“get [远程文件] [本地文件]”,“get data.zip local.zip”将服务器data.zip下载为local.zip。“mget”批量下载,语法与mput类似,如“mget *.log”下载所有log文件。
- delete:删除服务器上的文件,语法为“delete [远程文件]”,“delete temp.txt”删除服务器temp.txt文件。
- rename:重命名服务器上的文件,语法为“rename [原文件名] [新文件名]”,“rename old.txt new.txt”将old.txt重命名为new.txt。
- mkdir/rmdir:创建和删除服务器目录。“mkdir”语法为“mkdir [目录名]”,如“mkdir backup”创建backup目录;“rmdir”语法为“rmdir [目录名]”,如“rmdir temp”删除temp目录(需为空目录)。
- 执行本地系统命令。“! ls”在本地列出文件,“! dir”查看本地目录详情。
目录操作类命令
目录操作类命令用于切换和查看服务器目录结构,方便定位文件位置。

- cd:切换服务器当前目录,语法为“cd [目录名]”,“cd /var/www”切换至/var/www目录;“cd ..”返回上级目录。
- pwd:显示服务器当前所在目录的完整路径。“pwd”可能输出“/var/www/html”。
- ls/dir:列出服务器当前目录的文件和子目录。“ls”简要列出,语法为“ls [选项] [目录]”,如“ls -l”显示详细信息(权限、大小、日期等);“dir”功能类似,通常默认显示详细列表。
- lcd:切换本地工作目录,语法为“lcd [本地目录]”,“lcd /home/user”将本地目录切换至/home/user,影响上传下载的默认路径。
传输模式类命令
传输模式类命令控制文件传输的方式,包括文本/二进制模式、主动/被动模式等,直接影响传输效率和兼容性。
- ascii:设置传输模式为ASCII(文本)模式,适用于.txt、.csv等纯文本文件,传输时会自动转换换行符。“ascii”进入文本模式。
- binary:设置传输模式为二进制模式,适用于.exe、.zip、.jpg等非文本文件,传输时不进行任何字符转换,保证文件完整性。“binary”进入二进制模式(推荐默认使用,避免文件损坏)。
- passive:开启被动模式,客户端主动连接服务器数据端口,适用于客户端位于防火墙后的场景。“passive”开启后,数据传输连接由客户端发起。
- active:开启主动模式,服务器主动连接客户端数据端口,为默认模式,但可能因客户端防火墙被阻。“active”切换回主动模式。
其他辅助命令
- status:显示当前FTP连接的状态,包括传输模式、连接类型等。“status”可能输出“Connected to ftp.example.com, Passive mode off”。
- help/?:显示命令帮助信息,语法为“help [命令名]”,“help put”显示put命令的用法;“?”列出所有可用命令。
- hash:开启或关闭传输进度显示,开启后,每传输1024字节显示一个“#”符号,“hash”开启,“hash”再次输入则关闭。
- case:开启或关闭文件名大小写转换。“case on”传输时将远程文件名转为小写,“case off”保持原样(默认关闭)。
FTP核心命令速查表
命令分类 | 命令名 | 语法与功能示例 |
---|---|---|
连接类 | open | open ftp.example.com 2121(连接服务器) |
close | close(关闭当前连接) | |
bye/quit | bye(退出FTP程序) | |
文件操作 | put/mput | put test.txt(上传单个文件);mput *.txt(批量上传) |
get/mget | get data.zip(下载单个文件);mget *.log(批量下载) | |
delete | delete temp.txt(删除服务器文件) | |
目录操作 | cd/pwd | cd /var/www(切换目录);pwd(显示当前路径) |
ls/dir | ls -l(列出文件详情) | |
lcd | lcd /home/user(切换本地目录) | |
传输模式 | ascii/binary | ascii(文本模式);binary(二进制模式) |
passive/active | passive(被动模式);active(主动模式) | |
辅助命令 | status | status(显示连接状态) |
help/? | help put(查看put命令帮助);?(列出所有命令) |
相关问答FAQs
Q1: FTP传输文件时,如何避免因换行符不同导致的文件损坏?
A: 对于文本文件(如代码、配置文件),需在传输前使用“ascii”命令设置ASCII模式,该模式会自动将不同操作系统的换行符(如Windows的“\r\n”转换为Linux的“\n”)进行转换;而对于二进制文件(如程序、压缩包、图片等),必须使用“binary”命令,确保文件内容不被修改,若不确定文件类型,默认使用“binary”模式最安全。
Q2: FTP连接时提示“530 Login incorrect”,可能的原因及解决方法?
A: 该错误通常表示用户名或密码错误,可检查以下几点:① 确认用户名和密码是否正确,注意大小写敏感;② 若服务器要求匿名登录,尝试使用“anonymous”作为用户名,密码留空或输入“anonymous@”;③ 检查网络是否连通,可通过“ping [服务器地址]”测试;④ 若服务器配置了IP限制或白名单,确认客户端IP是否在允许范围内;⑤ 尝试更换连接模式(如“passive”),避免防火墙阻拦数据端口。
