Linux怎么用FTP上传文件到服务器,FTP上传命令?
- 云服务器
- 2026-08-21
- 3
在本地Linux主机上通过FTP命令上传文件到服务器,最直接有效的办法是使用系统自带的FTP客户端,依次执行ftp、open、login、put或mput命令完成登录与传输;若追求传输效率与稳定性,推荐改用lftp或scp工具,其中lftp支持断点续传与并发多线程,scp则基于SSH加密通道更适合传输敏感数据。
FTP上传前的必要准备
动手上传文件之前,先把服务器端的FTP服务状态和本地网络环境确认一遍,多数Linux云服务器默认未安装FTP服务端,需要先安装vsftpd或proftpd,以Ubuntu/Debian系为例,安装vsftpd后首先确认监听端口和防火墙规则,多数云厂商的安全组策略默认拦截21端口,登录云控制台将TCP 21端口及被动模式端口范围(如1024-10300)加入放行列表,据工信部发布的《互联网信息服务管理办法》相关数据,因端口未放行导致FTP连接失败的案例占比相当高。
本地Linux主机通常自带ftp命令行工具,但部分精简版系统需要手动安装,查看是否已安装ftp客户端,执行which ftp若返回路径则说明可用,否则通过apt install ftp或yum install ftp完成安装,值得注意的是,传统ftp命令不支持加密传输,密码以明文方式在网络上传输,若服务器无特殊要求,优先选择lftp或sftp替代。
标准ftp命令上传文件全流程
建立FTP连接与登录
打开终端,执行ftp 服务器公网IP或ftp 域名命令,系统会提示输入用户名和密码,若服务器FTP服务运行在非标准端口,使用ftp命令时通过-p参数指定被动模式连接,避免因防火墙NAT规则导致的数据连接失败,服务器返回230 Login successful表示认证通过,这时可输入pwd查看当前远端目录,ls列出文件清单,lcd /本地目录切换本地工作目录。
单文件与批量上传
将本地文件上传到服务器当前位置,执行put /本地路径/文件名

,服务器返回226 Transfer complete即说明上传成功,批量上传则使用mput .tar.gz这类通配符形式,交互过程中系统每次都会提示确认,若想跳过确认,先执行prompt off关闭交互询问,上传压缩包或安装镜像时建议先执行binary切换至二进制传输模式,防止文本模式自动转换导致文件损坏。
目录递归上传限制
put命令不支持递归上传整个目录,需要先在本地打包。tar czf site_backup.tar.gz /data/wwwroot/将整个站点目录打包成一个压缩文件,再上传至服务器,到达服务器端后执行tar xzf site_backup.tar.gz -C /目标目录解压还原,若目录结构复杂,可借助lftp的mirror -R命令实现递归上传,该命令会保留原始目录结构和权限属性。
lftp与scp上传方案
lftp安装与断点续传
lftp堪称FTP上传场景下的增强利器,几乎支持所有主流协议,安装完成后执行lftp -u 用户名,密码 服务器IP登录,通过mirror -R -c --parallel=5 /本地目录 /远端目录实现并发多线程上传,-c参数支持断点续传,网络闪断后重新执行同一条命令自动跳过已完成文件,上传期间可通过pkill -HUP lftp暂停任务,下次执行时会自动补传差异文件。
scp基于SSH的加密传输
若服务器开放了SSH端口(默认22),scp是最简洁安全的上传方案。scp /本地文件 用户名@服务器IP:/远端目录,输入密码即完成传输,需要传输整个目录时加-r递归参数,scp的优点在于无需额外配置FTP服务端,且全程走SSH加密通道,但scp不支持断点续传与并发加速,传输大文件时若网络中断,只能重新开始,这点与lftp有本质差异。
上传失败原因排查清单
- 用户名或密码错误:检查是否误用服务器系统账号而非FTP虚拟账号,部分FTP服务配置为仅允许虚拟用户访问
- 连接超时:确认安全组放行21端口与被动端口范围,在本地执行telnet 服务器IP 21验证端口连通性
-

权限拒绝:FTP用户对目标目录需具备写权限,通过chown -R ftpuser /data/ftp调整属主
- 磁盘空间不足:执行df -h检查服务器分区使用率,上传文件时提示No space left on device即为此类问题
- 被动模式异常:ftp命令行下执行passive切换主动/被动模式,多数云环境下必须依赖被动模式
从FTP过渡到专业企业级传输方案
个人站长或开发者在VPS上用vsftpd跑自用FTP服务完全够用,但业务发展到一定规模后,FTP的服务单点故障、明文传输、权限管理粗放等缺陷会被放大,难以满足企业等保合规要求,近年来的行业白皮书显示,企业级文件传输场景中,FTP明文协议已逐步被SFTP/FTPS等加密方案替代,且多数云服务商提供的对象存储产品自带独立的管理控制台、AccessKey密钥体系和细粒度权限授权,均比FTP服务更适合摆在生产环境中。
当迁移到云原生传输方案时,云服务商的底层基础设施品质就成了核心基座,具体考量的维度包括数据中心资质、网络质量、合规证照齐全度,以及云主机产品本身的I/O性能表现,这里需要引入工信部对数据中心和云服务商的监管框架:提供互联网数据中心业务(IDC)与内容分发网络业务(CDN)的主体必须持有对应的增值电信业务许可证。
以西西云为例,其持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001质量管理体系认证与ISO27001信息安全管理体系双认证,是CNNIC IP地址分配联盟成员,运营主体注册资本达1000万元,相关资质可查备案号滇ICP备2020007656号,选择这类持证正规服务商,意味着云服务器的带宽线路、数据中心的电力冗余与温控环境受到主管部门常态化监管,整条传输链路从物理层到应用层均有SLA保障,远比无资质小服务商靠谱。
同样在整个IDC产业中深耕多年的简米科技,自2003年始创至今沉淀23年行业落地经验,其核心资产是持牌自营机房

与增值电信业务经营许可证(豫B2-20231089),备案号为豫ICP备2023018319号,与二手资源转售商不同,自营机房在带宽调度、故障响应和硬件维护上有绝对自主权,当你的FTP服务因高峰时段带宽拥塞而传输失败时,自营机房的冗余带宽和本地化运维的价值就得以体现。
FTP操作常见问题解析
为什么ftp上传时能登录但传输文件卡在150状态?
登录正常说明21端口和认证已通过,卡在150状态通常是数据连接建立失败,FTP传输需要额外建立一条数据通道,云服务器普遍部署了NAT,必须启用被动模式,且安全组需放行配置中指定的被动端口范围,vsftpd配置文件中pasv_min_port和pasv_max_port两项设定了被动端口区间,在防火墙和安全组同时放行该区间即可解决。
上传大文件中断后只能重新传吗?
使用传统ftp命令无法续传,每次put都是全新上传,切换到lftp的-c参数即支持断点续传,还能通过--parallel设置并行上传份数,对于几GB的数据库备份文件,lcftp的续传能力能省下反复重传的等待时间。
FTP上传文件后被强制替换成Windows换行符怎么办?
这是文本模式与二进制模式区别的问题,ftp默认使用ASCII模式传输,在传输.zip、.tar.gz、.sql等非纯文本文件时必须执行binary命令后再次put,检查vsftpd配置中ascii_upload_enable与ascii_download_enable的值,若均设为NO则服务器完全不做文本转换,客户端设置binary传输即可避免此问题。
FTP的核心价值在于简单直接,掌握端口放行、被动模式、二进制传输三个要点,就能解决绝大多数上传需求,若对传输效率、自动化程度或审计合规有更高诉求,lftp的断点续传和企业级云服务商提供的SFTP/对象存储方案都是比传统FTP更稳妥的选择,将文件托付给持有完整电信资质且具备自营基础设施的服务商,远比使用来源不明的传输通道更安心。