插件窝 干货文章 windows和Linux之间的文件共享怎么实现

windows和Linux之间的文件共享怎么实现

Windows Linux 共享 sudo 1007    来源:    2025-04-24

在 Windows 和 Linux 之间实现文件共享有多种方法,以下是常见的几种方案及其详细步骤:


一、使用 Samba(推荐)

Samba 是 Linux 上实现 SMB/CIFS 协议的工具,可直接与 Windows 共享互通。

1. Linux 作为服务器(共享给 Windows)

步骤: 1. 安装 Samba
bash # Ubuntu/Debian sudo apt install samba # CentOS/RHEL sudo yum install samba

  1. 配置共享目录
    编辑配置文件 /etc/samba/smb.conf,在末尾添加:

    [shared]
      path = /path/to/share
      browsable = yes
      writable = yes
      guest ok = yes  # 允许匿名访问(或设置用户认证)
    
  2. 设置权限

    sudo chmod -R 777 /path/to/share  # 临时简单权限(生产环境需细化)
    
  3. 启动服务

    sudo systemctl start smbd
    sudo systemctl enable smbd
    
  4. 从 Windows 访问

    • 打开文件资源管理器,输入 \\Linux_IP\shared
    • 如需认证,使用 Linux 的用户名/密码。

2. Windows 作为服务器(共享给 Linux)

步骤: 1. 在 Windows 上共享文件夹
- 右键文件夹 → 属性共享 → 添加用户(如 Everyone)并设置权限。

  1. 从 Linux 访问
    • 使用 smbclient 命令行工具: bash sudo apt install smbclient # 安装客户端 smbclient //Windows_IP/shared -U username
    • 或挂载到本地目录: bash sudo mount -t cifs //Windows_IP/shared /mnt/win_share -o username=user

二、使用 NFS(适合 Linux 间共享,Windows 需额外支持)

1. Linux 作为 NFS 服务器

步骤: 1. 安装 NFS 服务端: bash sudo apt install nfs-kernel-server

  1. 编辑 /etc/exports,添加:

    /path/to/share *(rw,sync,no_subtree_check)
    
  2. 启动服务:

    sudo exportfs -a
    sudo systemctl restart nfs-server
    
  3. Windows 访问:需启用 "NFS 客户端"(控制面板 → 程序 → 启用功能)。


三、使用 SSH/SFTP(安全且无需额外服务)

从 Windows 访问 Linux

  1. Linux 端:确保 openssh-server 已安装。

    sudo apt install openssh-server
    
  2. Windows 端

    • 使用 WinSCP、FileZilla 等 GUI 工具连接 sftp://Linux_IP
    • 或通过 PowerShell: powershell scp username@Linux_IP:/remote/path C:\local\path

从 Linux 访问 Windows

  • 在 Windows 安装 SFTP 服务(如免费工具 Bitvise SSH Server)。

四、使用 Web 服务器(临时共享)

  1. 在 Linux 上快速启动 HTTP 服务: bash python3 -m http.server 8000 # 共享当前目录
  2. Windows 浏览器访问 http://Linux_IP:8000 下载文件。

五、云/中间存储(跨平台同步)

  • 使用 SyncthingResilio Sync 或云盘(OneDrive/Dropbox)。

常见问题解决

  1. Samba 连接失败

    • 检查防火墙:sudo ufw allow samba(Linux)或 Windows 防火墙规则。
    • 确保 NetBIOS 启用(Windows 高级共享设置)。
  2. 权限问题

    • Linux 目录需给 nobody 或相应用户权限。
  3. 速度慢

    • smb.conf 中启用 socket options = TCP_NODELAY

根据需求选择合适的方法。推荐 Samba 作为主要方案,因其兼容性好且配置灵活。