You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行将远程Windows PC文件传输至本地Linux PC

远程Windows文件复制到本地Linux的命令行实现方案

以下方案全部支持封装成shell脚本非交互执行,无需依赖图形界面。

方案1:SMB/CIFS挂载复制(Windows原生支持,无需额外安装软件)

  • 前置要求:远程Windows开启文件夹共享,给目标目录配置对应读写权限,防火墙放行445端口,提前获取Windows的登录账号密码(或专用共享账号密码)
  • 实现逻辑:临时将Windows共享目录挂载到Linux本地空目录,用常规文件复制命令拉取文件,完成后卸载挂载点即可,全程无交互
  • 参考脚本:
#!/bin/bash
# 按需修改以下参数
WIN_IP="192.168.1.100"          # 远程Windows的IP地址
WIN_SHARE="SharedDir"           # Windows上设置的共享文件夹名称
WIN_USER="your_win_account"     # Windows登录账号
WIN_PASS="your_win_password"    # 对应账号的密码
LOCAL_MOUNT="/mnt/win_temp"     # 本地临时挂载点,需提前手动创建
LOCAL_SAVE="/home/user/backup"  # 本地文件存储路径

# 执行挂载,Win10/11默认SMB3.0,老系统可改vers=2.1(Win7)或vers=1.0(XP)
mount -t cifs "//${WIN_IP}/${WIN_SHARE}" "$LOCAL_MOUNT" -o username="${WIN_USER}",password="${WIN_PASS}",vers=3.0
# 复制目标文件,示例为复制共享目录下的data文件夹全量内容
cp -r "${LOCAL_MOUNT}/data/"* "$LOCAL_SAVE/"
# 复制完成后卸载挂载点
umount "$LOCAL_MOUNT"
  • 安全提示:不要明文把密码写在脚本里,可以把账号密码写入权限为600的/root/.smbcredentials文件,挂载时替换参数为credentials=/root/.smbcredentials即可,文件格式为:
    username=your_win_account
    password=your_win_password
    

方案2:SSH/SFTP通道复制(适合已经开了SSH服务的Windows设备)

  • 前置要求:远程Windows开启OpenSSH服务(Win10 1809及以上版本系统自带,可在「可选功能」中直接启用,无需装第三方软件),防火墙放行22端口,提前配置账号密码登录或SSH密钥免密登录
  • 常用两种实现方式:
    • 用scp:命令简单,适合少量文件/目录一次性复制
      非交互执行可以配合sshpass传递密码,示例:
      # 复制单个文件
      sshpass -p 'your_win_password' scp your_win_account@192.168.1.100:C:/Users/your_win_account/Desktop/report.pdf /home/user/backup/
      # 递归复制整个目录
      sshpass -p 'your_win_password' scp -r your_win_account@192.168.1.100:C:/Users/your_win_account/Desktop/work_files/ /home/user/backup/
      
      配置了SSH密钥免密的话可以去掉sshpass那段,直接执行scp命令即可。
    • 用rsync:支持断点续传、增量复制,传输大文件或者大量小文件效率比scp高很多,适合定期同步场景
      示例:
      rsync -avzP -e "ssh" your_win_account@192.168.1.100:/c/Users/your_win_account/Desktop/work_files/ /home/user/backup/work_files/
      

方案3:临时FTP服务拉取(适合不想修改系统共享/SSH配置的临时传输场景)

  • 前置要求:在Windows端临时启动FTP服务(可以用系统IIS组件配置,也可以用单文件绿色FTP工具临时运行),防火墙放行21端口和FTP被动模式端口范围
  • 实现逻辑:Linux端用lftp/wget/curl这类命令行工具直接拉取文件,用完关掉Windows端的FTP服务即可
  • 参考lftp脚本:
#!/bin/bash
lftp -u your_win_account,your_win_password 192.168.1.100 << EOF
cd C:/Users/your_win_account/Desktop/temp_files
mget *
bye
EOF
  • 注意:FTP默认明文传输账号密码和文件内容,仅建议在可信内网使用,不要在公网环境用这个方案。

方案4:rclone对接WebDAV传输(适合跨公网、稳定性要求高的场景)

  • 前置要求:Windows端启动WebDAV服务(可以用IIS配置,也可以用轻量工具快速启动),本地Linux提前安装rclone并配置好对应WebDAV的远程连接
  • 优势:支持断点续传、增量校验,跨公网传输容错性好,也支持将远程目录挂载到本地操作
  • 示例命令:
# 复制远程文件到本地,-P参数显示实时传输进度
rclone copy win_webdav:target_dir/ /home/user/backup/target_dir/ -P

选型参考:可信内网环境优先选SMB或者SSH/rsync方案,配置简单传输速度快;跨公网传输优先选rsync或者rclone+WebDAV,稳定性更高;临时单次传文件不想改系统配置可以选临时开FTP的方案。

内容的提问来源于stack exchange,提问作者MURICA213

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:21:08