如何上传文件到linux上

使用SCP或SFTP命令上传,需确保Linux服务器已开启SSH服务,命令如:scp file.txt user@host:/path

以下是关于如何将文件上传到Linux系统的详细指南,涵盖多种方法和常见场景,适用于不同操作系统和需求:

如何上传文件到linux上

命令行工具上传(适合所有操作系统)

方法 命令示例 特点 适用场景
SCP scp -C file.txt user@host:/path 安全、需SSH支持 快速上传小文件
SFTP sftp user@host, 后接put file.txt 交互式操作、支持断点续传 大文件或需多次传输
rsync rsync -avz file.txt user@host:/path 增量传输、可断点续传 同步大量文件或目录

SCP上传文件

  • 步骤
    1. 打开终端,输入命令:scp /local/path/file.txt user@remote_ip:/remote/path
    2. 输入远程服务器密码(首次连接可能提示确认主机指纹)
  • 参数说明
    • -C:启用压缩(适合大文件)
    • -i /path/to/key:指定私钥文件(免密登录)
    • -r:递归上传目录
  • 示例scp -C -i ~/.ssh/id_rsa.pub dir/ user@192.168.1.100:/data/

SFTP上传文件

  • 步骤
    1. 执行sftp user@host连接服务器
    2. 使用put local_file上传文件
    3. 使用lscd管理远程目录
  • 优势:支持实时查看传输进度,可中途暂停(Ctrl+Z)

rsync高效同步

  • 常用命令
    rsync -avz --progress local_dir/ user@host:/remote_dir/
  • 参数解析
    • -a:归档模式(保留权限、符号链接等)
    • -z:压缩传输
    • --partial:保留未完成的文件以便断点续传

图形化工具上传(适合Windows/macOS)

WinSCP(Windows专用)

  • 操作步骤
    1. 输入主机名、用户名、密码
    2. 左侧窗口浏览本地文件,右侧为远程目录
    3. 拖拽文件或右键选择“上传”
  • 特色功能:支持自动重命名冲突文件、设置传输规则

FileZilla(跨平台)

  • 配置要点
    • 主机栏填写sftp://user@host:port(默认端口22)
    • 加密方式选择“使用SSH密钥”或“普通密码”
  • 优势:多任务并行传输、实时带宽监控

跨平台特殊场景解决方案

Windows <> Linux 文件互传

  • 方法1:PowerShell + SCP
    # 安装ssh-client模块后
    scp .file.txt user@linux_host:/target/path
  • 方法2:映射Samba共享
    1. 在Linux创建共享目录:sudo smbshare -s /path/to/dir
    2. Windows访问\linux_ipshared_dir,像访问局域网文件夹一样上传

macOS与Linux传输

  • 使用KITTY终端
    1. 启用KITTY的Zmodem接收功能
    2. 在Linux端执行receive命令
    3. 直接拖动文件到KITTY窗口即可上传

服务器端配置要求

服务类型 配置命令 作用
SSH服务 sudo systemctl status sshd 确保22端口开放
防火墙设置 firewall-cmd --permansever add-port=22/tcp 允许SSH连接
Samba服务 sudo apt install samba 启用Windows共享支持

常见问题与解决

连接超时或拒绝

  • 原因:防火墙未开放端口、SSH服务未启动
  • 解决
    sudo systemctl start sshd      # 启动SSH服务
    firewall-cmd --reload         # 重置防火墙规则

权限不足导致上传失败

  • 修复命令
    sudo chmod 775 /target/directory
    sudo chown user:group /target/directory

中断后如何续传

  • rsync方案:添加--partial-dir=.rsync-partial参数
  • SFTP方案:重新连接后继续put -r命令

FAQs

Q1:如何在不输入密码的情况下上传文件?
A1:可通过SSH密钥认证实现免密登录,生成密钥对:ssh-keygen,将~/.ssh/id_rsa.pub内容追加到服务器/home/user/.ssh/authorized_keys,之后使用scp -i id_rsa即可免密传输。

如何上传文件到linux上

Q2:上传后文件权限异常如何修复?
A2:使用scp -p保留原权限,或在上传后执行chmod修正,`chmod 755 uploaded_script.sh

如何上传文件到linux上

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/76033.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月24日 14:24
下一篇 2025年7月24日 14:38

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN