ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:393.07KB ,
资源ID:4768063      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4768063.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(ubuntu访问windows共享很简单.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

ubuntu访问windows共享很简单.docx

1、ubuntu访问windows共享很简单: 翻开nautilus, CTRL+L,在地址栏输入即可。 windows访问ubuntu共享文件夹方法如下: ubuntu中右键共享文件夹,设置SMB共享,设置名称和允许浏览文件夹。在 windows中访问会提示输入用户名和密码。 在ubuntu中sudo gedit /etc/samba/smbusers 建立文件,输入下面内容systemusemame = "ABC” 保存退出。 运行sudo smbpasswd -a username 设置密码。用以上的用户名和密码访问即可。 一步一学Linux与 Windows共享文件Samb

2、a (v0.2b) 北南南北,正在增加中……需要您的参与; 来自:LinuxSir.Org简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手 指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解 决方案;正在更新之中,希望您的参加……谢谢; 目录0、架设Samba服务器的前提; 0.1查看文件内容和编辑文件的工具;0.2关于文件和目录相关; 然后我们把下面这段写入smb.conf中;[global] workgroup = LinuxSirnetbios name = LinuxSirO5 server string = Li

3、nux Samba Server TestServer security = share[linuxsir] path = /opt/linuxsir writeable = yes browseable = yes guest ok = yes注解: [global]这段是全局配置,是必段写的。其中有如下的几行;workgroup就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大 写);一netbios name就是在Windows中显示出来的计算机名; server string就是Samba服务器说明,可以自己来定义;这个不是什么重要的; security

4、这是验证和登录方式,这里我们用了 share;验证方式有好多种,这是其 中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户 和密码了;[linuxsir]这个在Windows中显示出来是共享的目录; path=可以设置要共享的目录放在哪里;writeable是否可写,这里我设置为可写; browseable是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文 件夹。如果您不想显示出来,那就设置为browseable=noguest ok匿名用户以guest身份是登录; 第二步:建立相应目录并授权;[root@localhostmkdir -p /o

5、pt/linuxsir [root@localhostid nobodyuid=99(nobody) gid=99(nobody) groups=99(nobody) [root@localhost 〜]# chown -R nobody:nobody /opt/linuxsir 注释:关于授权nobody,我们先用id命令查看了 nobody用户的信息,发现他的用 户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;第三步:启动smbd和nmbd服务器; [root@localhostsmbd[root@localhostnmbd 第四步:查看sm

6、bd进程,确认Samba服务器是否运行起来了;[root@localhost pgrep smbd 1356413568 第五步:访问Samba服务器的共享;在Linux中您可以用下面的命令来访问; [root@localhost 〜]# smbclient -L //LinuxSirO5 Password:注:直接按回车在Windows中,您可以用下面的方法来访问; \\LinuxSirO5\5、复杂一点的用户共享模型(适合10人左右的小型企业); 比方一个公司有五个部门,分别是linuxsir, sirOl, sirO2,sirO3, sir04o我们想为这 家公司设计一个比拟平

7、安的共享文件模型。每个用户都有自己的网络磁盘,sirOl 到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此 库为了平安是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文 件夹共享权限设计实现的功能; l)linuxsir部门具有管理所有SMB空间的权限;2)sir01到sir04拥有自己的空间,并且除了自身及linuxsir有权限以外,对其它用户 具有绝对隐私性;3)linuxsir01到linuxsir04拥有一个共同的读写权限的空间; 4)所有用户(包括匿名用户)有一个有读权限的空间,用于资料库,所以不要求 写入数据。 5)sir01到sir0

8、4还有一个共同的空间,对sirOl到sir04的用户来说是隐私的,不能 让其它用户来访问。 6)还要有一个空间,让所有用户可以写入,能删除等功能,在权限上无限制,用 于公司所有用户的临时文档终转等;在服务器上创立相应的目录; [root@localhostmkdir -p /opt/linuxsir[root@localhostcd /opt/linuxsir [root@localhost linuxsir]# mkdir sirOl sir02 sir03 sir04 sirshare sir0104rw sirallrw[root@localhost linuxsir]# Is

9、sirOl sir0104rw sir02 sir03 sir04 sirallrw sirshare注:功用如下: /opt/linuxsir 这是管理员目录,负责管理其下所有目录; /opt/linuxsir/sir01 它用户都是不可读不可写; /opt/linuxsir/sir02 它用户都是不可读不可写; /opt/linuxsir/sir03 它用户都是不可读不可写; /opt/linuxsir/sir04 它用户都是不可读不可写; 是sirOl的家目录,用于私用,除了用户本身和linuxsir以外其 是sir02的家目录,用于私用,除了用户本身和linuxsir以外其

10、 是sir04的家目录,用于私用, 除了用户本身和linuxsir以外其 是sir03的家目录,用于私用,除了用户本身和linuxsir以外其/opt/linuxsir/sirshare所用用户(除了 linuxsir有权限写入外)只读目录 /opt/linuxsir/sir0104rw是用于sirOl到sir04用户可读可写共用目录,但匿名用户不 能读写; /opt/linuxsir/sirallrw用于所有用户(包括匿名用户)的可读可写;5・3添加用户用户组,设置相应目录家目录的权限; 1.1.1 添加用户组;[root@localhost 〜]# [root@localhost

11、〜]# [root@localhost 〜]# [root@localhost 〜]# [root@localhost # [root@localhost 〜]# [root@localhost 〜]# [root@localhost 〜]# [root@localhost 〜]# [root@localhost 〜]# [root@localhost # [root@localhost 〜]# /usr/sbin/groupadd /usr/sbin/groupadd /usr/sbin/groupadd /usr/sbin/groupadd /usr/sbin/groupadd /

12、usr/sbin/groupadd linuxsir sirOl sir02 sir03 sir04 sir0104 1.1.2 添加用户;[root@cuc03 adduser s /sbin/nologin sirOl [root@cuc03 〜;|# adduser s /sbin/nologin sir02 [root@cuc03 〜# adduser s /sbin/nologin sir03 [root@cuc03 〜]# adduser s /sbin/nologin sir04 [root@cuc03 adduser [root@cuc03 adduser

13、 s /sbin/nologin sirOl [root@cuc03 〜;|# adduser s /sbin/nologin sir02 [root@cuc03 〜# adduser s /sbin/nologin sir03 [root@cuc03 〜]# adduser s /sbin/nologin sir04 [root@cuc03 adduser -g sirOl -G sir0104 -g sir02 -G sir0104 -g sir03 -G sir0104 -g sir04 -G sir0104 -d /opt/linuxsir/sirOl -d /op

14、t/linuxsir/sir02 -d /opt/linuxsir/sir03 -d /opt/linuxsir/sir04 -g linuxsir -d /opt/linuxsir -G linuxsir,sirOl,sir02zsir03,sir04,sir0104 -d /opt/linuxsir - s /sbin/nologin linuxsir为什么这样添加用户?请参考: 《Linux文件和目录的属性》 《Linux用户管理工具介绍》当然我们还得学会查看用户信息的工具用法,比方用finger和id来查看用户信 息,主要是看用户是否添加正确;比方;请参考《是mix用户

15、User)查询篇》 [root@localhost 〜]# id linuxsir[root@localhost 〜]# finger linuxsir 1.1.3 添加samba用户,并设置密码;我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不 能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码 是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和 系统用户通过SHELL登录的密码不同。 我们通过smbpasswd来添加Samba用户,并设置密码。原理是通过读取/etc/passwd 文件中存在的用户名。

16、 [root@localhost sirOl]# smbpasswd -a linuxsirNew SMB password:注:在这里添力H Samba用户linuxsir的密码; R㊀typ㊀ new SMB password:注:再输入一次;用同样的方法来添加sirOl、sir02、sirO3> sir04的密码; 1.1.4 配置相关目录的权限和归属;[root@cuc03 〜]# chmod 755 /opt/linux [root@cuc03 〜]# chown linuxsir:linuxsir /opt/linuxsir[root@cuc03 [root@cuc03

17、 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 [root@cuc03 〜]# cd /opt/linuxsir〜]# chmod 2770 sir。* 〜]# chown sirOl.linuxsir sirOl chown sir02.linuxsir sir02〜]# chown sir03.linuxsir sir03 一]# chown sir04.linuxsir sir04[root@cuc03 〜]# [r

18、oot@cuc03 〜;|# [root@cuc03 〜]# [root@cuc03 〜;|# 〜]# chown linuxsir.sirOl04 sir0104rw chown linuxsir.linuxsir sirshare chmod 755 sirshare chown linuxsir:linuxsir sirallrw 〜]# chmod 3777 sirallrw修改Samba配置文件smb.conf; 配置文件如下,修改/etc/samba/smb.conf后,不要忘记重启smbd和nmbd服务器; [global]workgroup = LINUXSIR

19、 netbios name = LinuxSirserver string = Linux Samba Test Server security = share [linuxsir] comment = linuxsiradmin path = /opt/linuxsir/ create mask =0664#create mask是用户创立文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它 用户可读; directory mask = 0775#directory mask是用来设置用户创立目录时的权限掩码,意思是对于用户和用户组可读可 写,对其它用户可读可执行; writea

20、ble = yes valid users = linuxsir browseable = yes [sirshare]path = /opt/linuxsir/sirshare writeable = yes browseable = yes guest ok = yes [sirallrw] path = /opt/linuxsir/sirallrw writeable = yes browseable = yesguest ok = yes [sir0104rw]comment = sir0104rw path = /opt/linuxsir/sir0104rwcreate ma

21、sk =0664 directory mask = 0775writeable = yes valid users = linuxsirz @sir0104#@sir0104是用户组; browseable = yes [sirOl]comment = sirOl path = /opt/linuxsir/sir01 create mask =0664 directory mask = 0775 writeable = yesvalid users = sirOl,@linuxsir browseable = yes [sir02]comment = sir02 path = /o

22、pt/linuxsir/sir02 create mask =0664directory mask = 0775 writeable = yes valid users = sir02,@linuxsir browseable = yes[sir03] comment = sir03path = /opt/linuxsir/sir03 create mask =0664 directory mask = 0775 writeable = yesvalid users = sir03,Qlinuxsir browseable = yes [sir04]comment = sir04 p

23、ath = /opt/linuxsir/sir04 create mask =0664directory mask = 0775 writeable = yes valid users = sir04,@linuxsir browseable = yes关于客户端访问; 5.4.1 Windows 访问; 我们翻开Windows的IE浏览器,用IP地址的访问方式就能访问了,格式为 类似的。当然也可以把共享文件夹挂在本地使用。比方我们把sirOl 文件夹挂在本地中,应该以sirOl用户来挂载,挂载流程图如下; 二8段瞅维 联开网络驱动S(»・・映 绪相动秋U)…start UJ;

24、HJf(Q) 贲西管理赧9 技索讨算机©…MX« RTTH创立快!?方式⑤ 删除(S 堇命名(由 Lirox Sembd Server T..;• Hy5napOxKE 6、更新日志;2006/01/23 vO.lb 2006/01/24 v0.2b7、参考文档; 《Samba-HOWTO》7、相关文档; 《Samba文件服务器用户复杂权限模型设计和实现》附录资料:不需要的可以自行删除 libxml2应用实例 Libxml2是一个xml的c语言版的

25、解析器,本来是为Gnome工程开 发的工具,是一个基于MIT License的免费开源软件。它除了支持c 语言版以外,还支持C++、PHP、Pascal、Ruby、Tel等语言的绑定, 能在Windows、Linux> Solaris> MacOsX等平台上运行。功能还是相 当强大的,相信满足一般用户需求没有任何问题。 二、Libxml2 安装: 一般如果在安装系统的时候选中了所有开发库和开发工具的话(Fedora Core系列下),应该不用安装,下面介绍一下手动安装: 1)从 xmlsoft 站点或 ftp (ftp. xmlsoft. org)站点下载 libxml 压缩 包(lib

26、xml2-xxxx. tar. gz)2)对压缩包进行解压缩tar xvzf libxm12-xxxx. tar. gz 3)进入解压缩后的文件夹中运行 ./configure —prefix /home/usei7 myxml/xmlinst (止匕处为待安 装的路径)或者直接使用./configuremake make install 4) 添加路径export PATH=/home/user/myxml/xmlinst/bin: $ PATH 说明:为了结构清晰,最好将libxml2不安装在解压目录中。 安装完成后就可以使用简单的代码解析XML文件,包括本地和远程 的文件,但

27、是在编码上有一些问题。Libxml默认只支持UTF—8的编 码,无论输入输出都是UTF-8,所以如果你解析完一个XML得到的结果 都是UTF—8的,如果需要输出GB2312或者其它编码,需要ICONV来 做转码(生成UTF —8编码的文件也可以用它做),如果系统中没有安装 iconv的话,需要安装libiconv。 03用户和用户组相关; 04进程管理;Samba简介 1 Samba功能和应用范围Samba两个服务器相关启动程序、客户端及服务器配置文件等; 1.1 Samba 有两个服务器,一个是smbd, 另一个是 nmbd;查看Samba服务器的端口及防火墙; 1.2 查看Samb

28、a服务器的配置文件;Samba 在 Linux 中的——些工具 (服务器端和客户端); 1.3 在 Linux 中 的常用工具,Windows查看 Linux 共享的方法; 351 在 Linux 系统中查看网络中 Windows 共享文件及 Linux 中的Samba共享文件; 1.3.2 在 Windows中访问 Linux Samba服务器共享文件的办 法;smbfs文件系统的挂载; 4由最简单的一个例子说起,匿名用户可读可写的实现;第一步:更改smb.conf 第二步:建立相应目录并授权;第三步:启动smbd和nmbd服务器; 第四步:查看smbd进程,确认Samba服务器

29、是否运行起来了;第五步:访问Samba服务器的共享; 5、复杂一点的用户共享模型(适合10人左右的小型企业);共享权限设计实现的功能; 5.1 在服务器上创立相应的目录;添加用户用户组,设置相应目录家目录的权限; 531添加用户组;添力口用户; 5.1.2 添力口 samba用户, 并设置密码;534配置相关目录的权限和归属; 5.2 修改Samba配置文件;关于客户端访问; 5.2.2 Windows客户端访问;++++++++++++++++++++++++++++++++++++++++++++++++ 1)下载 libiconv 压缩包(例如 libiconv-1. 11

30、 tar. gz) 2)对压缩包进行解压缩 tar xvzf libiconv-1. 11. tar. gz 3)进入解压缩后的文件夹中运行./configure makemake install 三、关于XML: 在开始研究Libxml2库之前,先了解一下XML的相关基础。XML是 一种基于文本的格式,它可用来创立能够通过各种语言和平台访问的 结构化数据。它包括一系列类似HTML的标记,并以树型结构来对这 些标记进行排列。 例如,可参见清单1中介绍的简单文档。为了更清楚地显示XML 的一般概念,下面是一个简化的XML文件。 清单1. 一个简单的XML文件

31、sion=〃1. 0〃 encoding二〃UTF-8”?> rootdelete 10 清单1中的第一行是XML声明,它告诉负责处理XML的应用程 序,即解析器,将要处理的XML的版本。大局部的文件使用版本1.0 编写,但也有少量的版本1.1的文件。它还定义了所使用的编码。大 局部文件使用UTF-8,但是,XML设计用来集成各种语言中的数据, 包括那些不使用英语字母的语言。 接下来出现的是元素。一个元素以开始标记开始(如

32、如

33、于UNIX环境的解析器和库中 最好的一种,并且经过扩展,它提供了对几种脚本语言的支持,如 Perl 和 Pythono 四、Libxml2中的数据类型和函数 一个函数库中可能有几百种数据类型以及几千个函数,但是记住大 师的话,90%的功能都是由30%的内容提供的。对于Iibxml2,我认 为搞懂以下的数据类型和函数就足够了。 1)内部字符类型xmlChar xmlChar是Libxml2中的字符类型,库中所有字符、字符串都是 基于这个数据类型。事实上它的定义是:xmlstring.h typedef unsigned char xmlChar; 使用unsigned char作为内

34、部字符格式是考虑到它能很好适应 UTF-8编码,而UTF-8编码正是Iibxml2的内部编码,其它格式的 编码要转换为这个编码才能在Iibxml2中使用。 还经常可以看到使用xmlChar*作为字符串类型,很多函数会返回 一个动态分配内存的xmlChar*变量,使用这样的函数时记得要手动 删除内存。 2) xmlChar相关函数 如同标准c中的char类型一样,xmlChar也有动态内存分配、 字符串操作等相关函数。例如xmlMalloc是动态分配内存的函数; xmlFree是配套的释放内存函数;xmlStrcmp是字符串比拟函数等 等。 基本上xmlChar字符串相关函数都在xmls

35、tring.h中定义;而动 态内存分配函数在xmlmemory.h中定义。 3) xmlChar*与其它类型之间的转换 另外要注意,因为总是要在xmlCha产和char*之间进行类型转 换,所以定义了一个宏BAD_CAST,其定义如下:xmlstring.h #define BAD_CAST (xmlChar *) 原那么上来说,unsigned char和char之间进行强制类型转换是没 有问题的。 4)文档类型xmlDoc、指针xmlDocPtr xmlDoc是一个struct,保存了一个xml的相关信息,例如文件 名、文档类型、子节点等等;xmlDocPtr等于xmlDoc*

36、它搞成这 个样子总让人以为是智能指针,其实不是,要手动删除的。 xmlNewDoc函数创立一个新的文档指针。 xmlParseFile函数以默认方式读入一个UTF-8格式的文档,并返 回文档指针。 xmlReadFile函数读入一个带有某种编码的xml文档,并返回文 档指针;细节见Iibxml2参考手册。 xmlFreeDoc释放文档指针。特别注意,当你调用xmlFreeDoc 时,该文档所有包含的节点内存都被释放,所以一般来说不需要手动 调用xmlFreeNode或者xmlFreeNodeList来释放动态分配的节点内存,除非你把该节点从文档中移除了。一般来说,一个文档中所有 节点

37、都应该动态分配,然后加入文档,最后调用xmlFreeDoc一次释 放所有节点申请的动态内存,这也是为什么我们很少看见 xmlNodeFree 的原因。 xmlSaveFile将文档以默认方式存入一个文件。 xmlSaveFormatFileEnc可将文档以某种编码/格式存入一个文件 中。 5)节点类型 xmlNode、指针 xmlNodePtr 节点应该是xml中最重要的元素了,xmlNode代表了 xml文档 中的一个节点,实现为一个struct,内容很丰富:tree.h typedef struct _xmlNode xmlNode; typedef xmlNode *xmlN

38、odePtr; struct _xmlNode {void *_private;/* application data */ xmlElementType type; /* type number, must be second ! */ const xmlChar *name; /* the name of the node, or the entity */ struct _xmlNode "children; /* parent->childs link */ struct _xmlNode *last; /* last child link */ struct _xmlNod

39、e "parent;/* child->parent link */ struct _xmlNode *next; /* next sibling link */ struct _xmlNode *prev; /* previous sibling link */ struct _xmlDoc *doc;/* the containing document */ /* End of common part */ xmlNs *ns; /* pointer to the associated namespace */xmlChar *content; /* the content */ st

40、ruct _xmlAttr "properties;/* properties list */ xmlNs *nsDef; /* namespace definitions on this node */void *psvi;/* for type/PSVI informations */ unsigned short line; /* line number */ unsigned short extra; /* extra data for XPath/XSLT */ ); 可以看到,节点之间是以链表和树两种方式同时组织起来的, next和prev指针可以组成链表,而parent

41、和children可以组织为 树。同时还有以下重要元素: • 节点中的文字内容:content; • 节点所属文档:doc; • 节点名字:name; • 节点的 namespace: ns; • 节点属性列表:properties; Xml文档的操作其根本原理就是在节点之间移动、查询节点的各 项信息,并进行增加、删除、修改的操作。 xmlDocSetRootElement函数可以将一个节点设置为某个文档的 根节点,这是将文档与节点连接起来的重要手段,当有了根结点以 后,所有子节点就可以依次连接上根节点,从而组织成为一个xml 树。 6) 节点集合类型 xmlNodeSet、指

42、针 xmlNodeSetPtr 节点集合代表一个由节点组成的变量,节点集合只作为Xpath的 查询结果而出现(XPATH的介绍见后面),因此被定义在xpath.h 中,其定义如下: /* * A node-set (an unordered collection of nodes without duplicates). */ typedef struct _xmlNodeSet xmlNodeSet; typedef xmlNodeSet *xmlNodeSetPtr; struct _xmlNodeSet {int nodeNr; /* number of nodes in

43、the set */ int nodeMax; /* size of the array as allocated */ xmlNodePtr *nodeTab;/* array of nodes in no particular order */ /* @@ with_ns to check wether namespace nodes should be looked at @@ */ ); 可以看出,节点集合有三个成员,分别是节点集合的节点数、最大 可容纳的节点数,以及节点数组头指针。对节点集合中各个节点的访 问方式很简单,如下: xmlNodeSetPtr nodeset

44、 XPATH 查询结果; for (int i = 0; i < nodeset->nodeNr; i + + ) {nodeset->nodeTab[i]; 注意,Iibxml2是一个c函数库,因此其函数和数据类型都使用c 语言的方式来处理。如果是C+ + ,我想我宁愿用STL中的vector来 表示一个节点集合更好,而且没有内存泄漏或者溢出的担忧。 五、使用Libxml2 工程中要实现一个管理XML文件的后台程序,需要对XML文件进行创立,解析,修改,查找等操作,下面介绍如何利用libxml2提供的 库来实现上述功能。 1、创立XML文档: 我们使用xmlNewDoc ()

45、来创立XML文档,然后使用xmlNewNode (), xmlNewChild (), xmlNewProp (), xmlNewText ()等函数向 XML文件中添加节点及子节点,设置元素和属性,创立完毕后用xmlSaveFormatFileEncO来保存XML文件到磁盘(该函数可以设置保存 XML文件时的编码格式)。 例如1: ttinclude ttinclude ttinclude int main(int argc, char **argv) (xmlDocPtr doc

46、 NULL;/* document pointer */xmlNodePtr rootnode = NULL, node = NULL, nodel = NULL;/* node pointers */ // Creates a new document, a node and set it as a root nodedoc = xmlNewDoc(BAD_CAST 〃1.0〃); root_node = xmlNewNode(NULL, BADCAST 〃root〃);xmlDocSetRootElement(doc, root_node); //creates a new n

47、ode, which is 〃attached” as child node of root_node node. xmlNewChild(root_node, NULL, BAD_CAST“nodel”,BAD_CAST 〃content of nodel"); // xmlNewProp() creates attributes, whichis "attached" to an node. node=xmlNewChild(root_node, NULL, BAD_CAST〃node3〃, BAD_CAST〃node has attributes"); xmlNewProp(no

48、de, BAD_CAST "attribute", BAD_CAST 〃yes〃);//Here goes another way to create nodes. node = xmlNewNode(NULL, BADCAST 〃node4〃);nodel = xmlNewText(BADCAST^other way to create content");xmlAddChiId(node, nodel); xmlAddChiId(root_node, node);//Dumping document to stdio or file xmlSaveFormatFil

49、eEnc(argc > 1 ? argv[l]〃-]doc, 〃UTF-8〃, 〃-]doc, 〃UTF-8〃, 1); /*free the document */ xmlFreeDoc(doc);xmlCleanupParser(); xmlMemoryDump();//debug memory forregression tests return (0);正文 ++++++++++++++++++++++++++++++++++++++++++++++++0、架设Samba服务器的前提; Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相 关

50、这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要 的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不 敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我 们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建 好自己的Samba服务器。哪个更容易,只有你知道;对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创立 好相应的目录就行了。其实并不是这样的,还要深入的工作,比方目录的权限和归 属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限 结合起来,才能架好

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服