如何在无需安装其他软件的情况下在局域网中的两台 Ubuntu 计算机之间传输文件?

如何在无需安装其他软件的情况下在局域网中的两台 Ubuntu 计算机之间传输文件?

我知道我可以安装 Samba 或 openssh-server 以便在两台 Ubuntu 计算机之间共享文件。有没有办法共享文件没有安装附加软件包?

我在同一个局域网上的两个系统上安装了 Ubuntu,但没有互联网连接。我发现我通常的文件传输方式 (scp) 失败了,因为两个系统上都没有安装 openssh-server。如果不安装额外的软件包,就无法使用个人文件共享。我最终使用 netcat 进行传输,这对普通用户来说不是最理想的,也不直观。

所以我想知道是否有人知道如何使用开箱即用的 Ubuntu 安装(或者至少使用 Ubuntu 桌面 CD 中提供的软件包)来执行此操作。

谢谢!

答案1

您可以使用 移动到给定目录cd,然后使用以下命令将当前目录作为 Web 服务器:

python -m SimpleHTTPServer

在另一台机器上转到地址http://server-ip:8000/

其中“server-ip”是您在源计算机上执行“ifconfig”时在“inet addr:”下看到的内容。例如,如果源计算机上 ifconfig 的输出如下所示:

eth0      Link encap:Ethernet  HWaddr 00:30:67:d5:a7:a4  
          inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0
          ...

然后在目标计算机上,您应该将浏览器指向:

 http://10.0.0.3:8000/

答案2

如果您想要比 pythonSimpleHTTPServer模块更快的东西(在我看来,这很棒而且是最简单的方法),您可以使用 netcat(nc实用程序) - 它使用原始 TCP,因此您不会产生 HTTP 协议带来的开销。

例如如果您尝试将文件config.xml从主机 germany.local 复制到主机 france.local(均运行 ubuntu),则需要遵循以下步骤:

  1. 在目标主机 france.local 上运行:

    nc -l -p 7000 > copied_config.xml
    

    (它将启动 nc 进程,监听端口 7000 上的传入数据并将该数据写入文件copied_config.xml

  2. 在源主机 germany.local 上运行:

    nc -q 0 france.local 7000 < config.xml
    

就这样!

另外,您可以检查这个有用的方法了解更多详细说明

相关内容