Linux scp 命令实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 scp(secure copy)命令在本地和远程主机之间安全地复制文件和目录。scp 命令是 SSH(Secure Shell)工具套件的一部分,提供了一种通过网络安全传输数据的方式。你将探索 scp 命令的基本语法,学习如何在本地和远程主机之间复制文件,并了解如何使用 scp 递归复制目录。本实验涵盖了 Linux 用户必备的网络和通信技能。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") linux/RemoteAccessandNetworkingGroup -.-> linux/scp("Secure Copying") subgraph Lab Skills linux/touch -.-> lab-422901{{"Linux scp 命令实用示例"}} linux/cp -.-> lab-422901{{"Linux scp 命令实用示例"}} linux/mkdir -.-> lab-422901{{"Linux scp 命令实用示例"}} linux/ssh -.-> lab-422901{{"Linux scp 命令实用示例"}} linux/scp -.-> lab-422901{{"Linux scp 命令实用示例"}} end

scp 命令介绍

在这一步中,你将学习 scp(secure copy)命令,它用于在 Linux 环境中安全地在本地和远程主机之间复制文件和目录。

scp 命令是 SSH(Secure Shell)工具套件的一部分,提供了一种通过网络安全传输数据的方式。它使用 SSH 协议在传输过程中加密数据,确保传输文件的机密性和完整性。

首先,让我们来探索 scp 命令的基本语法:

scp [options] source_file_or_directory destination_file_or_directory

在这里,source_file_or_directory 可以是本地文件或目录,也可以是远程文件或目录,格式为 user@host:pathdestination_file_or_directory 也可以是本地或远程位置。

例如,要将文件从本地主机复制到远程主机,可以使用以下命令:

scp ~/project/file.txt labex@remote_host:/home/labex/project/

此命令将安全地将 file.txt 文件从本地的 ~/project 目录复制到远程主机的 /home/labex/project/ 目录。

示例输出:

file.txt                                    100%  123     0.1KB/s   00:00

输出显示文件已成功复制到远程主机。

同样地,要将文件从远程主机复制到本地主机,可以使用以下命令:

scp labex@remote_host:/home/labex/project/file.txt ~/project/

此命令将安全地将 file.txt 文件从远程主机的 /home/labex/project/ 目录复制到本地的 ~/project/ 目录。

示例输出:

file.txt                                    100%  123     0.1KB/s   00:00

在下一步中,你将学习如何使用 scp 命令以更高级的选项在本地和远程主机之间复制文件和目录。

在本地和远程主机之间复制文件

在这一步中,你将学习如何使用 scp 命令在本地和远程主机之间复制文件。

首先,让我们从本地主机复制文件到远程主机。确保你在本地主机的 ~/project 目录中:

scp file.txt labex@remote_host:/home/labex/project/

此命令将安全地将 file.txt 文件从本地的 ~/project 目录复制到远程主机的 /home/labex/project/ 目录。

示例输出:

file.txt                                    100%  123     0.1KB/s   00:00

接下来,让我们从远程主机复制文件到本地主机:

scp labex@remote_host:/home/labex/project/file.txt ~/project/

此命令将安全地将 file.txt 文件从远程主机的 /home/labex/project/ 目录复制到本地的 ~/project/ 目录。

示例输出:

file.txt                                    100%  123     0.1KB/s   00:00

你还可以使用 scp 命令一次性复制多个文件。例如,将两个文件从本地主机复制到远程主机:

scp file1.txt file2.txt labex@remote_host:/home/labex/project/

此命令将安全地将 file1.txtfile2.txt 从本地的 ~/project 目录复制到远程主机的 /home/labex/project/ 目录。

示例输出:

file1.txt                                   100%  123     0.1KB/s   00:00
file2.txt                                   100%  456     0.4KB/s   00:00

在下一步中,你将学习如何使用 scp 命令在本地和远程主机之间递归复制目录。

使用 scp 递归复制目录

在这一步中,你将学习如何使用 scp 命令在本地和远程主机之间递归复制目录。

要递归复制目录,你需要在 scp 命令中使用 -r(recursive,递归)选项。首先,让我们在本地主机上创建一个目录,并向其中添加一些文件:

mkdir ~/project/directory1
touch ~/project/directory1/file1.txt
touch ~/project/directory1/file2.txt

现在,让我们将整个 directory1 目录从本地主机复制到远程主机:

scp -r ~/project/directory1 labex@remote_host:/home/labex/project/

此命令将安全地将 directory1 目录及其所有内容从本地的 ~/project 目录复制到远程主机的 /home/labex/project/ 目录。

示例输出:

directory1/                                 100%    0     0.0KB/s   00:00
directory1/file1.txt                         100%  123     0.1KB/s   00:00
directory1/file2.txt                         100%  123     0.1KB/s   00:00

接下来,让我们将 directory1 目录从远程主机复制到本地主机:

scp -r labex@remote_host:/home/labex/project/directory1 ~/project/

此命令将安全地将 directory1 目录及其所有内容从远程主机的 /home/labex/project/ 目录复制到本地的 ~/project/ 目录。

示例输出:

directory1/                                 100%    0     0.0KB/s   00:00
directory1/file1.txt                         100%  123     0.1KB/s   00:00
directory1/file2.txt                         100%  123     0.1KB/s   00:00

现在,你已经学会了如何使用 scp 命令在本地和远程主机之间递归复制目录。

总结

在本实验中,你将学习 scp(secure copy)命令,它用于在 Linux 环境中安全地在本地和远程主机之间复制文件和目录。你将探索 scp 命令的基本语法,并学习如何将文件从本地主机复制到远程主机,以及从远程主机复制到本地主机。此外,你还将学习如何使用 scp 命令的更高级选项在本地和远程主机之间复制文件和目录。

本实验涵盖以下关键点:

  1. scp 命令的介绍及其用法
  2. 使用 scp 命令在本地和远程主机之间复制文件
  3. 使用 scp 命令递归复制目录

Linux 命令速查表