1. 程式人生 > >用mount掛載遠端Windows共享資料夾進行檔案拷貝的方法

用mount掛載遠端Windows共享資料夾進行檔案拷貝的方法

機器環境 :

機器一:Windows的IP地址是 192.168.1.19 ,機器名是 L09
在上面有個超級管理員 BNNB ,這個使用者是存在的,用的系統是Windows 2003 ,共享資料夾是winsoft 
機器二:slackware 

先看一下Windows的機器是哪些東西共享了?

QUOTE:

bash-3.00# smbclient   -UBNNB   -L 192.168.1.19
Password: 在這裡輸入你的WINDOWS賬戶BNNB的密碼吧。
Domain=[L09] OS=[Windows Server 2003 3790] Server=[Windows Server 2003 5.2]

       Sharename    Type    Comment
       ---------    ----    -------
       E$              Disk    ─ winsoft       Disk
       IPC$          IPC          D$              Disk    ─ F$       Disk    ─ ADMIN$       Disk          C$              Disk ─session request to 192.168.1.19 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[L09] OS=[Windows Server 2003 3790] Server=[Windows Server 2003 5.2]

       Server             Comment
       ---------          -------

       Workgroup          Master
       ---------          -------
bash-3.00#
通過上面我們知道 winsoft在L09這臺機器上的確是共享了,那我們用什麼辦法來mount到本地機上呢。。

用下面的辦法

QUOTE:

bash-3.00# mount -t smbfs -o username=BNNB   //L09/winsoft   /mnt/macos/
Password:在這裡輸入密碼
看一下是不是mount進來了??

QUOTE:

bash-3.00# ls /mnt/macos/

工作日誌   公司備份   公司檔案   軟體   五一值班安排.doc   宣傳資料   值班表(10月-12月).xls
bash-3.00#
也可以把 passwd 直接作為引數傳遞

mount -t smbfs -o username=BNNB,passwd=xxxx //L09/winsoft /mnt/macos/


Windows 的名字解析機制很爛,有時候不能正常把 NETBIOS 名稱解析成 IP 地址,Windows 下的表現就是有些機器可以看到,有些機器看不到什麼的。所以你也可以直接把 IP 地址作為引數

mount -t smbfs -o username=BNNB,passwd=xxxx,ip=xxx.xxx.xxx.xxx //L09/winsoft /mnt/macos/

如果你的系統是win2k/xp的unicode系統, 要用cifs才能解決亂碼問題, 不然強加cp936的話, 除了gb編碼外的cjk文字都會亂碼,請參考這行指令:

mount -t cifs //192.168.1.1/winsoft /mnt/macos/ -o username=BNNB,iocharset=utf8