在 Linux 系统中,FTP(File Transfer Protocol)是一种常用的文件传输协议,通过命令行工具可以实现高效、稳定的文件传输,本文将详细介绍 Linux 下 FTP 命令的使用方法,包括连接、文件操作、权限控制等核心功能,帮助用户掌握这一实用工具。

连接 FTP 服务器
使用 FTP 命令传输文件的第一步是建立与 FTP 服务器的连接,基本语法为 ftp [服务器地址],ftp ftp.example.com,执行命令后,系统会提示输入用户名和密码,若服务器允许匿名登录,可使用 anonymous 作为用户名,任意邮箱地址作为密码。
连接成功后,FTP 命令行界面会显示欢迎信息,并进入 ftp> 提示符状态,此时可使用 help 或 查看所有可用命令,help [命令名] 则可查看特定命令的详细用法。help put 会显示文件上传命令的帮助信息。
若需在连接时指定端口,可通过 -p 参数实现,如 ftp -p 2121 ftp.example.com,默认 FTP 端口为 21,对于需要加密传输的场景,建议使用 SFTP(基于 SSH 的文件传输协议)或 FTPS(FTP over SSL/TLS),前者通过 sftp 命令调用,后者需在 FTP 客户端启用 --ssl 选项。
文件传输操作
文件传输是 FTP 的核心功能,主要包括上传和下载两种操作。
上传文件
使用 put 命令可上传单个文件,语法为 put [本地文件路径] [远程文件名]。put local.txt remote.txt 会将本地当前目录下的 local.txt 上传至 FTP 服务器当前目录,并命名为 remote.txt,若需上传整个目录,需先使用 lcd 命令切换至本地目录,再通过 put -r [目录名] 递归上传(部分 FTP 服务器可能不支持 -r 选项,此时需结合 mput 命令)。

mput 命令用于批量上传多个文件,支持通配符。mput *.txt 会上传当前目录下所有 .txt 文件,上传过程中,系统会逐个提示确认,若需跳过确认,可在执行 mput 前设置 prompt off。
下载文件
下载文件对应使用 get 和 mget 命令。get [远程文件路径] [本地文件名] 可下载单个文件,如 get remote.txt local.txt。mget 用于批量下载,mget *.txt 会下载服务器当前目录下所有 .txt 文件。
下载前需通过 lcd 命令设置本地保存路径,如 lcd /home/user/downloads,否则文件将默认下载至当前目录。binary 命令需在传输前执行,以确保二进制文件(如图片、压缩包)传输时不损坏,ASCII 模式则适用于文本文件。
目录与文件管理
FTP 命令支持对服务器和本地端的目录及文件进行管理操作。
目录操作
ls:列出服务器当前目录下的文件和子目录,类似于 Linux 的ls命令,支持-l选项显示详细信息(如权限、大小、修改时间)。cd [目录名]:切换服务器上的目录,如cd /pub进入pub目录。pwd:显示服务器当前工作目录的完整路径。mkdir [目录名]:在服务器上创建新目录,如mkdir new_folder。rmdir [目录名]:删除服务器上的空目录,若目录非空需先删除内部文件。
本地目录操作需使用 前缀,

!ls:列出本地当前目录的文件。!mkdir [目录名]:在本地创建目录。!pwd:显示本地当前工作目录。
文件操作
delete [文件名]:删除服务器上的指定文件,如delete temp.txt。rename [旧文件名] [新文件名]:重命名服务器上的文件,如rename old.txt new.txt。size [文件名]:查看服务器文件的大小,md5 [文件名]可计算文件的 MD5 值(需服务器支持)。
权限与安全控制
FTP 传输的安全性至关重要,需注意以下几点:
- 匿名登录限制:若服务器允许匿名登录,需确保上传目录权限受限,避免恶意用户上传非法文件,可通过服务器配置(如 vsftpd)禁止匿名上传。
- 加密传输:优先使用 SFTP 或 FTPS,避免明文传输用户名和密码,在 FTP 客户端中,可通过
auth命令启用 SSL/TLS 认证。 - 权限设置:通过
chmod命令调整服务器文件权限,如chmod 644 file.txt设置文件所有者可读写,其他用户只读。 - 被动模式:在防火墙环境下,使用
passive命令启用被动模式,避免数据连接因端口限制失败。
断开连接与退出
完成文件传输后,需正确退出 FTP 会话以释放资源。close 命令可断开与服务器的连接,但保留 FTP 命令行环境,支持重新连接;bye 或 quit 则直接退出 FTP 客户端,返回系统终端。
若传输过程中意外中断,可通过 reget 或 reput 命令断点续传,reget large_file.zip 会从已下载的断点继续下载文件。
Linux 下的 FTP 命令功能强大且灵活,通过掌握连接、文件传输、目录管理等核心操作,可高效实现跨平台的文件传输,在实际使用中,需结合安全配置选择合适的传输模式,并注意权限控制,以确保数据传输的安全性和稳定性,对于需要更高安全性的场景,建议优先采用 SFTP 等加密协议替代传统 FTP。















