如何将一个文件夹从远程使用复制到本地主机scp
?
我用ssh
登录我的服务器。
然后,我想远程文件夹复制foo
到本地/home/user/Desktop
。
如何实现这一目标?
如何将一个文件夹从远程使用复制到本地主机scp
?
我用ssh
登录我的服务器。
然后,我想远程文件夹复制foo
到本地/home/user/Desktop
。
如何实现这一目标?
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
从man scp
(见在线手册 )
-r递归复制整个目录
要使用scp的完整能力,你需要经过下面的步骤:
然后,例如,如果你有这样的〜/ .ssh /配置 :
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完成你需要有两个bash的壳<source>
和<target>
主机和正常工作的bash完成。 欲了解更多信息,请参阅相关的问题:
如何使用scp时启用远程路径自动完成?
SCP文件名tab完成
要从本地位置全部复制到远程位置 (上传)
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
注意:有时自定义端口不会因没有被允许在防火墙的端口工作,所以要确保自定义端口允许防火墙传入和传出连接
我一直用的是:
scp -r username@IP:/path/to/server/source/folder/ .
。 (点):这意味着current folder
。 所以从服务器复制和粘贴只在这里。
IP:可以像一个IP地址125.55.41.311
,也可以是主机像ns1.mysite.com
。
更好的远程服务器上的第一个压缩目录:
tar czfP backup.tar.gz /path/to/catalog
其次,从远程下载:
scp user@your.server.example.com:/path/to/backup.tar.gz .
最后,解压缩文件:
tar -xzvf backup.tar.gz
如果你有一个文件中的一个地狱从远程位置下载,如果你对安全不太关心,请尝试更改SCP默认加密(三重DES),以类似“河豚”。
这将大大减少文件复制时间。
scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
转到文件的统一工具栏上
按Ctrl + L和写here_goes_your_user_name@192.168.10.123
该192.168.1.103是你要连接的主机。
这里的一个例子
典型情况下,
scp -r -P port username@ip:/path-to-folder .
与样品所解释的,
scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .
哪里,
port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
如果您遇到“太多的验证失败”,指定你已经添加到您的西弗斯SSH服务器的确切SSH密钥:
scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir
现在的问题是如何将一个文件夹,远程复制到本地与scp
命令。
$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
但在这里是用做的更好的办法sftp
- SSH文件传输协议(也安全文件传输协议,或SFTP)是一种网络协议,它提供文件访问,文件传输,以及在任何可靠的数据流文件管理(维基百科) 。
$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
有关帮助sftp
命令只需键入help
或?
。
我不知道为什么,但我有源服务器的指令之前,使用本地文件夹。 使它工作
scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/