歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

從Linux命令行訪問Windows共享

Samba Project是一個開源項目,支持 Linux、UNIX 和其他類似 UNIX 的操作系統Windows 互操作。大部分 Linux 發行版的存儲庫中都包含 Samba,而且一般通過安裝和配置來支持 Linux 系統能夠加入一個現有的 Windows 工作組或域並與其互操作,常常用作一個可供 Windows 系統使用的通用互聯網文件系統 (Common Internet File System, CIFS) 文件服務器。Samba 4.x 安裝還允許 Samba 服務器充當 Windows 域的一個活動目錄域服務 (Active Directory Domain Service) 控制器和集成的域名系統 (Domain Name System)。

盡管 Samba 服務器提供了一種優秀機制來從 Windows 系統提供 Linux 資源,使 Linux 系統可打印到 Windows 打印機,但如果您感興趣的只是偶爾從 WIndows 共享檢索文件,安裝和配置 Samba 服務器可能會大材小用。Samba 客戶端包 (samba-client) 包含多個專為這類偶爾交互所設計的實用程序,包括 smbclient 應用程序,該應用程序提供了一個交互式命令行接口 (CLI) 來遠程訪問 Windows 共享。

如果不確定遠程 Windows 服務器上提供的共享名稱,則可使用 smbclient 應用程序查詢一個服務器,在服務器的名稱或 IP 地址後鍵入 -L 選項來列出該服務器上的可用資源,如 清單 1 中所示。

清單 1. 使用 smbclient 列出 Windows 服務器資源

$ smbclient -U barlowliu -L Barlow-pc
Enter barlowliu's password:
Domain=[CKING] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]

Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 遠程管理
C$ Disk 默認共享
D$ Disk 默認共享
E$ Disk 默認共享
F$ Disk 默認共享
IPC$ IPC 遠程 IPC
soft Disk
Domain=[CKING] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]

Server Comment
--------- -------
BARLOW-PC

Workgroup Master
--------- -------
CKING BARLOW-PC
MSHOME PC-20100408VZXV
WORKGROUP CKINGACC

注:-U指定遠程登錄的用戶名,-L後指定Windows 服務器。

確定希望連接到的共享的名稱後(如上述的soft共享),可使用 smbclient 應用程序連接到一個特定的共享,以檢查或檢索文件,如 清單 2 中所示。

清單 2. 使用 smbclient 從 Windows 共享中檢索文件

$ smbclient -U barlowliu //barlow-pc/soft
Enter barlowliu's password:
Domain=[CKING] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> ls
. D 0 Wed Mar 27 10:01:01 2013
.. D 0 Wed Mar 27 10:01:01 2013
OS D 0 Sat Apr 27 17:13:50 2013
辦公軟件 D 0 Wed Mar 27 14:11:32 2013
即時通訊 D 0 Wed Mar 27 09:53:40 2013
數據庫 D 0 Mon Jun 3 08:59:15 2013
浏覽器 D 0 Wed Mar 27 09:53:59 2013
系統工具 D 0 Wed Apr 24 15:24:18 2013

37501 blocks of size 4194304. 21943 blocks available

smb: \> cd 系統工具
smb: \系統工具\> ls
. D 0 Wed Apr 24 15:24:18 2013
.. D 0 Wed Apr 24 15:24:18 2013
Dell服務器軟件 D 0 Wed Apr 24 14:22:40 2013
Hypertrm D 0 Thu Mar 28 14:53:33 2013
NSCP-0.4.1.90-x64.msi A 29418492 Sun Apr 7 17:19:56 2013
putty D 0 Wed Mar 27 09:27:36 2013
vnc-4_1_3-x86_win32.exe A 741744 Wed Oct 15 17:14:08 2008
Windows Loader v2.2.1 D 0 Tue Jan 29 14:33:00 2013

37501 blocks of size 4194304. 21943 blocks available
smb: \系統工具\> get NSCP-0.4.1.90-x64.msi
getting file \系統工具\NSCP-0.4.1.90-x64.msi of size 29418492 as NSCP-0.4.1.90-x64.msi (836.7 KiloBytes/sec) (average 836.7 KiloBytes/sec)

清單 2 中的示例表明,smbclient 提供了一個 CLI 來連接遠程服務器。此接口支持熟悉的 Linux 命令,比如 cd(用於在遠程服務器上的目錄中移動)和 ls(用於列出給定目錄的內容)。找到希望檢索的文件後,可使用 get 命令檢索該文件,將其存儲在您希望從中執行 smbclient 的目錄中。要將檢索到的文件存儲在另一個目錄中,可使用 lcd(本地更改目錄)命令來更改 smbclient 視為當前目錄的目錄。

如果僅需要偶爾訪問 Windows 共享中的一個或多個文件,且並不關心使用文件管理器(比如 Gigolo、GNOME Nautilus、KDE Dolphin、Konqueror 或 Thunar)來以圖形方式浏覽 Windows 共享,那麼可以放心地使用 smbclient 應用程序。smbclient 應用程序使一個遠程共享可在該應用程序的上下文中使用,而不是在您的整個系統中使用。要浏覽 Windows 共享並將其提供給您選擇的應用程序,則必須采用掛載本地文件系統的相同方式將該共享掛載到您的系統上。

Copyright © Linux教程網 All Rights Reserved