# scp 文件传输命令
>[info]
`scp`命令 用于在Linux下进行远程拷贝文件的命令,和它类似的命令有`cp`,不过`cp`只是在本机进行拷贝不能跨服务器,而且`scp`传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用`scp`可以帮你把文件移出来。另外,`scp`还非常不占资源,不会提高多少系统负荷,在这一点上,`rsync`就远远不及它了。虽然`rsync`比`scp`会快一点,但当小文件众多的情况下,`rsync`会导致硬盘I/O非常高,而`scp`基本不影响系统正常使用。
## scp 语法
~~~
scp [可选参数] (参数)
~~~
## 选项
~~~
-1:使用ssh协议版本1;
-2:使用ssh协议版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批处理模式运行;
-C:使用压缩;
-F:指定ssh配置文件;
-l:指定宽带限制;
-o:指定使用的ssh选项;
-P:指定远程主机的端口号;
-p:保留文件的最后修改时间,最后访问时间和权限模式;
-q:不显示复制进度;
-r:以递归方式复制。
~~~
## 参数
源文件:指定要复制的源文件。
目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。
## 实例
### 从远处复制文件到本地目录
* 从 192.168.2.222 机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中。
~~~
scp root@192.168.2.222:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
~~~
### 从远处复制目录到本地
* 从 192.168.2.222 机器上的/opt/soft/中下载nginx目录到本地的/opt/soft/目录来。
~~~
scp -r root@192.168.2.222:/opt/soft/nginx /opt/soft/
~~~
### 上传本地文件到远程机器指定目录
* 复制本地/opt/soft/目录下的文件nginx-0.5.38.tar.gz到远程机器 192.168.2.222 的opt/soft/scptest目录。
~~~
scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.2.222:/opt/soft/scptest
~~~
### 上传本地目录到远程机器指定目录
* 上传本地目录/opt/soft/mongodb到远程机器 192.168.2.222 上/opt/soft/scptest的目录中去。
~~~
scp -r /opt/soft/mongodb root@192.168.2.222:/opt/soft/scptest
~~~
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口