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

时间:2024-04-07 17:14:28

一、假设Win的配置如下:

主机名:PC-20121022VZUR; 使用Linux的smclient来访问Win提供的共享目录图一
IP地址:10.8.8.181; 使用Linux的smclient来访问Win提供的共享目录图二
把E:\film开启了共享; 使用Linux的smclient来访问Win提供的共享目录图三


二、要是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用户的家目录。



转载于:https://my.oschina.net/michaelyuanyuan/blog/109107