- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广东技术师范学院实验报告
学院:专业:班级:成绩:姓名:学号:组别:组员:实验地点:实验日期:指导教师签名:预习情况操作情况考勤情况数据处理情况
实验 3 项目名称: 基本命令与工具(二)
实验目的
通过学习关于Linux命令中的管道、重定向等使用方法,学习Linux命令中使用到的特殊符号,
实验内容(补充教材4.3节)
在学习了基本的shell命令后,这次实验将深入到一些shell命令的高级内容,包括了命令的重定向功能、管道功能以及部分特殊符号,配合这些高级功能,就能写出较为复杂的系统管理命令。同样,以下内容需要同学们熟练掌握
2.1重定向
在之前的讨论当中,我们默认了一个关于shell执行命令的基本前提,就是shell将键盘当作是标准输入设备,用户利用键盘输入命令,同时shell将显示终端当作标准输出设备(还记得stdio.h文件吗?),执行命令的输出结果将显示在屏幕上。重定向功能,就是要改变这种默认设置,也即命令从其他设备中获得输入,同时命令的输出结果也重定向到其他设备上。不过,更常见的是命令将结果输出到一个文件中,也从文件中获得数据(在UNIX中,逻辑设备对应于某个文件)。命令重定向共有四种类型:输入重定向、输出重定向、附加输出重定向,附加输入重定向、错误输出重定向。
输出重定向
功能:把命令(或可执行程序)的标准输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
格式:命令及其选项及参数 重定向文件
例子:留意各个命令的执行输出结果保存在哪个文件
#date date1
#date date2
#cat date1
#cate date2
#cat date1 date2 date
#cat date
输入重定向
功能:把命令(或可执行程序)的标准输入重新定向到指定文件中。这样,该命令就从指定文件中获取输入数据,而不是键盘。
格式:命令及其选项及参数 重定向文件
例子:由于一般命令如果需要从文件获取输入都会自动访问指定文件,因此输入重定向的功能并没有输出重定向常用。
例子:从文件filename中搜索
# grep search-word filename
附加输出重定向
功能:把命令(或可执行程序)的标准输入重新定向到指定文件的末尾,不覆盖原文件的内容。
格式:命令及其选项及参数 重定向文件
例子:注意通过命令的执行对比附加输出重定向与输出重定向的区别
# date datetest
# cat datetest
# date datetest
# cat datetest
# date datetest
# cat datetest
错误输出重定向
功能:shell将命令执行的错误信息与命令执行本身的输出信息区分开来,可以输出在不同的设备(文件)上。但默认它们都是输出到显示终端上,因此错误输出同样可重定向输出到其他文件上,但要使用错误输出重定向功能。
格式:命令及其选项及参数 2 重定向文件
例子:注意通过命令的执行对比错误输出重定向与普通输出重定向的区别
# lsls 2 test
# cat test
2.2 管道
简单地说,管道是一种连接命令的工具。管道可以把一系列命令连接起来,这意味着第一个命令的输出会通过管道传给第二个命令作为它的输入,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是命令行中最后一个命令的输出(如果命令行中未使用输出重定向)。
格式:命令及其选项及参数1 | 命令及其选项及参数2 | ….
例子:通过以下命令理解如何利用多个命令组合出复杂功能。第一个命令是将目录列表分屏显示;第二个命令是将/etc路径下的所有含有“rc”字符的文件并将相关信息重定向到文件rctest中。
# ls -l /etc | more
# ls /etc | grep rc rctest
2.3 一些常用的特殊符号
UNIX命令中的一些特殊功能都是利用符号来表达的,除了上面介绍的重定向符号,管道符号之外,另外还有通配符、引号、注释符等。这里先介绍通配符,引号及注释符在下一实验脚本编写上介绍。
通配符用于模式匹配,如文件名匹配、路经名搜索、字符串查找等。常用的通配符有*、?和括在方括号[]中的字符序列。用户可以在作为命令参数的文件名中包含这些通配符,构成一个所谓的“模式串”,在执行过程中进行模式匹配。
通配符“*”
功能:任意长度的任何字符
例子:注意第二个例子里面cat命令并没有的管道的用法
# ls /etc/rc*
# grep init* /etc/
文档评论(0)