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

ome*_*ega 31 linux ubuntu scp cp

在我的终端shell中,我ssh'ed到一个远程服务器,我cd到我想要的目录.现在在此目录中,有一个名为" table我想要复制到本地计算机"的文件/home/me/Desktop.我怎样才能做到这一点?

我尝试了scp table /home/me/Desktop但它没有关于这样的文件或目录的错误.有谁知道如何做到这一点?

谢谢

kkp*_*oon 59

例如,您的远程主机是example.com,远程登录名是user1:

scp user1@example.com:/path/to/file /path/to/store/file
Run Code Online (Sandbox Code Playgroud)

  • 如果我在服务器上怎么办? (2认同)

小智 7

scp 操作与您的 ssh 登录是分开的。您将需要发出类似于以下命令的 ssh 命令,假设 jdoe 是您登录远程系统的帐户,并且远程系统是 example.com:

scp jdoe@example.com:/somedir/table /home/me/Desktop/.
Run Code Online (Sandbox Code Playgroud)

从 /home/me/Desktop 所在的系统发出的 scp 命令后跟远程服务器上帐户的用户 ID。然后添加一个“:”,后跟远程服务器上的目录路径和文件名,例如,/somedir/table。然后添加一个空格和要将文件复制到的位置。如果希望文件在客户端系统上具有相同的名称,可以用句点表示,即“.”。在目录路径的末尾;如果你想要一个不同的名字,你可以使用 /home/me/Desktop/newname。如果您使用非标准端口进行 SSH 连接,则需要使用“-P n”(大写 P)指定该端口,其中“n”是端口号。标准端口是 22,如果您没有为 SSH 连接指定它,那么您将不需要它。


dgs*_*eps 6

当您使用 scp 时,您必须告诉您要从何处复制文件的主机名和 IP 地址。例如,如果您在远程主机上并且想将文件传输到您的电脑,您可以使用以下方法:

scp -P[portnumber] myfile_at_remote_host [user]@[your_ip_address]:/your/path/
Run Code Online (Sandbox Code Playgroud)

例子:

scp -P22 表 fake_user@111.111.111.11:/home/me/Desktop/

另一方面,如果你在你的机器上,你可以使用这样的东西:

scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_host /your/path/
Run Code Online (Sandbox Code Playgroud)

例子:

scp -P22 [fake_user]@222.222.222.222:/remote/path/table /home/me/Desktop/