介绍
scp命令主要使用在网络主机上进行文件复制,它使用ssh来传输和验证数据,提供了与ssh一样的安全。
参数
指令 |
指令说明 |
备注 |
-c |
加密传输使用的密码。 |
暂时不懂怎么使用 |
-i |
RSA身份验证的私钥文件。 |
暂时不懂怎么使用 |
-l |
限制传输使用的带宽,单位是KB。 |
|
-p |
保留原始文件的修改时间、访问时间和modes。 |
|
-r |
递归复制整个目录,也就是复制目录中的全部文件。 |
|
-v |
列出运行的详细信息,通常同于调试或学习。 |
|
-B |
批处理模式。 |
暂时不懂怎么使用 |
-q |
控制台不打印进度。 |
|
-C |
允许压缩。 |
此参数并不能说明传输中使用了压缩。 |
-F |
指定ssh的用户配置文件。 |
暂时不懂怎么使用 |
-P |
指定远程主机使用的端口,默认端口22。 |
|
-S |
指定加密连接的程序名。 |
暂时不懂怎么使用 |
-o |
难以理解 |
暂时不懂怎么使用 |
-1 |
强制scp使用协议1 |
|
-2 |
强制scp使用协议2 |
|
-4 |
强制scp使用IPv4 |
|
-6 |
强制scp使用IPv6 |
使用
在使用时,我们可以选择将本地文件拷贝到内网服务器,也可以将内网服务器的文件拷贝到本地。
文件拷贝至远程主机
如果你想将本地的一个文件拷贝到另一台内网服务器,我这里假设要传输的文件为a.sh,使用scp命令传输文件。
注意,文件可以使用绝对路径或相对路径。注意,冒号后面不能跟空格,否则会报错。
拷贝至内网服务器
[root@localhost ~]# scp -p a.sh root@192.168.3.75:/home
建议传输的时候使用-p来保留原文件的更新时间。
拉取远程主机文件
如果你想将内网服务器的文件拷贝到本地,假设要拷贝的文件还是a.sh,可以这样使用scp命令。
拉取内网服务器文件
[root@localhost ~]# scp -p root@192.168.3.75:/home/a.sh a.sh