如何将文件从远程服务器复制到本地计算机?


238

在终端外壳程序中,我将其放入远程服务器,然后cd转到所需的目录。

现在在此目录中,有一个table我想复制到本地计算机的文件/home/me/Desktop

我怎样才能做到这一点?

我尝试过,scp table /home/me/Desktop但它给出了有关此类文件或目录的错误。

有谁知道如何做到这一点?


如果发现自己经常使用scp复制,则可以在文件浏览器中挂载远程目录并拖放。在我的Ubuntu 15主机上,它在菜单栏“转到”>“输入位置”>下方debian@10.42.4.66:/home/debian。或者,可以使用sshfs它在主机上挂载远程计算机的文件系统。但是该设置要涉及一些。
ConvexMartian

rsync一试。这对本地和远程复制都非常
有用

Answers:


380

的语法为scp

如果您要从其将文件发送到远程计算机的计算机上:

scp /file/to/send username@remote:/where/to/put

此处remote可以是FQDN或IP地址。

另一方面,如果您要在计算机上从远程计算机接收文件:

scp username@remote:/file/to/send /where/to/put

scp 还可以在两个远程主机之间发送文件:

scp username@remote_1:/file/to/send username@remote_2:/where/to/put

因此,基本语法为:

scp username@source:/location/to/file username@destination:/where/to/put

您可以阅读man scp以获得更多关于此的想法。


4
如果我要复制多个文件怎么办?我添加了一个空格,仅使用了另一个 /file/to/send谢谢您的出色回答!
camdixon

6
scp -r将递归复制。
亨利

我想将文件从网络复制到我的VM ...如何使用scp实现相同的功能
Sushivam,2016年

2
@heemayl +1是一个很好的答案。考虑补充一下,在安全连接(需要身份验证)的情况下,可以使用以下命令(用于将文件从本地复制到远程):scp -i mykey.pem somefile.txt root@remotehost.ip.address :/ some / folder / in / remote
Guy Avraham

1
使用scp -P 123指定自定义的端口
aexl

14

您可以rsync替代使用。它主要用于同步文件..但是您也可以将其用于此目的。

rsync -avzh --stats --progress remoteuser@remoteip  localpath 

添加ssh选项:

rsync -e "ssh -P $port_value" remoteuser@remoteip  localpath

--progress并且--stats对于实时显示转移很有用。



8
scp username@ipaddress:pathtofile localsystempath

scp sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .

如果与端口一起使用:

scp -Pportnumber username@ipaddress:pathtofile localsystempath 

scp -P2233 sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .

这会将文件复制到相同的远程目录。
Max Yudin

3

如果完全信任网络中的每个人,你可以直接将目标计算机的端口,你可以使用netcat的:nc

假设目标机器的IP地址为192.168.1.123

在目标运行:

nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir

您可以选择其他端口,也可以绑定到接口的另一个IP,0.0.0.0仅捕获所有接口。

在源代码上运行:

tar zxcf - filename | nc 192.168.1.123 7777

恕我直言,这是使用数字网络将文件从一台计算机发送到另一台计算机的最快方法。

参数和命令行选项可能不同版本之间略有变化nctar,但它肯定会与最近的Linux发行版的工作。


2

在Linux上,要将文件夹及其内容从用户(在此示例中为root)目录复制到本地用户目录中的文件夹,请在本地计算机上运行以下命令:

scp -r root@178.62.54.83:〜/ folderinremoteuserdir〜/ folderinlocaluserdir

请注意〜/,我似乎常常忘记了...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.