HCRM博客

CentOS系统本地文件上传指南

CentOS 本地文件上传服务器:实用方法与关键细节

将本地计算机上的文件传输到远程的 CentOS 服务器,是系统管理、网站部署或应用维护中的基础操作,掌握几种高效可靠的上传方法,能显著提升工作效率,下面详细介绍常用技巧与注意事项。

SSH 安全通道:SCP(推荐首选)

SCP 基于 SSH 协议,加密传输数据,安全高效,是命令行环境下的理想选择。

CentOS系统本地文件上传指南-图1
  • 基础上传命令:

    scp /本地/文件/路径/文件名.txt 用户名@服务器IP地址:/远程/目标/目录/
    • 示例:scp ~/project/app.tar.gz admin@192.168.1.100:/opt/deploy/
  • 上传整个目录(递归复制): 添加 -r 参数

    scp -r /本地/目录/路径/ 用户名@服务器IP地址:/远程/目标/目录/
  • 指定 SSH 端口: 如果服务器 SSH 端口不是默认的 22,使用 -P 参数

    scp -P 2222 local_file.txt user@centos-server:/home/user/
  • 关键优势:

    • 加密传输: 保障数据安全,防止窃听。
    • 简单直接: 一条命令完成文件或目录传输。
    • 系统原生支持: Linux/macOS 开箱即用,Windows 用户可借助 PuTTY 的 pscp 或 WinSCP。

Rsync:增量同步的利器

Rsync 不仅用于上传,更擅长在已有数据基础上进行增量同步,仅传输变化部分,节省带宽和时间。

  • 基础上传命令:

    CentOS系统本地文件上传指南-图2
    rsync -avz /本地/文件/或目录/ 用户名@服务器IP地址:/远程/目标/目录/
    • -a: 归档模式,保留权限、时间戳等属性。
    • -v: 显示详细传输信息。
    • -z: 传输时压缩数据,提升速度。
  • 常用进阶选项:

    • --progress: 显示实时传输进度。
    • --delete: 删除目标目录中源目录不存在的文件(谨慎使用!)。
    • -e "ssh -p 端口号": 指定非标准 SSH 端口。
  • 典型应用场景:

    • 网站代码更新部署。
    • 定期备份数据到远程服务器。
    • 需要保持本地与服务器目录高度一致的任务。

SFTP:交互式安全文件传输

SFTP 同样基于 SSH,提供类似 FTP 的交互式操作界面,适合需要浏览服务器目录、进行多文件管理的情况。

  1. 连接服务器:

    sftp -oPort=端口号 用户名@服务器IP地址

    (若端口是 22,可省略 -oPort

  2. 常用 SFTP 命令:

    CentOS系统本地文件上传指南-图3
    • put 本地文件: 上传单个文件到当前远程目录。
      • put localfile.txt / put localfile.txt remotefile.txt (重命名)
    • mput 本地文件*: 上传匹配通配符的多个文件。
    • put -r 本地目录: 递归上传整个目录(部分 sftp 客户端支持)。
    • cd 远程目录: 切换服务器工作目录。
    • lcd 本地目录: 切换本地工作目录。
    • ls / lls: 列出远程/本地当前目录文件。
    • exit / bye: 退出 sftp。
  3. 优势:

    • 可视化操作目录结构,方便复杂文件管理。
    • 支持断点续传(依赖具体客户端实现)。
    • 图形化工具(如 FileZilla, WinSCP)底层通常使用 SFTP 协议,提供直观体验。

图形化工具:FileZilla(跨平台之选)

对于习惯图形界面的用户,FileZilla 是连接 CentOS 服务器的优秀免费工具。

  1. 设置连接:

    • 主机: 服务器 IP 地址。
    • 用户名: SSH 用户名。
    • 密码: SSH 密码(或使用密钥)。
    • 端口: SSH 端口(默认 22)。
    • 协议: 选择 "SFTP - SSH File Transfer Protocol"
  2. 使用:

    • 左侧窗口(本地站点)浏览本地文件。
    • 右侧窗口(远程站点)浏览服务器文件。
    • 直接拖放文件或目录即可上传/下载。

特殊工具:lrzsz (仅适用简单场景)

如果服务器已安装 lrzsz 包(yum install lrzsz),可通过 rz 命令接收本地文件。

  1. 在服务器终端执行:
    rz
  2. 本地会弹出文件选择窗口,选择文件后开始上传至服务器当前工作目录
  3. 局限性:
    • 速度较慢,不适合大文件。
    • 无进度显示。
    • 通常只用于临时上传小文件,不推荐作为主要方式

关键注意事项与常见问题

  • 权限问题: 最常见的上传失败原因。
    • 确保登录用户对目标目录有写入权限 (w)。
    • 使用 ls -ld /目标/目录 检查权限和所有者。
    • 必要时使用 chmodchown 调整(需要管理员权限)。
  • 目录存在性: 上传前,确认目标目录在服务器上已经存在,SCP/rsync 不会自动创建不存在的中间目录(除非使用 rsync 的 -R 或提前创建好)。
  • 存储空间: 上传前检查服务器磁盘空间 (df -h)。
  • 防火墙/SELinux:
    • 防火墙: 确保服务器防火墙放行了使用的端口(默认 SSH/SFTP 是 22,rsync daemon 模式通常是 873),命令 firewall-cmd --list-portsiptables -L -n
    • SELinux: 如果上传后文件访问异常(如 Web 无法读取),检查 SELinux 上下文 (ls -Z) 或临时禁用 SELinux 测试 (setenforce 0),但务必在生产环境谨慎配置正确策略
  • 路径分隔符: Linux 使用正斜杠 ,注意与 Windows 反斜杠 \ 区分。
  • 文件名特殊字符: 尽量避免在文件名中使用空格、中文或特殊符号,如需使用,用引号括起来(如 scp "my file.txt" user@server:/path/)。

个人观点

掌握 SCP 和 Rsync 的命令行操作,是高效管理 CentOS 服务器的基本功,尤其在自动化脚本中不可或缺,对于日常临时上传或偏好图形界面的用户,FileZilla 这类 SFTP 工具提供了极佳的体验,至于 lrzsz,仅适合在极其受限的环境下应急使用,服务器管理就像精密的操作,文件传输是其中最频繁的脉搏,选择合适工具并理解其细节,能让每一次数据流动都稳定可靠。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/35666.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~