如何使用scp
将文件夹从远程复制到本地主机?
我使用ssh
登录我的服务器。
然后,我想将远程文件夹foo
复制到 local /home/user/Desktop
。
怎么做到这一点?
要使用scp 的全部功能,您需要执行以下步骤:
然后,例如,如果你有这个〜/ .ssh / config :
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
你将节省密码输入并简化scp语法,如下所示:
scp -r prod:/path/foo /home/user/Desktop # copy to local
scp -r prod:/path/foo test:/tmp # copy from remote prod to remote test
更重要的是,您将能够使用远程路径完成:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
更新:
要启用远程 bash-completion,您需要在<source>
和<target>
主机上安装 bash-shell,并正确地执行 bash-completion。有关更多信息,请参阅相关问题
将所有本地位置复制到远程位置 (上载)
scp -r /path/from/destination username@hostname:/path/to/destination
将所有从远程位置复制到本地位置 (下载)
scp -r username@hostname:/path/from/destination /path/to/destination
自定义端口,其中xxxx
是自定义端口号
scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination
将当前目录从远程复制到本地
scp -r username@hostname:/path/from/file .
帮帮我:
-r
递归复制所有目录和文件/
完整位置,通过pwd
获取完整位置scp
将替换所有现有文件hostname
将是主机名或 IP 地址-P portnumber
注意:由于防火墙中不允许使用端口,有时自定义端口将无法工作,因此请确保防火墙中允许使用自定义端口进行传入和传出连接