unix的文件以及目录.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 UNIX的文件和目录 本章主要内容 文件和目录的层次结构,命名规则,文件通配符 文件管理,目录管理 文件的归档与压缩处理 文件系统的存储结构 硬连接和符号连接 系统调用 文件和目录的访问 文件和目录的权限 4.1 文件和目录的层次结构 文件和目录的布局(1) /etc目录 供系统维护管理用的命令和配置文件 passwd,hosts文件 issue文件:登录前在login之上的提示信息 motd文件:登录成功后的显示信息 rc.d目录:开机自动执行的命令集合,又分成0,1,2,...,9十个阶段,分别对应10个目录 系统维护命令:fsck,mount,shutdown 文件和目录的布局(2) /tmp 存放临时文件 /bin 系统常用命令,如ls,ln,cp,cat等 /dev 存放设备文件,如终端设备,磁带机,打印机等 /usr/include C语言头文件存放目录 /usr/tmp 存放临时文件 /usr/bin 存放一些常用命令,如ftp,make等 文件和目录的布局(3) /lib,/usr/lib 存放各种库文件,指C语言的链接库文件,以及terminfo终端库等等 静态链接库文件有.a后缀(archive,存档) 动态链接库文件后缀是.so(shared objects) UNIX广泛使用动态链接库,静态链接库逐渐过时 /usr/spool 存放与用户有关的一些临时性文件,如:打印队列,已收到但未读的邮件等等 4.2 文件和目录命名规则 文件和目录的命名规则 名字长度 允许1-255字符 有些UNIX不支持长文件名,但至少长度为1-14 取名的合法字符 除斜线外的所有字符都是命名的合法字符 不可打印字符也可以做文件名(除了字节0) 斜线留做路径名分割符 大小写字母有区别 4.3 shell的文件通配符处理 文件通配符规则(1) 星号 * 匹配任意长度的文件名字符串(包括空字符串) 点字符(.),当它作为文件名或路径名分量的第一个字符时,必须显式匹配 斜线(/)也必须显式匹配 例:*file匹配file,makefile,不匹配.profile文件 try*c 匹配try1.c try.c try.basic 文件通配符规则(2) 问号 ? 匹配任一单字符 方括号 [ ] 匹配括号内任一字符,也可以用减号指定一个范围 例: [A-Z]* *.[ch] [Mm]akefile 注意 文件名通配符规则与正则表达式的规则不同,应用场合不同 不同种类shell通配符规则会略有些差别 与DOS文件通配符的区别(1) 例1:UNIX文件通配符比DOS严谨,无二义性 设当前目录下有xcom.exe xcom.c xcom.obj DOS中 DIR XCOM* 会列出三个文件 DEL XCOM* 删不掉上述任何文件 UNIX不存在二义性解释 ls xcom* 会列出三个文件 rm xcom* 会删除三个文件 例2: DOS中*.* 匹配所有文件 UNIX中*.*要求文件名中必须含有圆点,否则不匹配,如: *.*与makefile不匹配 与DOS文件通配符的区别(2) 例3:在DOS中,无法使用通配串*temp* 在UNIX中对*temp*严格按前述规则去理解,而且*temp*list*也可用 例4:子目录名的匹配 在UNIX中可以使用*/*.[ch]通配符,DOS中不许 例5:UNIX中文件通配符适用所有命令 UNIX中文件通配符允许用于任何命令,而DOS中只能用于dir/del/copy等有限的几个命令中 UNIX中命令cat *.c可以列出所有的.c文件内容,DOS中命令TYPE *.C不可 shell与kernel shell shell是一个用户态进程 对用户提供命令行界面 使用操作系统核心提供的功能 kernel:操作系统核心 管理系统资源(包括内存,磁盘等)运行在核心态 通过软中断方式对用户态进程提供系统调用接口 程序获取命令行参数的方式 从main的两个参数,可获得命令行参数的内容 演示程序arg.c void main(int argc, char *argv[]) { int i; for (i = 0; i argc; i++) printf(%d:[%s]\n, i, argv[i]); } 编译,链接:cc arg.c -o arg 运行 ./arg abc ABCDEF shell文件名通配符处理 文件名通配符的处理由shell完成,分以下三步 在shell提示符下,从键盘输入命令,被shell接受 shell对所键入内容作

文档评论(0)

ajgoaw + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档