意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

SCPLinux命令:如何通过SSH将文件从远程传输到本地?

来源:恒创科技 编辑:恒创科技编辑部
2024-02-02 16:39:14

当涉及到在Linux等操作系统中共享数据时,我们可以选择多种命令来共享信息。下面,我们将重点讨论SCP命令,如何

通过SSH将文件从远程传输到本地?



SCPLinux命令:如何通过SSH将文件从远程传输到本地?


一、什么是SCP命令?

SCP是安全复制协议的缩写。它是一个命令行实用程序,允许用户在两个位置(通常是UNIX或Linux系统之间)之间安

全地复制文件和目录。该协议确保文件传输经过加密,以防止任何有可疑意图的人获取敏感信息。简而言之,我们可以

说SCP是cp( copy )命令的更安全选项。还需要注意的是,SCP通过SSH(安全外壳)连接使用加密,这可确保传输的数

据免受可疑攻击。


二、SCP语法

就像终端中使用的任何其他命令一样,SCP也有一种用于成功执行的格式。通过理解语法,我们可以更轻松地写下命令:

scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2

scp-它初始化命令并确保安全shell就位。

OPTIONS-他们根据使用方式授予不同的权限。一些最常见的选项包括:

P(大写)-指定与远程主机建立连接的端口。

p(小写)-保留时间戳以便于修改和访问。

r -递归复制整个目录

q -安静地复制文件,不显示进度消息,也称为安静模式。

C -用于在传输过程中压缩数据。

src_host-文件的托管位置。源可以是客户端或服务器,具体取决于文件的来源。

dest_host-文件将被复制到的位置。

由于我们正在处理文件传输,这意味着必须有不止一台机器的参与才能使该过程成为可能。我们可以在以下情况下使用

SCP:

在同一台机器上复制文件。

将文件从本地主机复制到远程主机,反之亦然。

在两个不同的远程服务器之间复制文件。

此时,在使用任何SCP命令之前,需要准备好一些东西:

客户端和服务器上都安装了SSH。

对客户端和服务器计算机的根访问权限。


三、常用SCP命令

1、将文件从本地主机复制到远程服务器

复制文件时,能够将文件/数据从本地存储传输到远程服务器是非常重要的。使用SCP命令时,需要指定一些事情才能发生

这种情况。

我们必须指定文件的路径作为源,并指定文件复制到的远程主机路径。

让我们假设一个场景,我们有一个文件test.txt,我们需要将其复制到远程服务器,我们的命令如下所示:

scp test.txt userbravo@destination:/location2

我们不限制可以复制的文件数量。假设我们位于桌面上名为web的文件夹中,其中有.php文件扩展名,并且需要将其复制

到远程服务器主目录。我们的命令将如下所示:

scp *.php userbravo@destination_host:/~/

*.php -复制当前指定文件夹中扩展名为.php的所有文件。

/~/ - 表示将它们复制到主目录。

假设我们想复制一个名为test.txt的文件,并使用端口选项将其以不同的名称保存在远程服务器中。该命令将是:

scp -P 8080 test.txt userbravo@destination_host:/user/home/test2.txt

在此示例中,我们将文件test.txt从本地计算机复制到远程计算机,并使用端口8080将其保存为test2.txt。

2、将文件从远程复制到本地

理解这一点的更好方法是使用示例。考虑一个我们想要从远程系统复制文件的场景。要复制文件,我们需要首先调用

SCP,然后是远程用户名@IP 地址、文件路径。

如果不指定路径,则在这种情况下假定默认为用户的主目录,这将遵循文件在本地存储的路径。语法:

scp <remote_username>@<IPorHost>:<PathToFile> <LocalFileLocation>

假设我想从地址为192.168.1.100的远程设备复制一个名为linuxcheatsheet的文件。

linuxcheatsheet文件存储在kali用户的主目录中,我将验证该用户。因此,在冒号之后,我不需要指定路径,因为它是

默认路径,即主目录,我只需键入文件名(“linuxcheatsheet”)。然后,我通过键入一个点将当前目录指定为存储文

件的本地位置。

scp lary@192.168.1.100:linuxcheatsheet .

3、将文件从远程主机复制到另一台主机

在文件传输中使用SCP的优点在于,它不仅允许本地计算机之间的连接,还允许您连接到远程服务器。

假设我们想要将名为test.txt的文件复制到另一个远程服务器,命令如下所示:

scp user1@host1.com:/files/test.txt user2@host2.com:/files

此命令将执行的操作是从user1的文件夹中复制test.txt,并在user2 中创建它的副本,该副本仍在该文件夹中的

host2.com上运行。

4、复制多个文件

复制多个文件时,只需指定文件名作为源路径即可。例如语法:

scp file1 file2 ... user@<ip_address_of_user>: Destination

假设我们想要复制文件 1、2、3 和 4。命令如下所示:

scp file1.txt file2.txt file3.txt file4.txt user1@host1.com:/home/user1/Desktop


总结要点:

1、为了能够复制文件,我们必须具有源文件的读取权限和目标系统的写入权限。

2、SCP命令依赖SSH进行安全数据传输,这意味着它需要密码才能在远程系统上进行身份验证。

3、复制具有相同名称和位置的文件时要小心,因为SCP会在不警告您的情况下覆盖它们。

4、为了能够区分本地和远程位置,请使用完整的冒号:。


上一篇: xshell怎么连接云服务器? 下一篇: VMess服务器和客户端的基本配置文件