scp 是 secure copy 的缩写,用于在 Linux 下进行远程拷贝文件的命令,和它类似的命令有 cp ,不过 cp 是在本机进行拷贝不能跨服务器的,而且 scp 传输是加密的。可能会稍微影响一下速度。当你的服务器硬盘变为只读 read only system 时,用 scp 可以帮你把文件移出来。另外,scp 还非常不占资源,不会提高多少系统负荷,在这一点上,rsync 就远远不及它了。虽然 rsync 比 scp 会快一点,但当小文件众多时,rsync 会导致硬盘 I/O 非常高, 而 scp 基本不影响系统正常使用。
命令格式 - scp [参数] [源路径] [目标路径]
命令功能 -
命令参数 -
命令实例 -
scp 命令的实际应用概述
从本地服务器复制到远程服务器
(1)复制文件
xxxxxxxxxx
1scp local_file remote_username@remote_ip:remote_folder
2// 或者
3scp local_file remote_username@remote_ip:remote_file
4// 或者
5scp local_file remote_ip:remote_folder
6// 或者
7scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名
(2)复制目录
xxxxxxxxxx
11scp -r local_folder remote_username@remote_ip:remote_folder
2// 或者
3scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码
第2个没有指定用户名,命令执行后需要输入用户名和密码
从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
实例一:从远处复制文件到本地目录
命令
xxxxxxxxxx
11scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
输出
xxxxxxxxxx
281[root@localhost ~]# cd /opt/soft/
2[root@localhost soft]# ll
3总计 80072
4drwxr-xr-x 12 root root 4096 09-21 18:40 fms3.5
5drwxr-xr-x 3 root root 4096 09-21 17:58 fms4.5
6drwxr-xr-x 10 root root 4096 10-30 17:15 jdk1.6.0_16
7drwxr-xr-x 10 root root 4096 09-17 19:27 jdk1.6.0_16.bak
8-rwxr-xr-x 1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
9drwxrwxrwx 2 root root 4096 09-21 01:16 mysql
10drwxr-xr-x 3 root root 4096 09-21 18:40 setup_file
11drwxr-xr-x 9 root root 4096 09-17 19:23 tomcat6.0.32
12drwxr-xr-x 9 root root 4096 2012-08-14 tomcat_7.0
13[root@localhost soft]# scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
14root@192.168.120.204's password:
15nginx-0.5.38.tar.gz 100% 479KB 478.7KB/s 00:00
16[root@localhost soft]# ll
17总计 80556
18drwxr-xr-x 12 root root 4096 09-21 18:40 fms3.5
19drwxr-xr-x 3 root root 4096 09-21 17:58 fms4.5
20drwxr-xr-x 10 root root 4096 10-30 17:15 jdk1.6.0_16
21drwxr-xr-x 10 root root 4096 09-17 19:27 jdk1.6.0_16.bak
22-rwxr-xr-x 1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
23drwxrwxrwx 2 root root 4096 09-21 01:16 mysql
24-rw-r--r-- 1 root root 490220 03-15 09:11 nginx-0.5.38.tar.gz
25drwxr-xr-x 3 root root 4096 09-21 18:40 setup_file
26drwxr-xr-x 9 root root 4096 09-17 19:23 tomcat6.0.32
27drwxr-xr-x 9 root root 4096 2012-08-14 tomcat_7.0
28[root@localhost soft]#
说明
从 192.168.120.204 机器上的 /opt/soft/
的目录中下载 nginx-0.5.38.tar.gz 文件到本地 /opt/soft/
目录中
实例二:从远处复制到本地
命令
xxxxxxxxxx
11scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/
输出
xxxxxxxxxx
421[root@localhost soft]# ll
2总计 80556
3drwxr-xr-x 12 root root 4096 09-21 18:40 fms3.5
4drwxr-xr-x 3 root root 4096 09-21 17:58 fms4.5
5drwxr-xr-x 10 root root 4096 10-30 17:15 jdk1.6.0_16
6drwxr-xr-x 10 root root 4096 09-17 19:27 jdk1.6.0_16.bak
7-rwxr-xr-x 1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
8drwxrwxrwx 2 root root 4096 09-21 01:16 mysql
9-rw-r--r-- 1 root root 490220 03-15 09:11 nginx-0.5.38.tar.gz
10drwxr-xr-x 3 root root 4096 09-21 18:40 setup_file
11drwxr-xr-x 9 root root 4096 09-17 19:23 tomcat6.0.32
12drwxr-xr-x 9 root root 4096 2012-08-14 tomcat_7.0
13[root@localhost soft]# scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/
14root@192.168.120.204's password:
15mongodb-linux-i686-static-1.8.5.tgz 100% 28MB 28.3MB/s 00:01
16README 100% 731 0.7KB/s 00:00
17THIRD-PARTY-NOTICES 100% 7866 7.7KB/s 00:00
18mongorestore 100% 7753KB 7.6MB/s 00:00
19mongod 100% 7760KB 7.6MB/s 00:01
20mongoexport 100% 7744KB 7.6MB/s 00:00
21bsondump 100% 7737KB 7.6MB/s 00:00
22mongofiles 100% 7748KB 7.6MB/s 00:01
23mongostat 100% 7808KB 7.6MB/s 00:00
24mongos 100% 5262KB 5.1MB/s 00:01
25mongo 100% 3707KB 3.6MB/s 00:00
26mongoimport 100% 7754KB 7.6MB/s 00:00
27mongodump 100% 7773KB 7.6MB/s 00:00
28GNU-AGPL-3.0 100% 34KB 33.7KB/s 00:00
29[root@localhost soft]# ll
30总计 80560
31drwxr-xr-x 12 root root 4096 09-21 18:40 fms3.5
32drwxr-xr-x 3 root root 4096 09-21 17:58 fms4.5
33drwxr-xr-x 10 root root 4096 10-30 17:15 jdk1.6.0_16
34drwxr-xr-x 10 root root 4096 09-17 19:27 jdk1.6.0_16.bak
35-rwxr-xr-x 1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
36drwxr-xr-x 3 root root 4096 03-15 09:18 mongodb
37drwxrwxrwx 2 root root 4096 09-21 01:16 mysql
38-rw-r--r-- 1 root root 490220 03-15 09:11 nginx-0.5.38.tar.gz
39drwxr-xr-x 3 root root 4096 09-21 18:40 setup_file
40drwxr-xr-x 9 root root 4096 09-17 19:23 tomcat6.0.32
41drwxr-xr-x 9 root root 4096 2012-08-14 tomcat_7.0
42[root@localhost soft]#
说明
从 192.168.120.204 机器上的 /opt/soft/
中下载 mongodb 目录到本地的 /opt/soft/
目录来。
实例三:上传本地文件到远程机器指定目录
命令
xxxxxxxxxx
11scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest
输出
xxxxxxxxxx
171上传前目标机器的目标目录:
2[root@localhost soft]# cd scptest/
3[root@localhost scptest]# ll
4总计 0
5[root@localhost scptest]# ll
6
7本地机器上传:
8[root@localhost soft]# scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest
9root@192.168.120.204's password:
10nginx-0.5.38.tar.gz 100% 479KB 478.7KB/s 00:00
11[root@localhost soft]#
12
13上传后目标机器的目标目录:
14[root@localhost scptest]# ll
15总计 484
16-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz
17[root@localhost scptest]#
说明
复制本地 opt/soft/
目录下的文件 nginx-0.5.38.tar.gz 到远程机器 192.168.120.204 的 opt/soft/scptest
目录
实例四:上传本地目录到远程机器指定目录
命令
xxxxxxxxxx
11scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest
输出
xxxxxxxxxx
311上传前目标机器的目标目录:
2[root@localhost ~]# cd /opt/soft/scptest/
3[root@localhost scptest]# ll
4总计 484
5-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz
6[root@localhost scptest]#
7本地机器上传:
8[root@localhost ~]# scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest
9root@192.168.120.204's password:
10mongodb-linux-i686-static-1.8.5.tgz 100% 28MB 28.3MB/s 00:01
11README 100% 731 0.7KB/s 00:00
12THIRD-PARTY-NOTICES 100% 7866 7.7KB/s 00:00
13mongorestore 100% 7753KB 7.6MB/s 00:00
14mongod 100% 7760KB 7.6MB/s 00:01
15mongoexport 100% 7744KB 7.6MB/s 00:00
16bsondump 100% 7737KB 7.6MB/s 00:00
17mongofiles 100% 7748KB 7.6MB/s 00:00
18mongostat 100% 7808KB 7.6MB/s 00:01
19mongos 100% 5262KB 5.1MB/s 00:00
20mongo 100% 3707KB 3.6MB/s 00:00
21mongoimport 100% 7754KB 7.6MB/s 00:01
22mongodump 100% 7773KB 7.6MB/s 00:00
23GNU-AGPL-3.0 100% 34KB 33.7KB/s 00:00
24[root@localhost ~]#
25
26上传后目标机器的目标目录:
27[root@localhost scptest]# ll
28总计 488
29drwxr-xr-x 3 root root 4096 03-15 09:33 mongodb
30-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz
31[root@localhost scptest]#
说明
上传本地目录 /opt/soft/mongodb
到远程机器 192.168.120.204 上 /opt/soft/scptest
的目录中去