Linux FTP命令是文件传输协议(File Transfer Protocol)在Linux系统下的命令行工具,用于在客户端和服务器之间进行文件传输,FTP基于TCP协议,支持两种连接模式:主动模式(Active Mode)和被动模式(Passive Mode),其中被动模式因防火墙兼容性更好而被广泛使用,以下将从基本连接、文件传输、目录操作、高级选项等方面详细解析Linux FTP命令的使用方法。

FTP基本连接与登录
-
连接FTP服务器
使用ftp [服务器地址]命令连接到远程FTP服务器,例如ftp ftp.example.com,连接成功后,系统会提示输入用户名和密码,若为匿名登录,可使用anonymous作为用户名,电子邮件地址作为密码。- 常见选项:
-i:关闭多文件传输时的交互提示。-n:禁止自动登录,需手动输入用户名和密码。-v:显示详细执行过程。
- 常见选项:
-
登录与退出
登录后,可通过pwd查看当前远程目录,ls列出文件,cd切换目录,退出FTP会话使用bye或quit。
文件传输命令
FTP支持ASCII和二进制两种传输模式,默认为ASCII模式(适用于文本文件),二进制模式(bin或binary)用于图片、压缩包等非文本文件,需手动切换以避免文件损坏。
-
上传文件
(图片来源网络,侵删)put [本地文件] [远程文件]:上传单个文件,如put local.txt remote.txt。mput [文件列表]:上传多个文件,支持通配符,如mput *.txt。- 示例:
put document.pdf /upload/document.pdf将本地文件上传到远程服务器的/upload目录。
-
下载文件
get [远程文件] [本地文件]:下载单个文件,如get remote.txt local.txt。mget [文件列表]:下载多个文件,如mget *.zip。- 示例:
get /data/report.csv ./report.csv将远程文件下载到当前本地目录。
目录与文件操作
-
目录管理
ls [选项]:列出远程目录文件,-l显示详细信息,-a包含隐藏文件。cd [目录名]:切换远程目录,如cd /var/www。mkdir [目录名]:创建远程目录,如mkdir new_folder。rmdir [目录名]:删除空远程目录。
-
本地操作
lcd [目录]:切换本地工作目录,如lcd /home/user/download。! [命令]:执行本地系统命令,如! ls查看本地文件列表。
-
文件与目录删除
(图片来源网络,侵删)delete [文件名]:删除远程单个文件。mdelete [文件列表]:删除多个远程文件。rmdir [目录名]:删除空目录,非空目录需先删除内部文件。
高级配置与选项
-
模式切换
- 被动模式:
passive,适用于防火墙环境,数据连接由客户端发起。 - 主动模式:
active,默认模式,数据连接由服务器发起。
- 被动模式:
-
文件类型设置
ascii:设置传输模式为ASCII(文本文件)。binary:设置传输模式为二进制(非文本文件)。
-
其他实用命令
hash:显示传输进度(表示每传输1024字节显示一个)。prompt:关闭多文件传输时的交互提示(与mput/mget配合使用)。status:显示当前FTP连接状态。
常见操作场景示例
-
匿名下载文件
ftp ftp.example.com # 输入用户名anonymous,密码任意(如test@example.com) cd /pub get file.zip bye
-
批量上传文件
ftp -n ftp.example.com # 手动输入用户名和密码后 prompt off mput *.log bye
相关操作命令速查表
| 命令 | 功能描述 | 示例 |
|---|---|---|
open |
连接FTP服务器 | open 192.168.1.100 |
user |
切换用户登录 | user admin |
put |
上传文件 | put file.txt |
get |
下载文件 | get file.txt |
mput |
批量上传文件 | mput *.txt |
mget |
批量下载文件 | mget *.zip |
bin |
切换二进制传输模式 | bin |
ascii |
切换ASCII传输模式 | ascii |
passive |
开启被动模式 | passive |
close |
关闭当前连接 | close |
FAQs
-
问:FTP传输时文件损坏怎么办?
答:通常是由于传输模式设置错误导致,非文本文件(如图片、压缩包)需使用二进制模式传输,在FTP会话中执行binary命令后再进行文件操作,检查网络稳定性,避免传输中断。 -
问:如何避免每次输入FTP密码?
答:可通过配置.netrc文件实现自动登录,在用户主目录创建.netrc文件,添加以下内容:machine ftp.example.com login your_username password your_password
并设置文件权限为
600(chmod 600 .netrc),之后使用ftp ftp.example.com即可自动登录。
