上篇文章虚拟机和宿主主机能够相互ping通了,接下来就是如何实现Windows和Linux间的文件传输和下载。在网上看了很多,基本上常见的文件传输方式有ftp,scp,rsync,rz,sz等。而且也出现了很多可视化的操作工具,比如XShell、XFTP、WinSCP、CRT等等,可是实际中,我们并不是经常使用工具来上传。主要是实际处理文件时,需要使用代码来操作文件,使用工具来上传文件不能准确的解决寻找问题,所以需要使用命令式上传文件。
- ftp: ftp是文件服务器,可实现文件的上传下载,存储等功能。
- scp: scp能够将不同主机的文件进行相互传输,使用简单方便。
- rz : 用于linux与windows之间的文件上传
- sz : 用于linux与windows之间的文件下载
- rsync : rsync是文件同步工具,结合inotify可以实现文件的同步,备份功能。
一、使用XShell完成windows和linux的文件交互
1、宿主主机上,下载XShell工具
2、宿主主机上,在XShell上配置站点
3、配置下载路径和加载路径
4、点击连接,进入命令行界面
5、Linux系统上,打开Linux系统终端,检查是否安装lrzsz
rpm -qa|grep lrzsz
如果没有安装lrzsz,则进行安装
yum install -y lrzsz
6、Windows文件上传到Linux。
从Windows上传文件命令为rz,上传的文件在当前命令行的目录下,可进行目录切换;
[root@localhost src]# rz //往Linux root文件夹下上传
在Xshell命令行中输入rz命令后,会弹出对话框,选择你要上传的文件,选择打开要上传的文件就上传到Linux主机下。
但是这种上传的方式有文件大小限制,如果文件太大就会失败,所以可以先对文件进行压缩上传到Linux系统中,然后再在Linux上解压,具体可以参考Linux-Centos下安装工具用来解压压缩
注意:xshell6默认上传不会覆盖,如果允许覆盖,可以如下设置将 rz -E 改为rz -y
7、查看下上传到Linux系统下的文件
cd /root是切换到对应目录,因为administrator用户缺乏权限,使用su切换到root用户再进行文件查询
8、删除root下的文件
-r 就是向下递归,不管有多少级目录,一并删除。-f 就是直接强行删除,不作任何提示的意思
#删除root文件夹目录及其下的所有文件
rm -rf /root
#删除文件,单个删除
rm -f /root/hellofontlogs.txt
9、从Linux主机下载文件
下载命令为sz ,后面也可跟要下载的文件名,也可以选择下载的保存文件夹;只输入sz命令时,文件一般保存在当前路径下,上传完可以使用ls 查看。
二、Powershell连接Linux-CentOs
上面介绍了利用XShell工具连接Linux系统,那么能不能通过Windows系统的Powershell或者命令提示符连接远程服务呢?是可以的。
环境:VMware workstation上安装centos系统
CentOS操作系统相对来说要简单一些,因为它默认已经安装了openssh-server。所以直接使用CMD/Powershell连接即可,命令如下:
ssh root@192.168.222.135
效果截图如下: