- 1、本文档共214页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]清华大学UNIX讲义第4章
第4章 UNIX的文件和目录 4.1 文件和目录的层次结构 4.2 文件和目录的命名 4.3 shell的文件名通配符 4.4 文件管理 4.5 目录管理 4.6 文件的归档与压缩处理 4.7 文件系统的存储结构 4.8 硬连接与符号连接 4.9 系统调用 4.10 文件和目录的访问 4.11 获取文件的状态信息 4.12 设备文件 4.13 文件和目录的权限 4.1 文件和目录的层次结构 UNIX系统通过目录管理文件,文件系统组织成树状结构,目录中可以含有多个文件,也可以含有子目录。UNIX系统中,路径名分割符用正斜线/。表4-1所示为一些常见的目录和文件。与系统有关的一些主要目录的取名和在层次结构中的位置,几乎在所有UNIX系统中都相同。 表4-1 UNIX常见的目录和文件 4.2 文件和目录的命名 (1)名字长度。现在的UNIX都支持长文件名,文件名长度的最大值都在200以上,早期的UNIX至少可以支持长度为14个字符的文件名。 (2)取名的合法字符。除斜线外的所有字符都是命名的合法字符,空格、星号甚至不可打印字符也可以做文件名。一个字节的取值0~255之中,47是斜线的ASCII码,不可作为文件名,ASCII码0用作C语言的字符串结束标志,其余的254种取值都可以作为文件名。 (3)大小写字母有区别。例如:makefile,Makefile,MAKEFILE是三个不同的文件名。 4.3 shell的文件名通配符 4.3.1 规则 UNIX的文件名通配符是由shell程序解释的,不同的shell会有不同的文件名通配符规则。对几乎所有的shell来说,表4-2列出的有关文件名通配符的规则几乎都一致。 表4-2 常用的shell文件名通配符 4.3.2 与DOS文件名通配符的区别 (1)UNIX的文件名通配符要比DOS中的严格,无二义性。设当前目录下有两文件xcom.exe和xcom.obj,DOS中DIR XCOM*命令会列出两个文件,而DEL XCOM*删不掉任一个文件。DOS也不允许使用类似的通配串*temp*。在UNIX中,文件名通配符允许用于任何命令,而DOS中只能用于dir/del/copy等有限的几个命令中。在UNIX中,命令cat *.c可以列出所有的.c文件内容,而在DOS中,命令TYPE *.c不可以。现在的Windows系统中,这种情况有所改观。 (2)关于文件扩展名。DOS中*.*匹配所有文件,UNIX中*.*要求文件名中必须含有句点,否则不匹配。UNIX中并没有把文件名中的句点做特殊的处理,它和普通的字符有着相同的地位。UNIX文件名处理中,没有所谓“扩展名”的概念。 (3)匹配子目录中的文件。在UNIX中可以使用*/*.[ch]通配符,匹配当前目录下所有一级子目录中文件名后缀为.c和.h的文件,这在DOS中不允许。 4.3.3 文件名通配符的处理过程 UNIX和DOS的文件名通配符看起来类似,但是,在处理过程上有所不同。了解shell的工作机理,会更深入更准确地把握shell的特性,便于正确地使用它,也能够理解shell的某些行为。UNIX处理文件名通配符的过程分三步。 (1)在shell提示符下,从键盘输入命令,输入的命令被shell所接受。 (2)shell对所键入的内容作若干种加工处理,其中含有对文件名通配符的扩展工作,生成结果命令。 (3)执行生成的结果命令。 shell程序也是在操作系统内核支持下的应用级程序,与普通用户编写的C语言源程序编译链接之后产生的可执行程序在系统中有相同的地位。甚至,用户也可以根据自己的喜好编写自己的shell程序。从设计shell软件的程序员角度看,在shell提示符下输入命令,会在程序中得到一个字符串的输入,这是第一步;将得到的这个字符串进行加工处理,其中,含有对文件名通配符的展开工作,生成结果命令,这是第二步;第三步,调用操作系统的系统调用,创建新的进程执行命令,并把参数传递给新进程。 shell在第二步中,含有文件名生成工作,把用空格分开的每一段作为一个“单词”,扫描每个词,从中寻找 * ? []。如果其中之一出现,则该词被识别为一个文件名通配符,用与文件名通配符相匹配的文件名表取代该词。可以匹配多个名字时,按字母序排列多个名字。如果没有找到与文件名通配符相匹配的文件名,在B-shell中不改变该词,在C-shell中产生错误。 【例4-1】 体验shell对文件名通配符的展开处理。 (1)设当前目录下只有try.c,zap.c,arc.c三文件,在shell提示符下,键入命令: cat *.c 那么,shell根据当前目录下的所有文件的文件名集合,将*.c扩展为arc.c try.
您可能关注的文档
- [工学]数控机床夹具.ppt
- [工学]数理逻辑_触发器.ppt
- [工学]数电实验.ppt
- [工学]机械原理 轮系.ppt
- [工学]机械设计 螺纹连接.ppt
- [工学]机械设计与制造专业职业规划.ppt
- [工学]机械设计减速箱说明书.doc
- [工学]机械设计总复习.ppt
- [工学]机械设计课件--第13章滚动轴承.ppt
- [工学]机电一体化系统课程设计—纵向改造CA6140车床说明书.doc
- 2025至2030新能源天然气行业项目调研及市场前景预测评估报告.docx
- 2025至2030新能源天然气行业市场发展现状及竞争格局与投资价值报告.docx
- 2025至2030新能源城市行业竞争格局分析及投资前景与战略规划报告.docx
- jdi rd助理高工机械测试题test papermec-higher ver1 Papermec HigherVer1.pdf
- 2025至2030新能源客车市场行业市场深度研究及发展前景投资可行性分析报告.docx
- 2025至2030新能源客车行业市场深度研究及发展前景投资可行性分析报告.docx
- 2025至2030新能源客车市场前景分析及投资策略与风险管理报告.docx
- 上海新景祥苏州冠城水岸风景营销总纲.pptx
- 2025至2030新能源技术装备行业市场发展分析及投资前景报告.docx
- 2025至2030新能源技术装备行业市场深度研究及发展前景投资可行性分析报告.docx
最近下载
- 最地震演练脚本.docx VIP
- 《国有企业管理人员处分条例》解读.docx VIP
- 《无机及分析化学》课件 第7章 物质结构基础.ppt VIP
- Kyocera京瓷ECOSYS M4125idn_M4132idn操作手册.pdf
- 含糖透析液对血透病人的影响.doc VIP
- RADWIN5000安装调试指南.doc VIP
- 无机及分析化学:第四章 物质结构简介.ppt VIP
- 体育康养与自然疗法的结合研究论文.docx VIP
- 2025年广东省基层住院医师线上岗位培训《医学人文及医患沟通》-中医学专业培训课程公共课答案.docx VIP
- 含糖透析液对糖尿病肾病血液透析患者血压和心率变异性影响.doc VIP
文档评论(0)