介绍
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