1.SCP介绍
SCP是建立在SSH协议之上的一个文件传输协议,可以通过SCP命令将本地文件/文件夹拷贝到远程主机,或者将远程主机的文件/文件夹下载到本地。
它的使用方法大致如下:
scp -option source destination
这里的source和destination可以根据我们是要上传或者下载来放置远程主机和本地地址。
我最常用的option是-r,recursive,递归的,也就是说它会遍历该文件夹下的所有子文件夹和文件。
2.上传下载示例
2.1 从远程主机下载文件夹到本地
scp -r user@ssh.example.com:/path/to/remote/source /path/to/local/destination
2.2 从本地上传一个文件夹到远程主机
scp -r /path/to/local/source user@ssh.example.com:/path/to/remote/destination
3.简化操作
在我们开发过程中,通常我们只需要将文件拷贝到一台主机,将每次都要重新输入远程主机的用户名和地址就显得非常麻烦。
所以我们可以编写一个函数,然后将它放到PowerShell的启动执行脚本中。这样之后我们只需要调用这个函数,传入本地目录还有远程目录,就可以省略远程主机的用户名还有地址这一大串字符串了。
- 打开Power Shell启动执行脚本
notepad $PROFILE
- 在其中添加新函数
function copytoremote($source,$dest){
scp -r $source osboxes@192.168.0.113:$dest
}
-
这边我默认使用
-r选项,这样不论是文件还是文件夹都可以直接进行拷贝 -
请将中间的
osboxes@192.168.0.113修改成你要连接的远程主机的用户名和IP地址- 最好提前设置一下SSH免密登录,这样就不用输入密码了