You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.5 KiB

7 years ago
scp
===
加密的方式在本地主机和远程主机之间复制文件
## 补充说明
**scp命令** 用于在Linux下进行远程拷贝文件的命令和它类似的命令有cp不过cp只是在本机进行拷贝不能跨服务器而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时用scp可以帮你把文件移出来。另外scp还非常不占资源不会提高多少系统负荷在这一点上rsync就远远不及它了。虽然 rsync比scp会快一点但当小文件众多的情况下rsync会导致硬盘I/O非常高而scp基本不影响系统正常使用。
### 语法
```
scp(选项)(参数)
```
### 选项
```
-1使用ssh协议版本1
-2使用ssh协议版本2
-4使用ipv4
-6使用ipv6
-B以批处理模式运行
-C使用压缩
-F指定ssh配置文件
-l指定宽带限制
-o指定使用的ssh选项
-P指定远程主机的端口号
-p保留文件的最后修改时间最后访问时间和权限模式
-q不显示复制进度
-r以递归方式复制。
```
### 参数
* 源文件:指定要复制的源文件。
* 目标文件:目标文件。格式为`user@hostfilename`(文件名为目标文件的名称)。
### 实例
从远程复制到本地的scp命令与上面的命令雷同只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
**从远处复制文件到本地目录**
```
scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
```
从10.10.10.10机器上的`/opt/soft/`的目录中下载nginx-0.5.38.tar.gz 文件到本地`/opt/soft/`目录中。
**从远处复制到本地**
```
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
```
从10.10.10.10机器上的`/opt/soft/`中下载mongodb目录到本地的`/opt/soft/`目录来。
**上传本地文件到远程机器指定目录**
```bash
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
# 添加断开 2222
scp -rp -P 2222 /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
```
复制本地`/opt/soft/`目录下的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10的`opt/soft/scptest`目录。
**上传本地目录到远程机器指定目录**
```
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
```
上传本地目录`/opt/soft/mongodb`到远程机器10.10.10.10上`/opt/soft/scptest`的目录中去。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->