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

Linux 如何将文件从远程服务器复制到本地计算机?,linux,ubuntu,scp,cp,Linux,Ubuntu,Scp,Cp,在我的终端外壳中,我通过ssh连接到一个远程服务器,并cd到我想要的目录。现在在这个目录中,有一个名为table的文件,我想复制到我的本地机器/home/me/Desktop。我该怎么做 我尝试了scp table/home/me/Desktop,但它给出了一个关于没有这样的文件或目录的错误。有人知道怎么做吗 谢谢当您使用scp时,您必须告诉要从何处复制文件的主机名和ip地址。例如,如果您在远程主机上,并且希望将文件传输到pc,则可以使用以下方式: scp -P[portnumber] myfi

在我的终端外壳中,我通过ssh连接到一个远程服务器,并
cd
到我想要的目录。现在在这个目录中,有一个名为
table
的文件,我想复制到我的本地机器
/home/me/Desktop
。我该怎么做

我尝试了
scp table/home/me/Desktop
,但它给出了一个关于没有这样的文件或目录的错误。有人知道怎么做吗


谢谢

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

scp -P[portnumber] myfile_at_remote_host [user]@[your_ip_address]:/your/path/
scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_host /your/path/
示例:

scp-P22表伪造_user@111.111.111.11:/home/me/Desktop/

另一方面,如果您在您的计算机上,您可以使用以下内容:

scp -P[portnumber] myfile_at_remote_host [user]@[your_ip_address]:/your/path/
scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_host /your/path/
示例:


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

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

scp user1@example.com:/path/to/file /path/to/store/file

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

scp jdoe@example.com:/somedir/table /home/me/Desktop/.

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

我建议使用sftp,使用此命令
sftp-oPort=7777user@host
其中-oPort是ssh的自定义端口号,如果您将其更改为7777,则可以使用-oPort,否则,如果仅使用端口22,则为普通
sftpuser@host
它要求输入密码,然后你可以登录,你可以使用
cd/home/user
导航到所需的位置,然后一个简单的命令
get table
你可以下载它,如果你想下载一个目录/文件夹
get-r someDirectory
就会这样做。如果您希望文件权限也存在,那么
get-Pr someDirectory

要上传到远程更改,请输入上述命令。

如果我在服务器上怎么办?如何
scp/path/to/local/fileuser1@otherhost:/path/to/file