0Pricing
Linux Command Line & Bash Scripting Mastery · 课时

使用 SCP 和 Rsync 传输文件

掌握使用“scp”安全复制文件,以及使用“rsync”高效同步本地和远程文件。

使用 SCP 和 Rsync 传输文件 是 CoddyKit 上的免费 Linux Command Line & Bash Scripting Mastery 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line & Bash Scripting Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

安全文件传输

处理远程服务器时,安全地传输文件至关重要。我们需要能够在传输过程中保护数据并确保数据完整性的工具。

本课将介绍两个功能强大的命令:用于安全复制的 scp,以及用于高效同步的 rsync。

SCP:安全复制协议

SCP 是安全复制协议的缩写。它是一个命令行工具,允许您在网络中的主机之间安全地复制文件和目录。

  • 它使用 SSH 传输数据,并提供加密和身份验证。
  • 非常适合快速执行一次性文件传输。
  • 无论是从本地复制到远程,还是从远程复制到本地,都易于使用。

SCP 语法:本地到远程

要将文件从本地计算机复制到远程服务器,请使用以下语法:

scp local_file user@remote_host:/path/to/destination

  • local_file:当前计算机上的文件。
  • user:您在远程服务器上的用户名。
  • remote_host:远程服务器的 IP 地址或主机名。
  • /path/to/destination:文件将在远程服务器上保存的位置。

SCP 示例:本地到远程

让我们将名为 myreport.txt 的文件从当前目录复制到 server.com 上的 /home/coddy/reports/ 目录。

scp myreport.txt coddy@server.com:/home/coddy/reports/

SCP 语法:远程到本地

要将文件从远程服务器复制到本地计算机,语法与前面类似,但需要交换源和目标的位置:

scp user@remote_host:/path/to/remote_file local_destination

  • user@remote_host:/path/to/remote_file:远程服务器上文件的完整路径。
  • local_destination:文件将在本地计算机上保存的位置。使用 . 表示当前目录。

SCP 示例:远程到本地

让我们从 server.com 上的 /home/coddy/ 获取名为 data.csv 的文件,并将其保存到当前本地目录。

scp coddy@server.com:/home/coddy/data.csv .

Rsync:高效同步

Rsync(远程同步)是一种多功能工具,可在本地或远程复制并同步文件和目录。

它的主要优势包括:

  • 高效:只传输文件之间的差异,而不是整个文件,从而节省带宽。
  • 可续传:可以继续被中断的传输。
  • 保留属性:保留权限、时间戳和所有权。
  • 灵活:提供许多选项,可对传输进行精细调整。

Rsync 语法:基本用法

使用 rsync 将本地目录同步到远程目录时,常用的语法如下:

rsync [options] local_source/ user@remote_host:/path/to/destination/

  • [options]:用于控制 rsync 行为的选项。
  • local_source/:本地计算机上的目录(末尾的斜杠很重要!)。
  • user@remote_host:/path/to/destination/:远程位置。

Rsync 实战:基本同步

让我们将本地目录 myproject/ 同步到 server.com 上的 /srv/web/myproject/。我们将使用 -avz 选项,分别启用归档模式、详细输出和压缩。

rsync -avz myproject/ coddy@server.com:/srv/web/myproject/

Rsync 的强大功能:关键选项

Rsync 提供许多功能强大的选项:

  • -a(归档):多个选项的常用简写形式(递归复制、保留权限和时间戳等)。
  • -z(压缩):在传输过程中压缩文件数据,减少带宽使用量。
  • --delete:删除目标目录中源目录不存在的多余文件。请谨慎使用!
  • -n(试运行):显示将要执行的操作,但不会实际进行任何更改。请始终先使用此选项进行测试!

快速检查:文件传输工具

您需要将一个大型目录从本地计算机复制到远程服务器。您希望后续运行时只传输发生更改的文件,并且源目录中已删除的文件也会从目标目录中删除。

哪个命令和选项最适合执行此任务?

回顾:掌握 SCP 和 Rsync

您已经掌握了两个用于安全、高效文件传输的重要工具!

  • SCP 非常适合使用 SSH 安全、快速地执行一次性文件和目录复制。
  • Rsync 是同步文件和目录的首选工具。它只传输发生变化的内容,因此效率极高;同时还提供了 --delete 等强大选项,可实现真正的镜像同步。

选择适合任务的工具,像专业人士一样管理跨网络的文件吧!

常见问题解答

「使用 SCP 和 Rsync 传输文件」课时是免费的吗?

是的 — 「使用 SCP 和 Rsync 传输文件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line & Bash Scripting Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

「使用 SCP 和 Rsync 传输文件」这节课中我会学到什么?

掌握使用“scp”安全复制文件,以及使用“rsync”高效同步本地和远程文件。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line & Bash Scripting Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Linux Command Line & Bash Scripting Mastery 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Linux Command Line & Bash Scripting Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 SCP 和 Rsync 传输文件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Linux Command Line & Bash Scripting Mastery 课中编写并运行代码吗?

能。每节 Linux Command Line & Bash Scripting Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 基础网络工具(ping、ip、netstat)
  2. 安全 Shell(SSH)基础
  3. 使用 SCP 和 Rsync 传输文件
  4. SSH 密钥认证与配置文件
← 返回 Linux Command Line & Bash Scripting Mastery