如何将文件从一台 Linux 服务器传输到另一台

作者: Carl Weaver
创建日期: 23 二月 2021
更新日期: 1 七月 2024
Anonim
两台电脑之间传文件的两种方法(局域网或者网线)
视频: 两台电脑之间传文件的两种方法(局域网或者网线)

内容

在 Linux 多服务器环境中,许多任务涉及将一个或多个文件从一台服务器移动到另一台服务器。根据您必须移动的文件数量,有几个命令可以帮助您......让我们在这些讨论中假设我们的服务器是 alice 和 madhat,我们在 alice 的用户是 rabbit,我们在 madhat 的用户是 fieldmouse。

脚步

  1. 1 对于简单文件,请尝试“scp”命令。 您可以将其用作“推送”或“拉取”命令,但让我们先将文件推送到另一台服务器。在 alice 上使用命令“scp myfile fieldmouse @madhat:thatfile”。这会将文件复制到用户标识“thatfile”下的其他系统。如果您登录到不同的系统,您可以使用命令“scp rabbit @ alice: myfile thatfile”轻松提取文件并获得相同的结果。
  2. 2 要复制整个目录,我们可以再次使用“scp”命令。 这次我们将添加 -r 开关以强制副本“递归”执行。 “scp -r mydir fieldmouse @madhat :.” - 将整个“mydir”目录复制到另一个系统,包括其所有内容和附加目录。 madhat 上的目录仍将称为 mydir。
  3. 3 如果您要复制一大堆文件和目录怎么办? 您可以使用“tar”命令创建一个文件,然后像上面一样复制该文件,然后使用 tar 将其分发到另一台服务器......但它看起来......不像 Unix。一定有办法一步完成,对吧?嗯,当然!

    E 输入您最喜欢的 shell 的管道。我们仍然可以使用 tar 来打包我们想要的文件,然后使用 SSH 将它们放到另一个系统上(这是 SCP 在 shell 下使用的),另一方面,使用 tar 将文件分发回来。但是为什么要浪费时间和空间来创建 tar 文件本身,因为我们可以简单地创建一个跨越两个系统的管道并通过它传递 tar 数据?

    使用与上例相同的目录,尝试“tar -cf - mydir / * | ssh fieldmouse @ madhat” tar -xf - “

提示

  • 当然,还有其他方法可以做到这一点。 Linux 充满了工具。您的评级可能会发生变化。
  • 在使用上述命令时,您应该根据您的网络配置和环境更改用户名/主机名/文件目录名称。上面的命令只是如何执行命令将文件复制到服务器的示例。

警告

  • 确保您使用的不同系统上的 ID 及其 GID 相同(不仅仅是用户名)。如果不是这种情况,就会出现有趣的安全问题。