- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章C-shell的
本章小节 5.1 UNIX的shell 5.2 csh启动与终止 5.3 使用csh的历史机制 5.4 别名 5.5 csh提示符 5.6 csh的管道和重定向 5.1 UNIX的shell 5.2 csh启动与终止 UNIX的shell shell的主要功能 作为交互式的命令解释器,是用户与系统之间的接口 支持文件名替换,命令替换,变量替换 支持管道和重定向操作 有流程控制的内部命令,支持程序设计 内部命令与外部命令 内部命令:在shell内部实现的命令 外部命令:shell之外用程序文件实现的命令 外部命令执行时需要搜寻程序文件并装入执行,因此运行效率不如内部命令 UNIX的shell shell种类 B-shell:/bin/sh,是Stephen R. Bourne在贝尔实验室开发的最早被普遍认可的UNIX的标准shell C-shell:/bin/csh,加利福尼亚大学的William N. Joy在20世纪70年代开发,最初用在BSD2.0上 K-shell:/bin/ksh,贝尔实验室的David Korn在1986年开发,是B-shell的超集,支持带类型的变量,数组 Bourne Again shell:/bin/bash,是LINUX上的标准shell,兼容并扩展了B-Shell,吸收了C shell的某些特点,命令行编辑非常方便 UNIX的shell 用户shell 管理员在创建用户时,在/etc/passwd文件中设置了用户的登录shell,用户登录后即进入注册的shell。 某/etc/passwd文件的片断如下: tian:x:1289:100::/usr/tian:/bin/csh jiang:x:1306:100::/usr/jiang:/bin/sh liang:x:2167:100::/usr/liang:/bin/ksh sun:x:1283:100::/usr/sun:/bin/sh csh的启动与终止 启动 csh的启动方法有两种:作为注册shell和直接执行命令csh。前者在启动后将自动执行用户主目录中的.cshrc和.login脚本程序,而后者仅执行.cshrc,其目的是初始化执行环境。 不同用户有不同的主目录和初始化脚本程序,因此可以安排执行不同的初始化操作 终止 作为注册的csh终止时,要执行用户主目录中的.logout退出脚本 5.3 使用csh的历史机制 5.4 别名 5.5 csh提示符 历史表 csh的历史机制 将最近一段时间内输入的命令保存起来,以便重复使用或作少量后继续使用,避免了将命令重新输入的麻烦。 前后键入的命令按顺序存于历史表,编号递增。 历史表大小有限,其上限值保存在变量history中,可用命令set history=n设定。超出限制时,按FIFO的原则抛弃命令 使用内部命令history可查看历史表 引用历史表:见[表5-1] C-shell历史替换的方法 别名机制 csh的别名机制 可以为经常使用的命令取一个别名,以提高输入效率或便于记忆。例如,可以为经常使用的命令取单字符的别名,也可以为不便记忆的命令取含义明确的名字。 定义别名 alias 别名 替换命令 (不带参数则显示当前别名表) 取消别名 unalias 别名 别名机制举例 定义别名 alias dir ls -flad alias n netstat -p tcp -s | head -10 alias r netstat -rn alias h history alias rm rm -i alias p ping 202.143.12.189 alias rt traceroute 217.226.227.27 给别名传递参数 简单传递:dir ~ 复杂传递:【例5-1】 给别名命令传递参数的方法 csh提示符 csh的提示符由csh的变量prompt控制 prompt变量值(是一个字符串)中的!,在实际显示时以命令号代替。 set prompt=[\!]% 在!前加\以取消csh对!的特殊解释,实际上变量prompt的值为[!]%串 5.6 csh的管道和重定向 概述 管道 是进程之间通信的一种机制,shell利用此机制在命令之间传递输入和输出。管道操作符用竖线|表示,作用是使竖线前面的命令输出成为竖线后面的命令输入。 重定向 shell改变了它所执行的进程拥有的文件描述符,主要是标准输入/输出/错误描述符,以便使进程原来的输入输出对象切换到新的对象 管道和重定向实际上是shell利用进程之间的父子关系实现的,第7章详述之 缓冲I/O和系统调用I/O 程序操作文件的两种模式 标准的缓冲I/O方式:这种方式间接利用系统调用实现有
文档评论(0)