簡介
國內(nèi)很多用戶習(xí)慣于使用 windows 系類操作系統(tǒng)贝椿,然而其中部分人員需要使用 ubuntu 進(jìn)行一些開發(fā)測試,但他們并不想完全脫離 windows 系統(tǒng)陷谱,這時候虛擬機(jī)滿足了他們的需求烙博,虛擬機(jī)以安裝配置簡單,鏡像還原起來方便安全烟逊,而被廣大學(xué)習(xí)愛好者所喜愛渣窜。但有些時候,需要將真實(shí)機(jī)中的一些文檔或者數(shù)據(jù)傳輸?shù)教摂M機(jī)中宪躯,而如何實(shí)現(xiàn)虛擬機(jī)同真實(shí)機(jī)的共享往往是一些初學(xué)者頭痛的事情乔宿。下面我列舉出幾種方法,可以滿足解決這些問題访雪。
以下的大多數(shù)方法详瑞,同樣不僅適用于虛擬機(jī)和真實(shí)機(jī)之間交換文件,同樣適用于同一個交換機(jī)/路由器下的不同主機(jī)進(jìn)行通訊臣缀。
通過網(wǎng)盤進(jìn)行傳輸
首先可以參照我之前寫的橋接坝橡、nat、host-only 上網(wǎng)方式的區(qū)別里面介紹了如何配置虛擬機(jī)上網(wǎng)精置,一般虛擬機(jī)上方較為方便计寇,如:vmware 或者 virtualbox 之類的都可以一鍵安裝系統(tǒng),即便手動安裝,通過虛擬機(jī)拓展工具也都可以補(bǔ)全網(wǎng)卡顯示上網(wǎng)的番宁。如果對你所使用的linux發(fā)行版不是太熟悉元莫,且極少傳輸文件的話,可以使用這種方法蝶押。推薦使用百度云之類的網(wǎng)盤踱蠢,先將本地數(shù)據(jù)文件上傳,然后再通過 linux 中的瀏覽器將數(shù)據(jù)文件下載下來播聪。這種方式的好處是無需學(xué)習(xí)朽基,沒有門檻,不需要了解任何 linux 的知識离陶,只需要當(dāng)做一個桌面系統(tǒng)使用即可稼虎,壞處顯而易見:1.依賴外網(wǎng),2.機(jī)密文件不方便上傳招刨,3.必須上傳下載霎俩,大型文件速度慢。
進(jìn)行以下幾種方法前建議先關(guān)閉 linux 和 windows 的防火墻
通過虛擬機(jī)擴(kuò)展直接拖動
一般虛擬機(jī)中的 linux 安裝擴(kuò)展插件就可以直接將 windows 下的文件托進(jìn)linux去了沉眶,或者將 linux 的文件拖到 windows 下打却,但前提要求是:需要虛擬機(jī)和操作系統(tǒng)的內(nèi)核版本兼容,各方面切合度高谎倔,能夠完美支持的情況下柳击,最好使用虛擬機(jī)要和兩個操作系統(tǒng)都是同一時期發(fā)型的,推薦是使用新版 windows片习,最新版虛擬機(jī)還有最新發(fā)行版的 linux 系統(tǒng)捌肴。
通過scp命令
Linux 與 Linux 之間傳送文件,使用 scp 命令藕咏,這是一種基于 ssh 的方式状知,因此兩個系統(tǒng)都必須要支持ssh協(xié)議,安裝方式:
- ubuntu:
sudo apt-get install ssh或sudo apt-get install openssh-server
孽查,sudo /etc/init.d/ssh restart
重啟ssh服務(wù)饥悴,其他發(fā)行版該命令未必適用。查看ssh服務(wù)是否啟動,ps –e | grep ssh
盲再,響應(yīng)的sshd和ssh-agent如果未打開則運(yùn)行指令名字西设。 - windows系統(tǒng)本身不支持ssh協(xié)議,所以答朋,要想上面的命令成功執(zhí)行贷揽,必須在windows客戶端安裝ssh for windows的客戶端軟件,比如WinSCP(開源)绿映,winsshd,使windows系統(tǒng)支持ssh協(xié)議才行。
從linux系統(tǒng)復(fù)制文件到windows系統(tǒng):
scp /tmp/a.txt administrator@192.168.3.181:/d:/
在linux環(huán)境下叉弦,將windows下的文件復(fù)制到linux系統(tǒng)中:
scp administrator@192.168.3.181:/d:/test/config.ips /tmp
丐一。scp的方法于只安裝了 CLI 的 linux 版本使用,所有操作無需圖形界面淹冰,且能夠在 linux 下完成库车。另外該方法也并非任何地方都能夠完成,和虛擬機(jī)擴(kuò)展類似樱拴,對系統(tǒng)環(huán)境有一定要求柠衍,尤其是一定要找到可用的 windows 下的 ssh 協(xié)議,往往是 linux 的 ssh 完美運(yùn)行晶乔,但無法登陸 windows珍坊。
通過 WinSCP 軟件
該軟件主要就是實(shí)現(xiàn)同一網(wǎng)段內(nèi)的 windows 和 linux 的數(shù)據(jù)互傳,本質(zhì)上應(yīng)該和scp命令原理是相同的正罢,好處是圖形化界面操作簡單阵漏,登陸后無需再輸入指令。WinSCP 是一個支持 SSH(Secure SHell)的 SCP(Secure CoPy)文件傳輸軟件翻具。只要文件主機(jī)支持 SSH 協(xié)定履怯,你就可以安心的下載、上傳文件裆泳。他的操作界面是參考NC(Norton Commander)的雙視窗排列方式叹洲,使用起來不會有太大的困難。在 WinSCP 中工禾,一般的文件操作都沒有問題运提,如:復(fù)制、移動帜篇、更名文件或文件夾等糙捺。
輸入主機(jī)名,用戶名笙隙,密碼洪灯,點(diǎn)擊保存。通過下圖中的界面竟痰,實(shí)現(xiàn)登陸:
![](https://raw.githubusercontent.com/noparkinghere/noparkinghere.github.io/master/img/2016-09-26-windows7%E5%92%8C%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E7%9A%84ubuntu%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/1.jpg)
第一登陸的時候签钩,會告訴你服務(wù)器的主秘鑰不再緩存中,確認(rèn)修改后坏快,即可遠(yuǎn)程登陸铅檩,另外如果使用root用戶的話,新安裝的ubuntu系統(tǒng)需要設(shè)置 root 密碼莽鸿,以及修改ssh的配置文件:sudo vi /etc/ssh/sshd-config
昧旨,將 PermitRootLogin 修改為 yes拾给。重啟ssh服務(wù):sudo /etc/init.d/ssh restart
文件的上傳與下載跟 Windows 的資源管理器差不多了,如果要編輯目錄或文件兔沃,只要右鍵就會出相應(yīng)的可選的項(xiàng)目蒋得。下圖為登陸后的資源管理界面:
![](https://raw.githubusercontent.com/noparkinghere/noparkinghere.github.io/master/img/2016-09-26-windows7%E5%92%8C%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E7%9A%84ubuntu%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/2.jpg)
通過虛擬機(jī)共享文件夾的方式
安裝 VMware tools 或者 virtualboxaddition 等工具
- 在VMware 虛擬機(jī)界面,點(diǎn) VM->Install VMware Tools乒疏。之后额衙,點(diǎn)擊 Ubuntu 窗口中主文件 按鈕然后再左邊會看見設(shè)備里有 VMware tools 文件夾,雙擊之怕吴,并且解壓其中的壓縮文件窍侧,把它拷貝到主文件夾
- 打開 Terminal 終端,進(jìn)入解壓的文件夾中转绷,輸入以下命令:
sudo tar zxf VMwareTools-xxx.tar.gz (注:xxx為版本號)
cd /vmware-tools-distrib
sudo ./vmware-install.pl
安裝過程中一直按enter即可伟件,或者輸入【】提示yes和no,直到安裝完畢暇咆。
- 查看結(jié)果:lsmod | grep vmblock
設(shè)置共享文件夾的目錄
- 將 Ubuntu 關(guān)機(jī)(power off)锋爪,否則不能添加共享文件夾
- 在 VMware 虛擬機(jī)窗口,選擇VM->Settings->Options->Shared Folders
- 點(diǎn)右邊的 Add爸业,點(diǎn)Next->選擇 Win7 共享目錄的路徑其骄,然后點(diǎn) Next-> 選中 Enable this share->Finish
- 在 VM->Settings->Options->Shared Folders 窗口的右邊,F(xiàn)older sharing 欄里選擇 Always enabled
- 點(diǎn) OK 確定退出
在 Ubuntu 虛擬機(jī)下安裝插件
- 執(zhí)行 sudo apt-get install open-vm-dkms (注:如果無法查到open-vm-dkms扯旷,則可能更名為:open-vm-tools-dkms)
- 執(zhí)行 sudo mount -t vmhgfs .host:/ /mnt/hgfs
- cd /mnt/hgfs
注意:即便完成了這個方法的所有步驟也未必能夠完成共享文件夾拯爽,同虛擬機(jī)擴(kuò)展直接拖動類似,該方法對系統(tǒng)和虛擬機(jī)切合度要求較高钧忽,vmtools 和 ubuntu 內(nèi)核存在版本不兼容的問題毯炮,mount 經(jīng)常支持不夠好。也就是說同樣的方法耸黑,相同的步驟桃煎,有的人輕松就可以實(shí)現(xiàn),有的需要不斷的去修補(bǔ) linux 的腳本頭文件等大刊,當(dāng)然解決是一定可以解決为迈,但往往較為麻煩,如果該方法不行缺菌,建議嘗試其他方法葫辐。
總結(jié):
通過 scp 命令和通過虛擬機(jī)共享文件夾的方式并不推薦,建議首先嘗試安裝虛擬機(jī)擴(kuò)展工具伴郁,如果可以直接拖拽文件則問題已解決耿战,無需參考文章中的方法,如果不行的話焊傅,推薦通過 WinSCP 軟件來操作剂陡,適用的場景多且不容易出錯狈涮,本人嘗試過如 centos 6.5,ubuntu 16.04 等多個主流操作系統(tǒng)鸭栖,均可以實(shí)現(xiàn)傳輸薯嗤。
參考鏈接:
http://huangfuff.blog.51cto.com/2632203/1604500
https://my.oschina.net/u/811744/blog/179229
https://www.centos.bz/2011/03/windows-linux-transfer-data-tool-winscp/
http://blog.csdn.net/warringah1/article/details/8927437
http://fancyseeker.github.io/2013/12/31/ssh_connect/
http://blog.csdn.net/lulitianyu/article/details/50446015