scp命令详解

scp [可选参数] file_source file_target 
-C - 这会在复制过程中压缩文件或目录。
-P - 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-r - 此选项递归复制目录及其内容。
-p - 保留文件的访问和修改时间。

CentOS, 本地服务器,ip: 192.168.1.111
Ubuntu, 远程服务器,ip: 192.168.1.112

1.拷贝远程服务器的目录到本地服务器

远程服务器192.168.1.112上面/tmp目录下面有个test目录,里面有个文件名为test,内容也为test

root@ubuntu:/tmp# cat test/test
test



拷贝远程服务器192.168.1.112的目录/tmp/test到当前目录下。

[root@CentOS_Test_Server tmp]#scp -r root@192.168.1.112:/tmp/test ./
The authenticity of host '192.168.1.112 (192.168.1.112)' can't be established.
RSA key fingerprint is 64:76:a6:1e:23:76:ec:25:5e:c2:f3:ef:fc:ad:48:7b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.112' (RSA) to the list of known hosts.
root@192.168.1.112's password:
test 100% 5 0.0KB/s 00:00



注意拷贝到本地服务器后形成的目录结构为/tmp/test,而不是/tmp/tmp/test,一定要注意,这里比较容易混淆,经过自己亲自测试,再碰到类似的问题心里就有底了。

[root@CentOS_Test_Server tmp]# ls test/
test



2.拷贝远程服务器的文件到本地服务器

将1中拷贝过来的目录test删除

rm -rf test

[root@CentOS_Test_Server tmp]# ls -l | grep test | grep -v "grep"



拷贝远程服务器192.168.1.112的文件/tmp/test/test到当前目录下。

[root@CentOS_Test_Server tmp]#scp root@192.168.1.112:/tmp/test/test ./
root@192.168.1.112's password:
test 100% 5 0.0KB/s 00:00
[root@CentOS_Test_Server tmp]# ls -l | grep test | grep -v "grep"
-rw-r--r-- 1 root root 5 Sep 22 14:07 test



3.拷贝本地服务器的目录到远程服务器


在/tmp目录下面建立目录dir111,在此目录下创建文件file111,内容为file111

[root@CentOS_Test_Server tmp]# mkdir dir111
[root@CentOS_Test_Server tmp]# echo 'content111' > dir111/file111
[root@CentOS_Test_Server tmp]# cat dir111/file111
content111



拷贝本地服务器的目录dir111到远程服务器的目录/tmp下

与上述1中类似,拷贝到远程服务器后形成的目录结构为/tmp/dir111,而不是/tmp/tmp/dir111,一定要注意,这里比较容易混淆。

不管拷贝命令是scp -r dir111 root@192.168.1.112:/tmp还是scp -r /tmp/dir111 root@192.168.1.112:/tmp,在远程服务器上面生成的目录结构均一样,我亲自测试过了。
 

[root@CentOS_Test_Server tmp]# scp -r /tmp/dir111 root@192.168.1.112:/tmp
root@192.168.1.112's password:
file111 100% 11 0.0KB/s 00:00 



远程服务器192.168.1.112上面的内容

root@ubuntu:/tmp# ls
dir111 test vmware-root
root@ubuntu:/tmp# cat dir111/file111
content111



4.拷贝本地服务器的文件到远程服务器

[root@CentOS_Test_Server tmp]#scp dir111/file111 root@192.168.1.112:/tmp
root@192.168.1.112's password:
file111 100% 11 0.0KB/s 00:00



远程服务器192.168.1.112上面的内容

root@ubuntu:/tmp# ls
dir111 file111 test vmware-root



延伸阅读:
http://www.baidu.com/s?wd=linux+scp
http://www.google.com/search?hl=en&source=hp&q=linux+scp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值