Lec05实验指导.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lec05实验指导

Lec05: 基础命令行操作 学习目标 理解什么是操作系统 理解命令行的分解 了解PATH变量的作用 了解如果单独或组合使用命令 理解printf和echo命令比的优势 学会使用man帮助文档 掌握常用命令的常见使用方式 实验过程 理解命令和PATH 1.1查看PATH变量 我们可以用echo命令对带有$前缀的PATH变量求值,得到PATH变量列表 echo $PATH 得到的结果如下图: 图1 实验虚拟机中的PATH变量值 我们可以看到,整个列表共有__7___个目录,目录间用__:_作为分隔符将信息相互分开。输入一条命令时,shell会从前到后逐个查看这些目录,看其中有没有以该命令为名的文件。 1.2命令存放的位置 大家已经学到了几条简单的命令,那么这些命令存在哪儿呢?我们可以通过which、whereis和type来找到一些线索。 which命令告诉我们包含某一条命令的目录,例如我们输入 which grep shell就会依次搜索PATH的目录,找到名为grep的文件位置,返回该文件所在的目录。 whereis命令和which比,搜索范围更大,不会只在PATH中搜索。但这两个命令都不是POSIX标准支持的。 再试试 whereis grep吧。把两个命令的结果截图,看看是不是whereis找的范围更大一些? 图3 which和whereis 还有一个问题,其实并不是所有命令都是文件,有一些是内置在shell中的,但which和whereis不会考虑这种可能性。例如当我们想查找上周学的echo命令,which命令会告诉我们: 图4 which找echo的结果 但事实上,这并不是运行echo命令时执行的文件,现代shell中内置了echo,不信你用type来找一下echo,输入type echo,得到结果如下图: 图5 type找echo的结果 看到了吧,type说echo是系统内置的命令。 命令结构 2.1命令是可以添加参数的 先运行一个ls试试,然后再输入ls –F(注意s和-之间有空格,F是大写),将结果截图,并对比效果 图6 带参数的ls效果对比 我们发现,带有-F参数的ls效果为___目录____后边加了__/__符号,这样方便我们区分哪些是目录哪些是文件。 如果没有空格会怎么样呢?试试ls-F(中间不加空格),将结果截图: 图7 如果命令和参数中间不加空格会怎么样 所以啊,一定要记得在命令和参数之间加空格! 那么我们能不能同时加好几个参数呢,试试下面这条命令吧!(记得每个参数之间都有空格) ls –l –a –t 图8 有多个参数的ls命令 输入好多-和空格太麻烦了?那试试看ls –lat,或者ls –atl,一样的效果哦! 这说明什么呢?参数的顺序对于ls命令来说是必须的吗? Ls后的参数是有一定顺序的。 命令的简单应用 3.1其实我们不用在一条命令之后再输入下一条命令。比如我们可以在同一行中输入下面的内容: who ; ls 有什么效果?截个图吧! 图9 同时输入两条命令的执行结果 3.2有的时候,一个命令行可能并不能在一个行内结束,比如echo命令,尝试输入以下内容(括号里的是提示,不需要输入): echo “This is (此时按下回车键) a three-line (此时按下回车键) test message”(此时按下回车键) 效果如下: 图10 多行命令的输入效果 我们可以发现,辅助符号____符号的出现,表示命令行还没有结束。 3.3再来教几个高端的玩法 有一个上次已经讲过了,就是我们可以把一条命令的结果重定向到另一个地方,比如 who userlist.txt 就会把who命令的结果直接写入userlist.txt文件中,并且不会回显在终端。你可以像使用windows一样,通过图形界面找到这个txt文件并打开(用终端打开的方法,过几周会学到) 还有另外一个东西叫管道,我们会在下一部分重点讨论这个东西。可以先尝试一下,比如(输入中间的|是键盘+号右边那个键\号和shift键一起按) who | wc –l 就会把who的结果当作wc命令的输入(就像在两条命令之间建立了一个管道,连通了一样),wc本身是shell自带的一个计算器,所以最终输出的wc命令的结果、就是当前已经登陆用户的数目。将结果截图并粘贴在下面: 图11 管道效果 如果现在不大懂也没关系,我们过几周会再遇到这个。 echo和printf 4.1echo会在终端上显示一些消息,比如 echo “my name is student” 将结果截图: 图11 echo回显消息 我们发现,echo会把字符串回显在终端上。echo后边不仅可以跟字符串,还可以对一些变量求值,比如 echo $

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档