Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terminal 如何使用scp将文件从服务器复制到客户端?_Terminal_Command Line Arguments_Scp - Fatal编程技术网

Terminal 如何使用scp将文件从服务器复制到客户端?

Terminal 如何使用scp将文件从服务器复制到客户端?,terminal,command-line-arguments,scp,Terminal,Command Line Arguments,Scp,如何将文件从远程访问的计算机传输回当前所在的计算机 有人能帮我吗 这是我到目前为止知道的语法 scp(文件名)(我不知道在这里放什么):(在我的电脑上的位置)如果你的电脑可以上网,这个黑客程序应该可以工作 scp (filename) `echo $SSH_CLIENT | awk '{print $1}'`:(location on my computer) 更简单的方法(这将始终有效)是从本地计算机上的新窗口执行scp 远程计算机与您通常通过ssh连接到的地址相同 例如,如果文件位于名为r

如何将文件从远程访问的计算机传输回当前所在的计算机

有人能帮我吗

这是我到目前为止知道的语法


scp(文件名)(我不知道在这里放什么):(在我的电脑上的位置)

如果你的电脑可以上网,这个黑客程序应该可以工作

scp (filename) `echo $SSH_CLIENT | awk '{print $1}'`:(location on my computer)
更简单的方法(这将始终有效)是从本地计算机上的新窗口执行scp

远程计算机
与您通常通过ssh连接到的地址相同

例如,如果文件位于名为
remotecomputer.com
的远程计算机上,位于主目录名为
important
的子目录中,并且文件名为
test.txt
,则可以在本地计算机上发出此命令,将其复制到本地计算机上的当前目录

scp remotecomputer.com:important/test.txt .
从,
man scp

本地上的scp文件user@host.name:/path/to/file


如果您添加一个
-r
,它可以完成整个dir。

scp实际上比乍一看更容易使用

scp

可以是本地或远程

远程文件的格式为
user@host:路径在远程上

本地文件只是简单的路径:
/path/to/my/file.txt

如果您是手动执行此操作,您可能会发现,在登录到远程主机之前,通过从本地主机运行以下操作,不将文件复制回您的办公室计算机会更容易:

scpuser@remotehost:/path/to/my/file/on/remote.txt/local/path/local.txt

如前所述,如果您需要复制目录,您可以为scp提供
-r
选项

当登录到远程服务器时,复制基本上是相同的,不过您需要在本地计算机上运行ssh,这可能需要在本地路由器上进行端口转发。我倾向于将笔记本电脑上的
scp
调用到服务器上更容易,而不是相反。

使用pem文件(pem文件需要位于根目录下)

$scp-i@:/path/to/file
有证书

$ scp <file_on_local> <user>@<remotehost>:/path/to/file
$scp@:/path/to/file

但我很难找到路径。出于某种原因,它根本不起作用。我如何找到放入气泡中的内容(本地计算机)?问题是我不确定如何进行路径。我试过像/home/usernamefolder/(myfile)这样的东西,但由于某种原因,它找不到这个该死的文件。执行路径时从何处开始?@Mechy如果您使用公钥身份验证(无密码登录)登录到远程服务器,您可以使用与正常
bash
会话相同的方式完成选项卡。我发现这非常有用,因为这意味着我不必创建一个
ssh
会话来复制路径。当我做scp(主机):(我在这里放了空格)/地址,这就是问题所在。
$ scp -i <pem.pem> <file_on_local> <user>@<remotehost>:/path/to/file
$ scp <file_on_local> <user>@<remotehost>:/path/to/file