2009年10月25日 星期日

Ubuntu密技 - 自命令列連結分享資料夾

如果在辦公室或者家裡,使用者擁有多台電腦,極可能會經由共享的文件夾來互相存取。Ubuntu可由Places (在正體中文環境稱為「位置」) → Network (在正體中文環境稱為「網路」)選單查看存取同一個網路內的其他電腦。

但是如果想由命令列來存取共享的文件夾,還是有一點點小小的問題。一旦經Nautilus存取過的共享文件夾,它會被自動掛載到家目錄(/home)之下的.gvfs隱藏文件夾。如果桌面沒有開啟或者共享文件夾沒有掛載,就會無法再存取。

在這種情況下,使用者可以安裝smbclient套件,它提供了一種近似FTP通訊協定的共享文件夾存取方式,其指令也非常近似於FTP指令。

  1. smbclient-L參數可列出欲連接的電腦上的所有分享資源。欲連接的電腦可以用其名字或IP住址來指定。若不知道Windows電腦名稱,先用滑鼠右鍵單擊My Computer (繁體中文版稱為「我的電腦」)圖示,自右鍵選單中選取Properties (繁體中文版稱為「內容」),再選取Computer Name (繁體中文版稱為「電腦名稱」)分頁,就可以查到電腦名稱,甚至是修改電腦名稱。若不知道Windows電腦的IP住址,由DOS提示號下鍵入ipconfig,就可以查到IP住址。
  2. 知道電腦的名字之後,例如alfred-windows,鍵入命令:
    $ smbclient -L alfred-windows
    使用者若在Windows電腦的分享資源設有密碼,稍後可能會被要求輸入密碼。否則直接按下Enter鍵,即可列出可分享的檔案夾。注意:使用者無法連到某一個電腦後,在那裏自由的切換不同的目錄,必須分別指定掛載。所以務必看清楚和記清楚。
  3. 連結(掛載)的命令也可能令新手有點不習慣,因為smbclient像Windows一樣,在地址中使用\(反斜線),而Ubuntu/Linux則是使用/(正斜線)。這麼一來就有麻煩了,反斜線在Ubuntu/Linux的命令列中表示特殊字元,其意義要與下一個字元合起來才能決定。如果真的要用到反斜線,那就要輸入兩次,也就是\\代表一個反斜線。因此若要連結至\alfred-windows\sharefolder\,則鍵入命令:
    $ smbclient \\\\alfred-windows\\sharefolder\\
  4. 如果共用檔案夾的名字含有特殊字元怎麼辦呢?例如:\alfred-windows\accounts 2009!\,同樣的,在特殊符號之前加上反斜線即可。
    $ smbclient \\\\alfred-windows\\accounts\ 2009\!\\

密技以Ubuntu 8.04長期支援版本(Hardy Heron)測試,有可能不適用於新版本,或需做配合微調。

0 留言:

張貼留言