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

我们经常遇到这种问题,高版本的vmware遇到低版本的linux,使用起来就比较抠脚,比如低版本的linux安装在高版本的vmware里,

1.不能全屏显示虚拟机

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

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

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

1.建立共享目录

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

3.建立linux的tftp,也就是把linux当做tftp的服务器

我只试过以上三种方法,其他的没有试过,暂时不在这里面讨论。

下面我说一下各自的优点缺点,第一种建立共享目录的方法,我只是在fedora中试过,这个是看着视频做的,视频是通过图形界面来操作的,不过建立共享目录只是针对这款fedora比较实用,你很难把它移植到其他版本的linux的中,当然这只是对于我这种linux技术不是很好的人来说的。所以针对这种移植性不好的方法我就舍弃了。第二种方法,我是想在windows上建立一个ftp服务器,然后你的linux当做客户端,上传文件到windows上的服务器中,之后的windows上的文件就由你怎么处置了,不过当我想从linux上传送一个文件夹到windows的ftp服务器上去的时候,出现了两个问题,第一个,我想传送一个没有被压缩的文件夹是传送不进去的,只能单个的传送,所以你想传送一个整个的文件的话,你就必须想办法先把它在linux中做成一个压缩文件,然后即可在命令行中传送,这样看似是可行的,不过问题是,我linux中通过命令行传送过去的文件,在windows的ftp上打开会出现异常,不管是普通的.c,.txt文件还是你已经压缩过的tar.bz2文件等等,都会出现这种异常,具体什么原因我也不清楚,可能是windows自带的ftp有点问题吧,哈哈。两个windows之间互传文件是没有问题的。

所以针对以上两种方法的种种缺点,我这里强烈推荐一种方法,也就是用第三种方法,在linux中建立一个tftp服务器,建立这个tftp服务器的过程那可不是通过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

vmware里面的linux怎么和windows相互传文件_第1张图片

修改后的文件如上图,修改了两处位置,一处是server_args,指定在/tftpboot目录下,当然你之前要在根目录下新建一个tftpboot的目录,放在哪个目录由你定了;改的第二处位置是disable,表示“不使能吗”,当然要选no了,就是让他工作的意思。保存退出即可。还要注意要执行:chmod 777 /tftpboot,把tftp的目录的权限改一下

第五步:执行两个命令:

service xinetd restart或者执行

/etc/init.d/xinitd restart

然后用命令:netstat -a | grep tftp,查看tftp服务器的状态,出现如下截图即可:

vmware里面的linux怎么和windows相互传文件_第2张图片

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

在windows上测试:

要确保windows的tftp客户端已经打开,如果打开dos界面:你输入tftp命令,dos提醒你tftp“不是内部或外部命令,也不是可运行的程序”,那就现在windows上先做一小段的配置:配置过程如下:先进入控制面板里的这个界面,然后点击”打开或关闭windows功能“,把tftp客户端勾选上确定即可。

vmware里面的linux怎么和windows相互传文件_第3张图片

vmware里面的linux怎么和windows相互传文件_第4张图片

现在你在dos界面里面输入tftp会出现如下界面:说明windows的tftp的客户端可以使用了。
vmware里面的linux怎么和windows相互传文件_第5张图片
怎么使用主要是两个命令,第一个是从linux的tftp服务器端下载文件:
命令: tftp 192.168.1.106 get b.c     ,这里的192.168.1.106是linux的服务器的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这个文件,先贴一张输入错误命令的指令的截图:

vmware里面的linux怎么和windows相互传文件_第6张图片
下面我来分析一下错误出现的原因,一次输入 tftp 192168.1.106 put b.c,,,,,另外输入一次是tftp 192.168.1.106 put b.c m.c 两个命令的提示错误的信息是一样的,但是命令不一样,只是第二个命令相差一个m.c文件,提示的错误信息都是”服务器上的错误:file not found“,再来看看tftp在dos下面的命令输入格式,

vmware里面的linux怎么和windows相互传文件_第7张图片

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



vmware里面的linux怎么和windows相互传文件_第8张图片

什么居然还有错,提示”服务器上的错误: Permission denied“,就是m.c的权限写过了,那你在linux里chmod 777 m.c即可,在次执行:


vmware里面的linux怎么和windows相互传文件_第9张图片


这回是真的成功了,也可以查看windows的目录下b.c和linux的m.c文件的内容是相同的,这就完成了文件的复制了。。。





同理本人在另外一个linux上也可以通过相对应的put和get命令向192.168.1.106的tftp服务器的linux上传和下载数据了, 不过你要上传一整个目录或下载一整个目录的话,是不行的,因为linux里面一切皆文件,你只能上传一个或下载一个最简单的文件,里面不要包含子目录,所以要上传一整个工程可以先把它用tar命令压缩一下,然后这种文件最好只在linux之间互传吧,linux传给windows一个压缩文件,总是会有点问题,所以你要传一个压缩文件,还是现在linux中互传吧。也许你用的另外一个linux可以直接拖文件到windows呢,那不也是可以么。呵呵,虽然这么一整套下来,是有点麻烦,总之可行。

你可能感兴趣的:(Linux)