Linux怎样访问Windows共享文件和文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux怎样访问Windows共享文件和文件夹相关的知识,希望对你有一定的参考价值。

在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题。
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相关帮助即可。
参考技术A 挂载共享文件夹:mkdir/mnt/winmount-tcifs//192.168.0.100/test/mnt/win-ousername=administretor输入WINDOWS账户密码,这样Windows下的test文件夹就挂载到/mnt/win目录下了 参考技术B 挂载共享目录
mount -t cifs -o username=<username>,password=<password>,file_mode=0777,dir_mode=0777 //windows_server/sharename /mnt/winshare本回答被提问者采纳

VirtualBox内Linux系统怎样与Windows共享文件夹

共享windows的话,可以建立 ftp服务器 或者直接共享
在linux上通过ftp登录或者使用smbclinet直接连接windows

如果是windows访问linux的,可以在linux上建立 samba或者vsftp服务。
参考技术A 基本步骤:(xp 为 host, Ubuntu为 guest)1. 启动ubuntu, 然后先virtualbox的安装增强功能,菜单:“设备(D)”-> "安装增强功能";然后进入ubuntu 系统,安装Vboxadditions_.iso, 重启ubuntu

安装命令如下:
mount /dev/cdrom 挂载光驱,如果已加载则会提示相应挂载光驱的目录
cd /mnt/cdrom 进入光盘
sudo sh ./VBoxLinuxAdditions-x86.run vfs-module
reboot 安装成功后需要重启系统

2. virtualbox 管理器:菜单 “设备(D)”->“ 分配数据空间” ,选择xp 的共享目录,要是英文的目录名(否则会出问题),比如: d:/study;
3. 在终端运行:
sudo mkdir /mnt/share
sudo mount -t vboxsf study /mnt/share
ls - /mnt/share
4. over!
如果权限不够就用sudo
dir /sbin/mount.* 确认/sbin/mount.vboxsf存在
lsmod | grep vboxvfs 查看vboxvfs模块是否加载,若加载,会显示两个文件;如果没有加载,执行sudo modprobe vboxvfs命令加载
sudo mount -t vboxsf SHARENAME MOUNTFOLDER。其中,SHARENAME是XP中共享文件夹的名字,MOUNTFOLDER需要你事先创建好,一般在‘/mnt’目录

如果不想每一次手动挂载,可以在/etc/fstab中添加一项。share /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0

这样就可以自动挂载了。

mount -t vboxsf mntshare /mnt/bdshare/
将windows下的mntshare目录挂载在linux中/mnt/bdshare目录下

vim /etc/fstab
自启动选项设置

mntshare /mnt/bdshare vboxsf rw,gid=110,uid=1100,auto 0 0

将windows下的mntshare目录挂载在linux中/mnt/share目录下

以上是关于Linux怎样访问Windows共享文件和文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Linux怎样访问Windows共享文件和文件夹

Linux怎样访问Windows共享文件和文件夹

怎样用Samba实现windows和linux之间文件的网络访问

Linux怎样访问Windows共享文件和文件夹

怎样用Samba实现windows和linux之间文件的网络访问

怎样在Linux上访问samba共享文件?