在日常运维工作中,经常需要把本地文件快速传到远程服务器。图形化工具虽然直观,但有时不如命令行来得直接高效,尤其是批量处理或自动化任务时。FTP 命令行工具就是这类场景下的好帮手。
\n\n连接FTP服务器
\n打开终端,输入 ftp 命令加上目标地址即可发起连接:
\nftp example.com\n\n系统会提示你输入用户名和密码。如果服务器使用非默认端口,可以用 -p 参数配合代理,或者先连接再切换模式。
\n\n切换传输模式
\n上传前注意设置合适的传输模式。文本文件用 ASCII 模式,二进制文件如压缩包、图片则要用 binary 模式,避免内容损坏:
\nbinary\n\n上传单个文件
\n连接成功后,使用 put 命令上传单个文件:
\nput local_file.txt remote_file.txt\n\n这条命令会把本地的 local_file.txt 发送到服务器,并命名为 remote_file.txt。如果省略第二个参数,文件将保持原名。
\n\n批量上传多个文件
\n需要传一组文件时,mput 非常实用。它支持通配符,比如上传所有 .log 文件:
\nmput *.log\n\n执行后系统可能会逐个确认,输入 yes 或 y 继续。若想关闭交互确认,可先运行:
\nprompt\n\n这样后续 mput 就不会停下来问了,适合写进脚本自动运行。
\n\n上传并保留目录结构
\n如果要上传整个文件夹,FTP 原生命令不支持递归操作,但可以结合 shell 脚本手动实现。例如,在 bash 中遍历目录:
\nfor file in ./data/*; do\n ftp -n example.com << EOF\n user username password\n binary\n cd /remote/data\n put \\\$file \$(basename \\\$file)\n quit\nEOF\ndone\n\n这个小循环能把 data 目录下的每个文件依次上传。虽然略显原始,但在没有 SFTP 或 rsync 的环境下很管用。
\n\n断开连接
\n完成操作后,输入 bye 或 quit 即可退出:
\nbye\n\n别忘了检查服务器端文件是否完整,必要时用 ls 确认列表,或用 size 命令核对大小。
\n\n有些公司内网仍依赖传统 FTP 服务,掌握这些基础命令能在紧急更新配置、同步日志时少绕弯路。熟练之后,几秒钟就能搞定一个上传任务,比点鼠标快得多。
","seo_title":"命令行FTP上传命令详解 - 易用多识网络运维指南","seo_description":"掌握命令行FTP上传命令,学会使用put、mput等指令高效传输文件,适用于日常网络运维场景。","keywords":"命令行ftp上传命令,ftp put命令,mput批量上传,linux ftp命令,网络运维"}