您的位置:首页 > 运维架构 > Linux

使用Linux的smclient来访问Win提供的共享目录

2013-02-19 00:00 507 查看

一、假设Win的配置如下:

主机名:PC-20121022VZUR;


图一

IP地址:10.8.8.181;


图二

把E:\film开启了共享;


图三

二、要是Linux通过smbclient来访问Win的共享,要做如下几步:

1.先在Linux端探测,找出Win端的这个E:\film共享到底叫做什么名字,这里的意思就是说,你共享某个目录,然后这只是一个共享(名字可以任意),当你共享另一个目录时,那又是另一个共享。所以我们需要去探测究竟共享出来给客户端看到的名字是什么。

[root
@localhost /]#
smbclient -L //PC-20121022VZUR -U Administrator
//这里-U是指定Win端开放
某目录共享时,enable的用户名

Enter Administrator's password:
//这里输入用户名的密码

Domain=[PC-20121022VZUR] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]

Sharename Type Comment

--------- ---- -------

ADMIN$ Disk 远程管理

C$ Disk 默认共享

D$ Disk 默认共享

E$ Disk 默认共享

film Disk
//这个就是我们侦测到的结果,原来E:\film共享后的名字叫做film

IPC$ IPC 远程 IPC

Users Disk

Domain=[PC-20121022VZUR] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]

Server Comment

--------- -------

Workgroup Master

--------- -------

[root
@localhost /]#

2.然后登陆到Win端的film共享上去:

[root
@localhost /]#
smbclient //PC-20121022VZUR/film -U Administrator

Enter Administrator's password:
//这里输入用户名的密码

Domain=[PC-20121022VZUR] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]

smb: \>
//请注意,这里的prompt都变了,之前是"[root@localhost /]# "的,现在是"smb: \> "

3.接下来就可以从film共享里面拉去文件到Linux指定的目录了,在"smb: \> "的界面,我们可以使用常见的shell命令:ls等等。

smb: \>
get Homeland.S02E12.mp4 /home/michael/Homeland.S02E12.mp4
//使用get命令,把film共享
下的Homeland.S02E12.mp4 拷贝到当前Linux系统的/home/michael/Homeland.S02E12.mp4

getting file \Homeland.S02E12.mp4 of size 317533276 as /home/michael/Homeland.S02E12.mp4

(1370.0 KiloBytes/sec) (average 1370.0 KiloBytes/sec)

smb: \>
//你要等文件传输完毕才能看到这行,意思说传输过程中,当前prompt是阻塞的

PS:

1.Win的文件里面很容易出现空格,例如:想进入Youku Files目录,应该输入cd Youku\ Files才行,意思就是空格用 back slash+空格 替代。
2.当Win的文件名里面出现汉字时,会无法访问,暂时我通过改名成英文来逃避。3.get 后面不带目的地路径,会放到当前Linux用户的家目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  samba