说明
scp命令用于在不同主机之间进行复制文件,采用SSH协议来保证复制的安全性。scp命令每次都是全量完整复制,所以效率不高,适合第一次复制的时候使用,增量复制建议使用rsync命令来代替。
格式
scp [option] [user@host]:file1 [user@host]:file2
常用参数
- -C:压缩传输
- -l:指定传输占用的宽度,单位Kbit/s
- -P port:大写P指定传输的端口号
- -p:小写p,传输后保留文件的原始属性
- -q:不显示传输进度条
- -r:递归复制整个目录
示例
1、从本地服务器复制文件到远程服务器
[root@localhost ~]# scp test.zip 192.168.71.107:/tmp
root@192.168.71.107s password:
test.zip 100% 2245 2.2KB/s 00:00
2、从本地服务器复制目录到远程服务器(-r参数)
[root@localhost ~]# scp -r test 192.168.71.107:/tmp
root@192.168.71.107s password:
test_01.txt 100% 11 0.0KB/s 00:00
test_02.txt 100% 0 0.0KB/s 00:00
test_03.txt 100% 0 0.0KB/s 00:00
test_04.txt 100% 0 0.0KB/s 00:00
test_05.txt 100% 0 0.0KB/s 00:00
test_06.txt 100% 0 0.0KB/s 00:00
test_07.txt 100% 0 0.0KB/s 00:00
test_08.txt 100% 0 0.0KB/s 00:00
test_09.txt 100% 0 0.0KB/s 00:00
test_10.txt 100% 0 0.0KB/s 00:00
test_11.txt 100% 0 0.0KB/s 00:00
test_12.txt 100% 0 0.0KB/s 00:00
test.txt 100% 0 0.0KB/s 00:00
services 100% 655KB 654.6KB/s 00:00
services.zip 100% 133KB 133.0KB/s 00:00
3、使用-p参数,保留源文件的属性
[root@localhost ~]# scp -p test.zip 192.168.71.107:/tmp
root@192.168.71.107s password:
test.zip 100% 2245 2.2KB/s 00:00
4、从远程服务器将数据复制到本地服务器
[root@localhost tmp]# scp 192.168.71.107:/tmp/test.zip . #拉取文件到当前目录
root@192.168.71.107s password:
test.zip 100% 2245 2.2KB/s 00:00
[root@localhost tmp]# ll
total 4
-rw-r--r--. 1 root root 2245 May 14 18:53 test.zip
[root@localhost tmp]# scp -r 192.168.71.107:/tmp/test .#拉取目录到当前目录
root@192.168.71.107s password:
test_01.txt 100% 11 0.0KB/s 00:00
test_02.txt 100% 0 0.0KB/s 00:00
test_03.txt 100% 0 0.0KB/s 00:00
test_04.txt 100% 0 0.0KB/s 00:00
test_05.txt 100% 0 0.0KB/s 00:00
test_06.txt 100% 0 0.0KB/s 00:00
test_07.txt 100% 0 0.0KB/s 00:00
test_08.txt 100% 0 0.0KB/s 00:00
test_09.txt 100% 0 0.0KB/s 00:00
test_10.txt 100% 0 0.0KB/s 00:00
test_11.txt 100% 0 0.0KB/s 00:00
test_12.txt 100% 0 0.0KB/s 00:00
test.txt 100% 0 0.0KB/s 00:00
services 100% 655KB 654.6KB/s 00:00
services.zip 100% 133KB 133.0KB/s 00:00
[root@localhost tmp]# ll
total 8
drwxr-xr-x. 2 root root 4096 May 14 18:53 test
-rw-r--r--. 1 root root 2245 May 14 18:53 test.zip
总结:在复制的过程中,最好带上-p参数,保持文件的属性不变。scp复制,尽管本地已经有一样的文件,当时还是会消耗带宽来复制文件,所以scp是全量复制。