SCP命令行向服务器端上传文件或下载文件

发布于:2024-03-01 ⋅ 阅读:(119) ⋅ 点赞:(0)
环境要求

使用scp(Secure Copy Protocol)命令在本地和远程系统之间安全地复制文件和目录,需要满足以下环境要求:

  1. SSH服务scp依赖于SSH(Secure Shell)协议来安全地传输文件。因此,远程服务器必须运行SSH服务。大多数Linux和Unix系统默认安装SSH服务。
  2. 网络连接:本地机器和远程服务器之间需要有活动的网络连接。scp通过网络发送数据,所以双方必须能够相互通信。
  3. SSH客户端:执行scp命令的本地机器上需要安装SSH客户端。大多数Linux和Unix系统(包括Mac OS X)默认安装了SSH客户端。Windows用户可以使用PuTTY的pscp工具或安装Windows 10的Linux子系统、Cygwin等来获得scp功能。
  4. 端口:默认情况下,SSH服务监听22号端口。确保网络和防火墙设置允许通过这个端口进行通信。在一些情况下,为了安全或其他原因,服务器管理员可能会更改SSH服务的默认端口,此时需要在使用scp命令时指定正确的端口。
  5. 远程服务器的地址:你需要知道远程服务器的IP地址或主机名,以便于scp能够找到并连接到远程服务器。
命令行操作

在这之前你要知道两个路径,这些路径根据你的实际需求去来定,以下提供的案例路径,只是为了方便理解:

1.服务器存放你要下载文件的路径,我当前的下载存放路径为/var/www,可以看到我下面有一个aa.txt的文件。

在这里插入图片描述

2.本地你要存放的路径,我要准备把下载的文件存放到/Users/zoya/Documents/doc/scp-test,目前scp-test无任何文件。

在这里插入图片描述

  1. 下载单个远程文件到本地
 scp [远程用户]@[远程主机]:[远程文件路径] [本地文件路径]
 scp root@43.143.216.171:/var/www/aa.txt /Users/zoya/Documents/doc/scp-test

在这里插入图片描述

在这里插入图片描述
2.下载多个远程文件到本地

它会把整个目录拉下来,如图所示

 scp -r [远程用户]@[远程主机]:[远程文件路径] [本地文件路径]
 scp -r root@43.143.216.171:/var/www/ /Users/zoya/Documents/doc/scp-test
 // 这段代码可以拉下来一个每个文件,而不是一个文件夹
 rsync -avz --delete root@43.143.216.171:/var/www/ /Users/zoya/Documents/doc/scp-test

在这里插入图片描述

3.上传单个本地文件到服务器

 scp [本地文件路径] [远程用户]@[远程主机]:[远程文件路径] 
 scp /Users/zoya/Documents/doc/scp-test/上传到服务器的.txt root@43.143.216.171:/var/www/

在这里插入图片描述

在这里插入图片描述

4.上传多个本地文件到服务器

 scp -r [本地文件路径] [远程用户]@[远程主机]:[远程文件路径] 
 scp -r /Users/zoya/Documents/doc/scp-test/ root@43.143.216.171:/var/www/

在这里插入图片描述

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到