有时候需要在两个Linux服务器间手动拷贝数据,除了使用ftp以外,最常用的就是SCP命令了。本文就详细说明scp命令的使用和示例。
1、scp命令的用法和参数格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file][-l limit] [-o ssh_option] [-P port] [-S program][[user@]host1:]file1 ... [[user@]host2:]file2 说明: scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令。scp实质相当于利用SSH协议来传输数据的cp命令。 参数:
2、示例(1)、从远程服务器拷贝文件
说明: 端口大写P 为参数,2233 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.lampbo.org 表示使用root用户登录远程服务器www.lampbo.org,:/linux/lampbo.tar.gz 表示远程服务器上的文件,最后面的/home/lampbo.tar.gz表示保存在本地上的路径和文件名。 (2)、从远程服务器复制目录
上端口大写P 为参数,2233 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);root@www.lampbo.org 表示使用root用户登录远程服务器www.lampbo.org,:/linux/lampbo/ 表示远程服务器上的目录,最后面的/home/lampbo/表示保存在本地上的路径。 (3)、从本地服务器复制到远程服务器 复制文件: 命令格式: [root@Centos6.2]# scp local_file remote_username@remote_ip:remote_folder 或者 [root@Centos6.2]# scp local_file remote_username@remote_ip:remote_file 或者 [root@Centos6.2]# scp local_file remote_ip:remote_folder 或者 [root@Centos6.2]# scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名 实例: [root@Centos6.2]# scp /home/linux/soft/scp.zip root@www.mydomain.com:/home/linux/others/soft [root@Centos6.2]# scp /home/linux/soft/scp.zip root@www.mydomain.com:/home/linux/others/soft/scp2.zip [root@Centos6.2]# scp /home/linux/soft/scp.zip www.mydomain.com:/home/linux/others/soft [root@Centos6.2]# scp /home/linux/soft/scp.zip www.mydomain.com:/home/linux/others/soft/scp2.zip 复制目录 命令格式: [root@Centos6.2]# scp -r local_folder remote_username@remote_ip:remote_folder 或者 [root@Centos6.2]# scp -r local_folder remote_ip:remote_folder 第1个指定了用户名,命令执行后需要输入用户密码; 第2个没有指定用户名,命令执行后需要输入用户名和密码; 例子: [root@Centos6.2]# scp -r /home/linux/soft/ root@www.mydomain.com:/home/linux/others/ [root@Centos6.2]# scp -r /home/linux/soft/ www.mydomain.com:/home/linux/others/ 上面命令将本地 soft 目录复制到远程 others 目录下,即复制后远程服务器上会有/home/linux/others/soft/ 目录 |