如何使用scp将文件夹从远程主机复制到本地主机?

我使用ssh登录到我的服务器。然后,我想将远程文件夹foo复制到local/home/user/Desktop。

我如何做到这一点?


当前回答

我一直使用的是:

scp -r username@IP:/path/to/server/source/folder/  .

.(dot):表示当前文件夹。所以从服务器复制并粘贴到这里。

IP:可以是125.55.41.311这样的IP地址,也可以是ns1.mysite.example这样的主机。

其他回答

转到统一工具栏上的文件

按Ctrl+l并写入here_goes_your_user_name@192.168.10.123

192.168.1.103是您要连接的主机。

这里有一个例子

典型场景,

scp -r -P port username@ip:/path-to-folder  .

用样品解释,

scp-r-P 27000abc@10.70.12.12:/tmp/hotel_dump。

哪里

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory

将所有本地位置复制到远程位置(上载)

scp -r /path/from/local username@hostname:/path/to/remote

将所有远程位置复制到本地位置(下载)

scp -r username@hostname:/path/from/remote /path/to/local

自定义端口,其中xxxx是自定义端口号

 scp -r -P xxxx username@hostname:/path/from/remote /path/to/local

在当前目录上从远程复制到本地

scp -r username@hostname:/path/from/remote .

帮助:

-r递归复制所有目录和文件始终使用/中的完整位置,通过pwd获取完整位置/路径scp将替换所有现有文件主机名将是主机名或IP地址如果需要自定义端口(除了端口22),请使用-P端口号.(dot)-表示当前工作目录,因此只能从服务器下载/复制并粘贴到此处。

注意:有时由于防火墙中不允许该端口,自定义端口无法工作,因此请确保防火墙中允许自定义端口用于传入和传出连接

我不知道为什么,但我必须在源服务器指令之前使用本地文件夹。让它发挥作用

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/

如果您有一个地狱般的文件要从远程位置下载,如果您不太关心安全性,请尝试将scp默认加密(三重DES)更改为类似“blowfish”的格式。

这将大大减少文件复制时间。

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/