如何将文件从远程服务器复制到本地计算机? [关闭]
Posted
技术标签:
【中文标题】如何将文件从远程服务器复制到本地计算机? [关闭]【英文标题】:How to copy a file from remote server to local machine? [closed] 【发布时间】:2015-05-06 07:12:08 【问题描述】:在我的终端 shell 中,我通过 ssh 连接到一个远程服务器,然后我 cd
到我想要的目录。现在在这个目录中,有一个名为table
的文件,我想将它复制到我的本地机器/home/me/Desktop
。我该怎么做?
我尝试了scp table /home/me/Desktop
,但它给出了一个关于没有这样的文件或目录的错误。有谁知道怎么做?
谢谢
【问题讨论】:
在这个远程服务器可以在不同的网络和本地机器在不同的网络?? 【参考方案1】:例如,您的远程主机是 example.com,远程登录名是 user1:
scp user1@example.com:/path/to/file /path/to/store/file
【讨论】:
如果我在服务器上怎么办?scp /path/to/local/file user1@otherhost:/path/to/file
怎么样
@kkpoon 如果我在服务器上,想将文件从服务器复制到本地怎么办?
如果您在服务器上并且想将文件复制到本地计算机,那么您的本地计算机是否也必须是 ssh 服务器?【参考方案2】:
scp 操作与您的 ssh 登录是分开的。您将需要发出类似于以下命令的 ssh 命令,假设 jdoe 是您登录远程系统的帐户并且远程系统是 example.com:
scp jdoe@example.com:/somedir/table /home/me/Desktop/.
从 /home/me/Desktop 所在的系统发出的 scp 命令后跟远程服务器上帐户的用户 ID。然后添加一个“:”,后跟远程服务器上的目录路径和文件名,例如 /somedir/table。然后添加一个空格和要将文件复制到的位置。如果您希望文件在客户端系统上具有相同的名称,您可以用句点表示,即“.”在目录路径的末尾;如果你想要一个不同的名字,你可以改用 /home/me/Desktop/newname。如果您使用非标准端口进行 SSH 连接,则需要使用“-P n”(大写 P)指定该端口,其中“n”是端口号。标准端口是 22,如果您没有为 SSH 连接指定它,则不需要。
【讨论】:
【参考方案3】:当你使用 scp 时,你必须告诉你要从哪里复制文件的主机名和 IP 地址。例如,如果您在远程主机上并且想要将文件传输到您的电脑,您可以使用以下内容:
scp -P[portnumber] myfile_at_remote_host [user]@[your_ip_address]:/your/path/
示例:
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/
示例:
scp -P22 [fake_user]@222.222.222.222:/remote/path/table /home/me/Desktop/
【讨论】:
【参考方案4】:我建议使用 sftp,使用这个命令 sftp -oPort=7777 user@host
其中 -oPort 是 ssh 的自定义端口号,如果你将其更改为 7777,那么你可以使用 -oPort,否则如果只使用端口 22 然后普通sftp user@host
要求输入密码,然后你可以登录,你可以使用cd /home/user
导航到所需的位置,然后一个简单的命令get table
你可以下载它,如果你想下载一个目录/文件夹get -r someDirectory
会做的。如果您希望文件权限也存在,那么get -Pr someDirectory
。
要上传到远程更改,请输入上述命令。
【讨论】:
以上是关于如何将文件从远程服务器复制到本地计算机? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章