Linux访问Windows共享或者Linux共享资料给Windows时,其实都是在使用一个叫做Samba的软件,这个软件已经使用多年,稳定性和可靠性得到了很好的验证,也是很多网络NAS常用的软件。
我们这里要讲的Linux需要用到的工具就是Samba软件中的一种,samba-client。
在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。
如果samba-client没有安装,就需要使用命令“yum install samba-client”安装一下,yum会自动安装samba-client所需的相关依赖库,安装时选择Y就行了。
针对常见的Debian Linux发行版,如Ubuntu或CentOS,也可以使用“sudo apt-get install smbclient”和“sudo apt-get install smbfs”安装相应的共享访问工具。
准备停当,就可以尝试访问Windows共享文件夹了。我们可以首先使用“smbclient -L //IP地址 -U 用户名”查看一下该用户共享权限下的共享情况。其中不带“$”的那个,就是我们可以访问的共享文件夹了,其中“-U”是用来指定查询共享权限的用户名的
Linux将共享文件夹也是当作磁盘资源对待的,因此需要使用mount工具将其挂载到本地文件空间才可以访问,这一点就像Windows常用的网络磁盘映射是一样的。
因此,首先我们需要创建一个挂载点,也就是在本地目录空间中创建一个挂载目录,如“mkdir -p /mnt/MYSHARE”。
挂载点创建之后,就可以使用mount命令挂载共享文件夹了,“mount -t cifs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名称/共享目录”,其中cifs使用Linux常用的网络文件类型,也可以使用smbfs,以系统可以识别为准,如Ubuntu常见命令就是“sudo mount -t smbfs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名称/共享目录”。“-o”表示挂载参数,常见的是需要提供共享的用户名和密码,另外需要注意的是iocharset和codepage,这两个参数是用来解决系统之间的字符编码转换的,如果出现乱码的情况,是需要调整这两个参数的,针对简体中文,使用utf8和cp936一般都可以解决问题,关于字符编码已经超出了本经验的范围。
挂载完成之后,就可以像使用本地文件目录一样访问Windows共享文件夹和文件
当然,Linux也有图形化的资源管理器,挂载之后,资源管理器也可以正常访问的。进入Linux桌面,打开“我的电脑”。
然后就可以像浏览本地文件一样,浏览共享的Windows文件夹和文件了,与命令行并没有太多的差异。
Windows共享资料使用完毕之后,也可以将其使用umount命令卸载,卸载就很简单了,直接使用“umount /mnt/MYSHARE”就可以了,其中MYSHARE是就是我们前面创建的挂载点了。
如果以后不需要,也可以将挂载点删除的。
挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。
如果希望Linux开机自动挂载Windows共享文件夹,则需要将挂载命令添加到Linux的“/etc/fstab”,也就是将前述的命令参数按照fstab的要求添加到fstab里面,这里就不再展开了,详情参考fstab相关帮助即可
这个要分两大步来做:以VMware
Workstation为例
(其他虚拟软件类似):
1.
在虚拟机设置里面设置主机文件夹共享。
首先确认你的虚拟机安装了Vmware
Tools,并且已经在Linux里面设置了相应的用户访问权限,然后在关闭虚拟机,编辑虚机的属性:
选择
VM
>
Settings.
在
Options下面选择Shared
Folders.
各种设置默认即可,直接点击Add添加一个Shared
Folder
,然后跟随wizard指定要共享给虚机的文件夹,比如
D:\share。
然后给这个文件夹设置一个在虚拟机里面的显示名称,如D-Share。
勾上“启用共享”,“只读”那里根据需要选择。
点击OK,确认。
2.
在Linux虚拟机里面装在共享文件夹。
现在开启Linux虚机。
在Linux下面,这种共享文件夹被识别为hgfs格式。因此开机后,可以使用下面的命令加载主机上的共享文件夹:
mount
-t
vmhgfs
.host:/D-Share
/home/userxx/d-share
这样在Linux的/home/userxx/d-share路径下,就可以看到Win7主机上面D:\share下面的文件了。
vfat,windows下叫fat32,最大支持4G文件。不符合你的要求。如果只有你上面说的三个系统的话,建议直接ntfs就行了,centos支持ntfs(linux叫ntfs-3g)。另一个选择是exFat,这个就是fat32的扩展,ms当时就是设计来解决大容量U盘fat32不支持的。最后一个方法是用linux原生的ext(2,3,4)格式,windows安装相应的程序也可以支持。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)