歡迎您光臨本站 註冊首頁

Linux與Windows喜結連理

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

  作為一個新生事物,Linux吸引了不少眼球,但是它能否快捷、方便地與Windows資源共享,是一個很重要的問題。大家知道,Windows之間可以利用「網路鄰居」來實現資源共享,而Linux之間可以使用NFS來實現資源共享。那麼,Linux與Windows之間呢?

  Linux可以通過Samba來實現和Windows主機互通有無的。Samba採用Client/Server架構,執行Samba客戶端程序,就可以訪問Windows主機上的共享資源;而運行Samba伺服器,Windows主機就可以訪問Linux上的共享資源。下面以Red Hat 8.0為例,介紹在Linux環境里如何訪問Windows共享資源。

  安裝Samba

  如果不能確定是否已經安裝了Samba軟體包,可以在終端窗口執行以下命令進行查詢:
CODE:
$ rpm -qa | grep samba

  如果查詢結果出現如圖1所示的三個軟體包,則表示已經安裝Samba軟體包。





  圖一:查詢是否安裝Samba軟體包

  如果沒有安裝過Samba軟體包,則可以插入Red Hat 8.0第二張安裝光碟,然後按照下面的步驟進行安裝(以KDE環境為例):

  1. 滑鼠依次單擊主選單→系統設置→「軟體包」選單項,將會打開「軟體包管理」對話框。

  2. 在該對話框里找到「Windows文件伺服器」,確保已經勾選該選項,然後單擊對話框底部的「更新」按鈕,如圖2所示。

  3. 安裝Samba軟體包。





  圖三:安裝Samba軟體包

  整個過程非常簡單,系統會自動檢測軟體包之間的依賴性,完全不用操心。

  用命令方式訪問Windows

  安裝好Samba之後,就可以讓它大顯身手了。這裡先介紹如何用字元命令方式訪問Windows共享資源。

  1. 查詢Windows主機的共享資源

  查詢Windows主機的共享資源可以使用smbclient -L WindowsHostName命令。例如,要查詢一台名為Peter的Windows主機上的共享資源,可以在終端窗口輸入:
CODE:
smbclient -L Peter

  然後回車即可。該命令的具體使用方法如圖3所示。該命令可以準確地檢查出Windows主機的共享文件夾,並且對中文文件名的支持也很好。





  圖三:查詢Windows主機的共享資源

  2. 連接Windows主機的共享目錄

  我們可以使用「smbclient //WindowsHostName/ShareName」命令,連接Windows主機上的某個共享文件夾。如果該共享文件夾需要用戶名和密碼,則可以使用「smbclient //WindowsHostName/ShareName -U UserName」命令。例如,要連接Windows主機Peter上的共享目錄Share,可以在終端窗口輸入:
CODE:
smbclient //Peter/Share

  然後回車。如果連接成功,即可出現「smb:>」提示符,如圖4所示。在該命令提示符下輸入適當的命令,即可對所連接的共享目錄進行操作。





  圖四:連接共享目錄

  3. 對共享目錄進行操作

  Smb支持大約40個命令,可以很方便地對共享目錄進行刪除、重命名、切換目錄等操作。如果要列出共享目錄「Share」下的具體內容,可以使用ls命令。要刪除其下的test.txt文件,可以使用「del test.txt」命令。在「smb:>」提示符下輸入「help」命令,可以查看smb所支持的命令列表。鍵入「help 命令名稱」可以查看某個命令的簡單幫助。

  4. 映射網路驅動器

  我們知道,在Windows下可以將共享目錄映射為網路驅動器,這樣就可以把共享目錄當成本地文件夾使用。在Red Hat里也有類似的功能,可以藉助於smbmount命令來實現,具體的命令參數是「smbmount //WindowsHostName/ShareName /mnt/smbdir」。假設要將Windows主機Peter下的共享文件夾Share掛載到本地的/mnt/WinShare目錄下,具體步驟是:

  ◆ 首先在/mnt目錄下創建一個目錄,假設為/mnt/WinShare,將把Windows的共享目錄掛載到/mnt/WinShare下;

  ◆ 然後打開終端窗口,鍵入「smbmount //Peter/Share /mnt/WinShare」回車即可。

此時在文件管理器里打開/mnt/WinShare目錄,就可以看到共享目錄的內容。要卸載該映射目錄,可以使用umount命令,此處不再贅述。

  GNOME下的網路鄰居

  使用smbclient命令,可以很方便地對Windows主機共享目錄進行查詢和其它操作。但是,大家已經習慣了Windows圖形界面,使用命令總感覺不太方便。其實在Red Hat裡面,也一樣可以使用圖形界面對Windows共享目錄進行操作。這裡介紹一位「幕後英雄」——Nautilus,它可算是GNOME環境里的Shell(相當於Windows下的Explorer)。Nautilus既是Red Hat的文件管理器,又可以充任瀏覽器,還可以播放多媒體文件、瀏覽圖片等。它現在又多了一個職責,就是擔當Linux下的網路鄰居。

  要打開Nautilus窗口,只需雙擊GNOME桌面上的主目錄圖標即可。要查詢Windows工作組裡的主機,可以在Nautilus窗口的地址欄(Location)里輸入「smb://工作組名稱」,然後回車即可。圖5顯示了工作組Workgroup里的兩台主機「Peter」和「Sai」。





  圖五:在Nautilus窗口裡查詢Windows主機

  雙擊其中的某台Windows主機圖標,即可看到該主機的共享文件夾。這樣所看到的和Windows下的網路鄰居幾乎一樣,如圖6所示。





  圖六:查看主機Peter下的共享目錄

  由於Nautilus本身就是Red Hat的文件管理器,所以可以任意往Windows共享目錄里拷貝文件、刪除文件、創建目錄等。不過Nautilus還是有不少缺點的,例如對中文支持不是很好,不能正確顯示中文的文件名,不支持直接掛載Windows共享目錄,並且在KDE環境下不能使用等。

  第三方的網路鄰居

  在KDE下要實現網路鄰居,可以採用第三方的工具軟體xfsamba。xfsamba的最新版本是0.47版,只有1MB多,可以到http://linux.imp.mx/xfsamba/archive/下載它的RPM版本。這裡要注意的是,xfsamba是以Samba為基礎的,所以必須事先安裝好Samba軟體包。假設軟體包保存在/tmp目錄下,則可以使用如下命令來安裝:
CODE:
cd /tmp
rpm -ivh xfsamba*

  安裝完畢后,在終端窗口輸入xfsamba回車即可打開該程序窗口。為了方便啟動該程序,可以在桌面上建立一個快捷方式:

  ◆ 用滑鼠右鍵單擊KDE桌面空白處,然後依次單擊彈出選單上的新建→應用程序鏈接選單項,即可打開連接屬性對話框。

  ◆ 在該對話框的常規標籤頁,可以指定該鏈接的名稱(例如xfsamba)、圖標等;然後切換到許可權標籤頁,選中全部「讀取」、「寫入」、「執行」複選框。在「執行」標籤頁,可以指定xfsamba程序的路徑(/usr/bin/xfsamba),如圖7所示。





  圖七:創建快捷方式

  作為一款第三方的工具軟體,xfsamba的功能非常強大,不但可以對Windows共享資源進行查看、複製、粘貼、刪除等操作,而且還可以直接將Windows共享目錄映射為本地目錄。更重要的是,0.47版本的xfsamba完全是中文界面。

  1.文件拖放功能

  利用xfsamba可以很方便地在共享目錄和本地目錄之間實現文件拖放。不過,此處最好使用xfsamba自帶的本地文件瀏覽器xftree。單擊xfsamba工具欄上的「xftree」按鈕,即可打開本地文件瀏覽器,如圖8所示。





  圖八: xfsamba可以很方便地在共享目錄和本地目錄之間實現文件拖放

  2.掛載共享目錄

  xfsamba可以很方便地把共享目錄掛載到本地文件系統。只需選中Windows主機上的某個共享目錄,然後用滑鼠依次單擊「工具」選單→「Mount remote share」選單項,即可打開一個對話框。xfsamba會自動將遠程共享掛載到/tmp/xfsamba/RemoteShareName目錄下,其中的RemoteShareName代表Windows共享目錄的名稱,如圖9所示。





  圖九:掛載共享目錄

  xfsamba儘管有許多優點,但和Nautilus一樣對中文文件名支持不好。如果企圖訪問Windows主機上的中文文件夾,xfsamba會提示為「NT_STATUS_BAD_NETWORK_NAME」。當然總的來說是瑕不掩瑜,希望下一版本的xfsamba能夠解決這個問題。

[火星人 ] Linux與Windows喜結連理已經有338次圍觀

http://coctec.com/docs/linux/show-post-134917.html