欢迎光临
我们一直在努力

Linux与Windows喜结连理-PHP教程,系统相关

建站超值云服务器,限时71元/月

作为一个新生事物,linux吸引了不少眼球,但是它能否快捷、方便地与windows资源共享,是一个很重要的问题。大家知道,windows之间可以利用“网络邻居”来实现资源共享,而linux之间可以使用nfs来实现资源共享。那么,linux与windows之间呢?

linux可以通过samba来实现和windows主机互通有无的。samba采用client/server架构,执行samba客户端程序,就可以访问windows主机上的共享资源;而运行samba服务器,windows主机就可以访问linux上的共享资源。下面以red hat 8.0为例,介绍在linux环境里如何访问windows共享资源。

  安装samba

  如果不能确定是否已经安装了samba软件包,可以在终端窗口执行以下命令进行查询:

$ rpm -qa | grep samba

  如果查询结果出现如图1所示的三个软件包,则表示已经安装samba软件包。

Linux与Windows喜结连理-PHP教程,系统相关

  图一:查询是否安装samba软件包

  如果没有安装过samba软件包,则可以插入red hat 8.0第二张安装光盘,然后按照下面的步骤进行安装(以kde环境为例):

  1. 鼠标依次单击主选单→系统设置→“软件包”选单项,将会打开“软件包管理”对话框。

  2. 在该对话框里找到“windows文件服务器”,确保已经勾选该选项,然后单击对话框底部的“更新”按钮,如图2所示。

  3. 安装samba软件包。

Linux与Windows喜结连理-PHP教程,系统相关

  图三:安装samba软件包

  整个过程非常简单,系统会自动检测软件包之间的依赖性,完全不用操心。

  用命令方式访问windows

  安装好samba之后,就可以让它大显身手了。这里先介绍如何用字符命令方式访问windows共享资源。

  1. 查询windows主机的共享资源

  查询windows主机的共享资源可以使用smbclient -l windowshostname命令。例如,要查询一台名为peter的windows主机上的共享资源,可以在终端窗口输入:

smbclient -l peter

  然后回车即可。该命令的具体使用方法如图3所示。该命令可以准确地检查出windows主机的共享文件夹,并且对中文文件名的支持也很好。

Linux与Windows喜结连理-PHP教程,系统相关

  图三:查询windows主机的共享资源

  2. 连接windows主机的共享目录

  我们可以使用“smbclient //windowshostname/sharename”命令,连接windows主机上的某个共享文件夹。如果该共享文件夹需要用户名和密码,则可以使用“smbclient //windowshostname/sharename -u username”命令。例如,要连接windows主机peter上的共享目录share,可以在终端窗口输入:

smbclient //peter/share

  然后回车。如果连接成功,即可出现“smb:\>”提示符,如图4所示。在该命令提示符下输入适当的命令,即可对所连接的共享目录进行操作。

Linux与Windows喜结连理-PHP教程,系统相关

  图四:连接共享目录

  3. 对共享目录进行操作

  smb支持大约40个命令,可以很方便地对共享目录进行删除、重命名、切换目录等操作。如果要列出共享目录“share”下的具体内容,可以使用ls命令。要删除其下的test.txt文件,可以使用“del test.txt”命令。在“smb:\>”提示符下输入“help”命令,可以查看smb所支持的命令列表。键入“help 命令名称”可以查看某个命令的简单帮助。

  4. 映射网络驱动器

  我们知道,在windows下可以将共享目录映射为网络驱动器,这样就可以把共享目录当成本地文件夹使用。在red hat里也有类似的功能,可以借助于smbmount命令来实现,具体的命令参数是“smbmount //windowshostname/sharename /mnt/smbdir”。假设要将windows主机peter下的共享文件夹share挂载到本地的/mnt/winshare目录下,具体步骤是:

  ◆ 首先在/mnt目录下创建一个目录,假设为/mnt/winshare,将把windows的共享目录挂载到/mnt/winshare下;

  ◆ 然后打开终端窗口,键入“smbmount //peter/share /mnt/winshare”回车即可。

此时在文件管理器里打开/mnt/winshare目录,就可以看到共享目录的内容。要卸载该映射目录,可以使用umount命令,此处不再赘述。

  gnome下的网络邻居

  使用smbclient命令,可以很方便地对windows主机共享目录进行查询和其它操作。但是,大家已经习惯了windows图形界面,使用命令总感觉不太方便。其实在red hat里面,也一样可以使用图形界面对windows共享目录进行操作。这里介绍一位“幕后英雄”——nautilus,它可算是gnome环境里的shell(相当于windows下的explorer)。nautilus既是red hat的文件管理器,又可以充任浏览器,还可以播放多媒体文件、浏览图片等。它现在又多了一个职责,就是担当linux下的网络邻居。

  要打开nautilus窗口,只需双击gnome桌面上的主目录图标即可。要查询windows工作组里的主机,可以在nautilus窗口的地址栏(location)里输入“smb://工作组名称”,然后回车即可。图5显示了工作组workgroup里的两台主机“peter”和“sai”。

Linux与Windows喜结连理-PHP教程,系统相关

  图五:在nautilus窗口里查询windows主机

  双击其中的某台windows主机图标,即可看到该主机的共享文件夹。这样所看到的和windows下的网络邻居几乎一样,如图6所示。

Linux与Windows喜结连理-PHP教程,系统相关

  图六:查看主机peter下的共享目录

  由于nautilus本身就是red hat的文件管理器,所以可以任意往windows共享目录里拷贝文件、删除文件、创建目录等。不过nautilus还是有不少缺点的,例如对中文支持不是很好,不能正确显示中文的文件名,不支持直接挂载windows共享目录,并且在kde环境下不能使用等。

  第三方的网络邻居

  在kde下要实现网络邻居,可以采用第三方的工具软件xfsamba。xfsamba的最新版本是0.47版,只有1mb多,可以到http://linux.imp.mx/xfsamba/archive/下载它的rpm版本。这里要注意的是,xfsamba是以samba为基础的,所以必须事先安装好samba软件包。假设软件包保存在/tmp目录下,则可以使用如下命令来安装:

cd /tmp                 
rpm -ivh xfsamba*

  安装完毕后,在终端窗口输入xfsamba回车即可打开该程序窗口。为了方便启动该程序,可以在桌面上建立一个快捷方式:

  ◆ 用鼠标右键单击kde桌面空白处,然后依次单击弹出选单上的新建→应用程序链接选单项,即可打开连接属性对话框。

  ◆ 在该对话框的常规标签页,可以指定该链接的名称(例如xfsamba)、图标等;然后切换到权限标签页,选中全部“读取”、“写入”、“执行”复选框。在“执行”标签页,可以指定xfsamba程序的路径(/usr/bin/xfsamba),如图7所示。

Linux与Windows喜结连理-PHP教程,系统相关

  图七:创建快捷方式

  作为一款第三方的工具软件,xfsamba的功能非常强大,不但可以对windows共享资源进行查看、复制、粘贴、删除等操作,而且还可以直接将windows共享目录映射为本地目录。更重要的是,0.47版本的xfsamba完全是中文界面。

  1.文件拖放功能

  利用xfsamba可以很方便地在共享目录和本地目录之间实现文件拖放。不过,此处最好使用xfsamba自带的本地文件浏览器xftree。单击xfsamba工具栏上的“xftree”按钮,即可打开本地文件浏览器,如图8所示。

Linux与Windows喜结连理-PHP教程,系统相关

  图八: xfsamba可以很方便地在共享目录和本地目录之间实现文件拖放

  2.挂载共享目录

  xfsamba可以很方便地把共享目录挂载到本地文件系统。只需选中windows主机上的某个共享目录,然后用鼠标依次单击“工具”选单→“mount remote share”选单项,即可打开一个对话框。xfsamba会自动将远程共享挂载到/tmp/xfsamba/remotesharename目录下,其中的remotesharename代表windows共享目录的名称,如图9所示。

Linux与Windows喜结连理-PHP教程,系统相关

  图九:挂载共享目录

  xfsamba尽管有许多优点,但和nautilus一样对中文文件名支持不好。如果企图访问windows主机上的中文文件夹,xfsamba会提示为“nt_status_bad_network_name”。当然总的来说是瑕不掩瑜,希望下一版本的xfsamba能够解决这个问题。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Linux与Windows喜结连理-PHP教程,系统相关
分享到: 更多 (0)