1. 程式人生 > >vmware裏面的linux怎麽和windows相互傳文件

vmware裏面的linux怎麽和windows相互傳文件

做的 控制 pan vmw http mini water pbo etc

我們常常遇到這樣的問題。高版本號的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相互傳文件