如何在 Linux 中传输文件(本地和远程)

在 Linux 中传输文件是每个系统管理员都应该知道的一项常见任务,尤其是在通过网络在本地或远程系统之间传输文件时。

Linux 为此提供了两种流行的工具:(安全副本)和。两者都提供了一种在本地或远程计算机之间传输文件的安全且便捷的方法。

在本文中,我们将探讨如何使用SCP同步传输文件的命令,涵盖本地和远程文件传输。

1.了解Linux中的scp(安全复制协议)

scp 命令是一个命令行程序,用于在两个主机之间安全地复制文件和目录,这意味着在通过互联网传输文件时,数据以加密方式传输。

使用的基本通用语法SCP如下:

scp [options] source_file destination

以下是该命令的解释:

  • 源文件:要复制的文件或目录。
  • 目的地:要复制文件或目录的位置。

在 Linux 中本地复制文件

如果要将文件从一个目录复制到同一台计算机上的另一个目录,可以使用:

scp ~/document.txt /tmp

将文件复制到远程服务器

要将文件从本地计算机复制到远程服务器,您需要指定远程服务器的 IP 地址和目标路径。

scp ~/document.txt :/home/username

从远程服务器复制文件

要将文件从远程服务器复制到本地计算机,只需颠倒源和目标即可:

scp :/home/username/document.txt /tmp

要复制整个目录,请使用-r选项(代表递归):

scp -r ~/tecmint /tmp

2.了解Linux中的rsync

rsync命令是另一个使用最广泛的文件传输命令行工具,用于在源和目标之间传输文件和目录,通常用于同步目录。

使用的基本语法同步是:

rsync [options] source destination

本地传输文件

要在本地传输文件或目录,您可以使用 rsync 和-a启用存档模式的选项,该模式保留权限、所有权和时间戳。
-voption代表verbose,显示文件传输的进度。

rsync -av ~/myfolder /backup

将文件传输到远程服务器

要将文件传输到远程服务器,rsync 使用SSH默认情况下,这里需要指定远程服务器IP地址和位置:

rsync -av ~/myfolder :/home/username

上述命令将传输myfolder到远程服务器,如果你再次运行它,同步只会。

从远程服务器传输文件

要将文件从远程服务器传输到本地计算机,请使用:

rsync -av :/home/username/myfolder /backup

使用 Rsync 同步目录

的关键优势之一同步是它同步目录的能力,这意味着您可以保持两个目录同步,无论它们位于同一台机器上还是不同的机器上。

例如,要将本地目录与远程目录同步:

rsync -av /local/directory/ username@remote_host:/remote/directory/

要将远程目录与本地目录同步,您需要颠倒 rsync 命令中的源和目标。

rsync -av username@remote_host:/remote/directory/ /local/directory/

如果由于网络故障或其他原因导致传输中断,您可以使用以下命令恢复传输:--partial选项,允许从中断处继续传输文件:

rsync -av --partial /path/to/source username@remote_host:/path/to/destination
结论

在 Linux 中传输文件是一项简单的任务,使用诸如SCP同步。尽管SCP简单又安全,同步提供更高级的功能,例如同步和效率。

了解如何有效地使用这些工具将帮助您跨本地和远程系统管理文件和数据。