一、假设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 AdministratorEnter 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.mp4getting 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