linux下scp的使用
不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。第二种方法就是采用samba服务,类似Windows文件copy的方式来操作,比较简洁方便,第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始cp和ungzip了
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz
我的项目源码使用maven build,且必须在linux环境中编译,而生成的ear和war文件又要传回windows来部署。那台linux server由于没权限装不了Samba,也不能用sz、rz,更无法用VNC访问GUI界面。开始通过ftp来传文件,麻烦的要死,每次都get来、put去、中间还要binary切换。后来干脆在本机的Windows上装了个openssh(安装过程可参见http://pigtail.net/LRP/printsrv/cygwin-sshd.html),开启sshd服务后就可以在windows和linux之间scp文件了。如果嫌每次scp时都要输密码烦人,可以参照SSH Without a Password一文。
Updated, 发现了一个更方便的工具,免费开源的WinSCP(http://sourceforge.net/projects/winscp/),不用安装,只有一个可执行文件,就可以跟Linux之间互拷文件了。
首先保证linux宿主机上的ftp服务已经启动
在windows上面启动命令提示符窗口,然后切换到您想接收/发送文件的文件夹
然后ftp ip // ip为linux宿主机的ip地址
然后就可以cd到linux相应的目录下面使用get / send接收linux主机上面的文件或者往linux主机上发送文件了,速度还相当快的哦