首页 > 代码库 > vmware里面的linux怎么和windows相互传文件

vmware里面的linux怎么和windows相互传文件

我们常常遇到这样的问题。高版本号的vmware遇到低版本号的linux。使用起来就比較抠脚,比方低版本号的linux安装在高版本号的vmware里。

1.不能全屏显示虚拟机

2.每次切换出来。总要按一下Ctrl+Alt键

3.特别可恨的是不能直接互传文件

针对以上情况。本篇博客仅仅是针对第三个问题展开的,怎么将vmware里的linux和外面的window互传文件,方法非常多,有

1.建立共享文件夹

2.通过建立ftp,也就是把windows当做ftp的server

3.建立linux的tftp。也就是把linux当做tftp的server

我仅仅试过以上三种方法。其它的没有试过,临时不在这里面讨论。

以下我说一下各自的长处缺点,第一种建立共享文件夹的方法。我仅仅是在fedora中试过。这个是看着视频做的,视频是通过图形界面来操作的。只是建立共享文件夹仅仅是针对这款fedora比較有用,你非常难把它移植到其它版本号的linux的中。当然这仅仅是对于我这样的linux技术不是非常好的人来说的。

所以针对这样的移植性不好的方法我就舍弃了。另外一种方法。我是想在windows上建立一个ftpserver,然后你的linux当做client,上传文件到windows上的server中,之后的windows上的文件就由你怎么处置了。只是当我想从linux上传送一个文件夹到windows的ftpserver上去的时候,出现了两个问题。第一个,我想传送一个没有被压缩的文件夹是传送不进去的,仅仅能单个的传送。所以你想传送一个整个的文件的话,你就必须想办法先把它在linux中做成一个压缩文件,然后就可以在命令行中传送,这样看似是可行的,只是问题是,我linux中通过命令行传送过去的文件。在windows的ftp上打开会出现异常,无论是普通的.c,.txt文件还是你已经压缩过的tar.bz2文件等等。都会出现这样的异常,详细什么原因我也不清楚。可能是windows自带的ftp有点问题吧,哈哈。

两个windows之间互传文件是没有问题的。

所以针对以上两种方法的种种缺点,我这里强烈推荐一种方法,也就是用第三种方法,在linux中建立一个tftpserver,建立这个tftpserver的过程那可不是通过linux的图形界面设置的。这里都是用命令行设置的,为什么要介绍这样的方法,由于用命令行设置可移植性比較好。

第一步:首先关闭你linux的防火墙和SELinux,这里的命令我就不介绍了。百度就可以。

第二步:首先用命令行查看你的ftp-server有没有安装上,用命令:rpm -qa | grep tftp-server

技术分享

假设成功安装就会出现这样的提示信息。

第三步:假设没有安装,则用两条命令运行下面就可以:

yum install xinetd

yum install tftp-server

第四步:用命令查看有没有成功安装。即:

rpm -qa | grep tftp-server

成功以后,运行命令:

vim /etc/xinetd.d/tftp

技术分享

改动后的文件如上图。改动了两处位置。一处是server_args,指定在/tftpboot文件夹下,当然你之前要在根文件夹下新建一个tftpboot的文件夹,放在哪个文件夹由你定了;改的第二处位置是disable,表示“不使能吗”,当然要选no了,就是让他工作的意思。保存退出就可以。

还要注意要运行:chmod 777 /tftpboot,把tftp的文件夹的权限改一下

第五步:运行两个命令:

service xinetd restart或者运行

/etc/init.d/xinitd restart

然后用命令:netstat -a | grep tftp,查看tftpserver的状态,出现例如以下截图就可以:

技术分享

如今linux的tftp已经配置好了,接下来我们就分别在windows上和另外一台linux机器上測试了:

在windows上測试:

要确保windows的tftpclient已经打开,假设打开dos界面:你输入tftp命令,dos提醒你tftp“不是内部或外部命令,也不是可执行的程序”。那就如今windows上先做一小段的配置:配置步骤例如以下:先进入控制面板里的这个界面。然后点击”打开或关闭windows功能“,把tftpclient勾选上确定就可以。

技术分享

技术分享

如今你在dos界面里面输入tftp会出现例如以下界面:说明windows的tftp的client能够使用了。
技术分享
怎么使用主要是两个命令,第一个是从linux的tftpserver端下载文件:
命令: tftp 192.168.1.106 get b.c     ,这里的192.168.1.106是linux的server的ip,我windows的ip 是192.168.1.105
上传命令:tftp 192.168.1.106 put b.c m.c    
一開始我看这个put的上传命令认为非常奇怪。只是后来我最终想明确了。b.c是我windows文件夹C:\Users\Administrator文件夹下的一个文件,想把它上传到linux的/tftpboot文件夹下,只是为什么后面另一个main.c呢,假设我在linux的/tftpboot文件夹下没有main.c这个文件,先贴一张输入错误命令的指令的截图:

技术分享
以下我来分析一下错误出现的原因,一次输入 tftp 192168.1.106 put b.c,,,,,另外输入一次是tftp 192.168.1.106 put b.c m.c 两个命令的提示错误的信息是一样的。可是命令不一样,仅仅是第二个命令相差一个m.c文件,提示的错误信息都是”server上的错误:file not found“。再来看看tftp在dos以下的命令输入格式,

技术分享

看后面的样例,Uers19.txt是vax1的一个文件。所以才干用put命令传送文件,所以之前的错误命令应该知道怎么改了吧,即:如今linux中先用命令:vim m.c 保存退出,不用写什么东西。然后用dos 命令:tftp 192.168.1.106 put b.c m.c   执行就可以。

看执行截图:



技术分享

什么竟然还有错。提示”server上的错误: Permission denied“。就是m.c的权限写过了,那你在linux里chmod 777 m.c就可以。在次运行:


技术分享


这回是真的成功了,也能够查看windows的文件夹下b.c和linux的m.c文件的内容是同样的,这就完毕了文件的复制了。。





同理本人在另外一个linux上也能够通过相相应的put和get命令向192.168.1.106的tftpserver的linux上传和下载数据了, 只是你要上传一整个文件夹或下载一整个文件夹的话,是不行的,由于linux里面一切皆文件。你仅仅能上传一个或下载一个最简单的文件,里面不要包括子文件夹,所以要上传一整个project能够先把它用tar命令压缩一下,然后这样的文件最好仅仅在linux之间互传吧,linux传给windows一个压缩文件,总是会有点问题,所以你要传一个压缩文件。还是如今linux中互传吧。

或许你用的另外一个linux能够直接拖文件到windows呢。那不也是能够么。呵呵。尽管这么一整套下来,是有点麻烦,总之可行。

vmware里面的linux怎么和windows相互传文件