Linux系统下FTP(File Transfer Protocol)命令是一种经典的文件传输工具,主要用于在客户端和服务器之间进行文件上传、下载、删除等操作,虽然现在更推荐使用SFTP(基于SSH的安全文件传输)或SCP,但FTP因其简单易用仍在某些场景下使用,以下将详细介绍Linux下FTP命令的使用方法,包括连接、文件传输、目录操作及常见问题处理。

连接FTP服务器
使用FTP命令前,需先与FTP服务器建立连接,基本语法为ftp [服务器地址],例如ftp ftp.example.com,执行后会提示输入用户名和密码,若为匿名服务器,可使用anonymous作为用户名,任意邮箱作为密码,连接成功后,会显示ftp>提示符,表示进入FTP命令行模式。
常用连接参数:
-i:关闭交互提示,适合脚本中使用;-n:禁止自动登录,避免读取.netrc文件中的配置;-v:显示详细连接信息,便于调试。
FTP常用命令分类及操作
目录操作命令
ls:列出当前远程目录下的文件和子目录,类似Linux下的ls命令;dir:功能与ls类似,但显示更详细的文件信息(如权限、大小、日期);cd [目录名]:切换远程服务器上的目录,如cd /pub进入pub目录;pwd:显示当前远程工作目录的完整路径;lcd [本地目录]:切换本地客户端的工作目录,如lcd /tmp将本地目录切换至/tmp。
文件传输命令
get [远程文件] [本地文件]:下载远程文件到本地,可指定本地文件名,如get test.txt local.txt;mget [文件名通配符]:批量下载文件,如mget *.txt下载所有.txt文件;put [本地文件] [远程文件]:上传本地文件到远程服务器,如put local.txt /remote/test.txt;mput [文件名通配符]:批量上传文件,如mput *.log上传所有.log文件;ascii:设置传输模式为ASCII(文本文件),适合传输文本;binary:设置传输模式为二进制(如图片、压缩包),避免文件损坏。
文件和目录管理命令
mkdir [目录名]:在远程服务器创建目录,如mkdir newdir;rmdir [目录名]:删除远程空目录,如rmdir emptydir;delete [文件名]:删除远程文件,如delete old.txt;rm [文件名通配符]:批量删除远程文件,如rm *.tmp;rename [旧文件名] [新文件名]:重命名远程文件,如rename old.txt new.txt。
连接和会话管理命令
close:关闭当前连接,但保持FTP进程运行;bye或quit:退出FTP会话,关闭连接;open [服务器地址]:重新连接到指定FTP服务器;user [用户名]:切换远程服务器用户,如user admin。
FTP命令使用示例
假设需将本地/home/user/docs目录下的所有.pdf文件上传到FTP服务器的/upload目录,步骤如下:
- 连接服务器:
ftp ftp.example.com,输入用户名密码; - 切换远程目录:
cd /upload; - 切换本地目录:
lcd /home/user/docs; - 设置二进制模式:
binary; - 批量上传:
mput *.pdf; - 查看上传结果:
ls; - 退出会话:
bye。
FTP命令参数速查表
| 命令 | 功能描述 | 示例 |
|---|---|---|
open |
连接FTP服务器 | open 192.168.1.100 |
user |
切换远程用户 | user admin |
ls/dir |
列出远程目录文件 | ls -l |
cd |
切换远程目录 | cd /pub |
lcd |
切换本地目录 | lcd /tmp |
get/mget |
下载文件 | get file.txt |
put/mput |
上传文件 | put file.txt |
binary/ascii |
设置传输模式 | binary |
delete/rm |
删除远程文件 | delete file.txt |
mkdir |
创建远程目录 | mkdir newdir |
close/bye |
关闭连接/退出会话 | bye |
常见问题处理
- 连接超时或被拒绝:检查服务器地址、端口(默认21)、用户名密码是否正确,确认服务器防火墙是否允许FTP端口。
- 文件传输乱码或损坏:确保使用
binary模式传输二进制文件,避免在ASCII模式下传输非文本文件。
相关问答FAQs
Q1: 如何在FTP传输中显示进度条?
A1: 原生FTP命令不支持进度条,但可通过pipeftp工具或结合pv命令实现。pv local.txt | ftp ftp.example.com,输入用户密码后执行put -,即可显示传输进度。

Q2: 匿名FTP上传失败怎么办?
A2: 匿名FTP通常只允许下载,禁止上传,若需上传,需联系服务器管理员开通普通用户权限,或确认服务器是否配置了匿名上传目录(通常为/incoming),并使用put命令上传文件。

