使用 SCP 和 Rsync 传输文件
掌握使用“scp”安全复制文件,以及使用“rsync”高效同步本地和远程文件。
使用 SCP 和 Rsync 传输文件 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 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 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「使用 SCP 和 Rsync 传输文件」这节课中我会学到什么?
掌握使用“scp”安全复制文件,以及使用“rsync”高效同步本地和远程文件。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 SCP 和 Rsync 传输文件」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 基础网络工具(ping、ip、netstat)
- 安全 Shell(SSH)基础
- 使用 SCP 和 Rsync 传输文件
- SSH 密钥认证与配置文件