Windows与Linux文件系统互访的几种方法

栏目: 后端 · 发布时间: 7年前

内容简介:首先,我们知道基于文件的几种服务:ftp,sftp,这两种服务都是文件传输服务,偏重于网络传输,并不是实时互访。通常,我们需要在远程和本地同时操作同一个目录,如:在Windows下使用各种强大的IDE编辑代码,在Linux下编译和运行该代码。如果在Windows下编写好代码再拷贝到Linux下编译,这样修改时很费事,直接在Linux下修改,还要同步回Windows,相当费事。当然有人会说,所有的工作都在Linux下搞定,VI、Linux命令行足够强大,没有需要使用Windows系统的理由,本文的重点不在讨

首先,我们知道基于文件的几种服务:ftp,sftp,这两种服务都是文件传输服务,偏重于网络传输,并不是实时互访。通常,我们需要在远程和本地同时操作同一个目录,如:在Windows下使用各种强大的IDE编辑代码,在 Linux 下编译和运行该代码。如果在Windows下编写好代码再拷贝到Linux下编译,这样修改时很费事,直接在Linux下修改,还要同步回Windows,相当费事。当然有人会说,所有的工作都在Linux下搞定,VI、Linux命令行足够强大,没有需要使用Windows系统的理由,本文的重点不在讨论命令行熟练程度与工作效率的问题。

Windows与Linux文件系统互访的几种方法

怎样像访问本地文件系统一样访问远程的文件呢?如果远程的系统与本地系统是不同类型的,又该如何做呢。

我们知道,在Windows系统之间,可以通过共享目录的方式,让远程系统直接访问。其实这里是Windows提供一种远程文件系统机制,NAS协议的一种——CIFS协议。如果是Linux系统呢,同样有另外一种NAS协议——NFS协议来实现远程访问。那么这两种NAS协议能否互通呢?答案是否定的。虽然二者不能互通,但是,在Linux系统上面已经有了CIFS协议的服务端和客户端的实现,这样,无论是Linux给Windows共享还是Windows给Linux共享都可以借助这些已有的实现来做到了。

相反的,Windows上面有没有NFS的客户端或者服务端呢?也有,但是不常用,这里就不详细介绍了。

这里主要围绕着Linux上面使用CIFS协议来阐述如何实现两个系统之间的跨文件系统,跨操作系统共享。按照上面的描述,有两种方式来实现共享。Linux分别作为CIFS的服务端和客户端。下面分别就这两种方式来说明操作步骤和简单的原理介绍:

一、Samba软件实现共享Linux文件系统给Windows用户

Samba软件被誉为10大最有价值的开源软件之第五位。其获取方式非常容易,配置使用也非常简单。下面以fedora系统为例,先看一下本地是否已经安装好samba,如果/etc/init.d/smb 文件存在,则说明已经安装好了samba软件,否则使用如下命令安装:

yum install samba 

安装完成后,修改配置文件,打开:/etc/samba/smb.conf,在文件末尾加上如下配置:

[root] 
 comment = root 
 path = /  
 create mask = 64 
 writeable = yes  
 browseable = yes 
 valid users = root 

这个配置的意思是,创建一个名为root的共享,将根文件目录“/”共享给用户。允许登录的用户名是root。

然后给samba系统添加root用户,使用如下命令:

smbpasswd -a root 

按照提示设置root用户的密码。

重新启动samba服务。

service smb restart 

检查smb进程是否已经运行:

root 1787 0.0 0.4 33068 4784 ? Ss 21:51 0:00 smbd 
root 1788 0.0 0.2 33068 2580 ? S 21:51 0:00 _ smbd 

在需要访问该Linux系统的Windows客户机上面,打开Windows的资源管理器,在地址栏输入:\192.168.1.110

会发现,提示有一个共享root,双击访问时,提示输入用户名和密码,输入此前配置的root用户和密码即可访问。这里就是Samba软件实现了CIFS的服务端,Windows资源管理作为客户端访问远程的共享文件系统。为了更为方便的使用该文件系统,还可以将该共享映射成一个本地的盘符,让Windows上面的各种 工具 像使用本地磁盘一样使用该目录。所有在Windows上面对该共享做的操作都会实时同步到Linux系统上面。

二、Linux访问Windows的共享

上面的借助于Samba的方式是大家常用的。还有一种,Windows系统天然就是一个CIFS的服务端和客户端,既然Windows系统可以给Windows系统共享目录,那么Linux系统能否访问这些共享呢?答案是肯定的,由于有强大的VFS支撑,Linux支持挂载和访问各种文件系统。mount工具支持挂在CIFS甚至NTFS的文件系统。如果是Windows本机上面的Linux虚拟机,那么可以直接通过虚拟机管理软件,如Vmware直接共享本地的磁盘分区给Linux系统,Linux系统根据Windows的磁盘分区的文件系统类型挂载即可。这里不详述该方案。

进入本段的正题,首先我们需要共享一个Windows的目录:

下面以Windows XP为例,Windows 7未做验证,应该类似。在共享之前,首先需要确保Windows系统的server服务处于启动状态,如下图:

Windows与Linux文件系统互访的几种方法

选择需要共享的目录,右键,属性,选择“共享”页,如下图:

Windows与Linux文件系统互访的几种方法

选择在网络上共享这个文件夹,并指定共享名。根据需要选择是否允许远程用户修改该文件夹。这样这个文件夹就被共享给远程访问了。

Windows与Linux文件系统互访的几种方法

在Linux系统下挂载该共享:

[root@f2 ~]# mount -t cifs -o username="Test" //192.168.1.100/sourcecode /root/sourcecode 
Password for Test@//192.168.1.100/sourcecode:  

按照要求输入指定用户的密码即可。

此时,Windows的共享sourcecode目录就已经挂载到Linux系统上面了,Linux系统可以像访问本地目录一样访问该目录了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms and Theory of Computation Handbook

Algorithms and Theory of Computation Handbook

Mikhail J. Atallah (Editor) / CRC-Press / 1998-09-30 / USD 94.95

Book Description This comprehensive compendium of algorithms and data structures covers many theoretical issues from a practical perspective. Chapters include information on finite precision issues......一起来看看 《Algorithms and Theory of Computation Handbook》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具