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

Mec*_*chy 8 terminal scp command-line-arguments

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

谁能帮我?

这是我目前所知的语法,

scp(filename)(我不知道该放什么):(我电脑上的位置)

ldr*_*umm 9

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

scp <from> <to>

<from>或者<to>可以是本地的或远程的.

远程文件的形式 user@host:path_on_remote

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

如果您是手动执行此操作,则可能会发现通过登录到远程主机之前从localhost运行以下命令来更轻松地将文件复制办公室计算机:

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

如果你需要复制一个目录 - 正如已经提到的那样 - 你可以给scp -r选项.

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


Joa*_*son 8

如果您的计算机可以通过Internet访问,那么 - 这样的hacky - 应该可以工作;

scp (filename) `echo $SSH_CLIENT | awk '{print $1}'`:(location on my computer)
Run Code Online (Sandbox Code Playgroud)

更简单的方法(始终有效)是从本地计算机上的新窗口执行scp ;

scp (remote computer):path/to/remote/file (location on my local computer)
Run Code Online (Sandbox Code Playgroud)

remote computer 和你正常的地址一样.

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

scp remotecomputer.com:important/test.txt .
Run Code Online (Sandbox Code Playgroud)

  • @Mechy如果您使用公钥验证(无密码登录)登录远程服务器,您可以像在普通的`bash`会话中一样进行制表完成.我发现这非常有用,因为这意味着我不必创建一个`ssh`会话来复制路径. (2认同)