实验:Shell实践与设计

2016-02-20 13:23 11 1 收藏

下面是个简单易学的实验:Shell实践与设计教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Linux教程 】

1. 实验目

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

  的理解shell程序的功能。

  学会shell的使用。

  建造一个简单的shell。

  2. 实验内容

  基本任务:编写一个简单的shell程序,实现以下基本的命令。

  1) 浏览目录和文件的各种属性 ls -l?

  2) 回显 echo、

  3) 显示文件内容 cat、more、

  4) 创建目录mkdir、

  5) 删除目录rmdir、

  6) 删除文件rm、

  7) 改变目录cd 、

  8) 改变文件和目录的权限chmod、

  9) 显示当前目录 pwd、

  10) 文字统计 wc、

  11) 查看时间命令 date 、time、

  12) 退出命令exit、

  13) 帮助命令 help、

  14) 发送信号命令 kill、

  15) 查看在线用户 who、

  16) 查看命令历史记录 history、

  17) 查看系统的信息 systeminfo

  18) 执行用户的程序

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

  选做任务

  提供友好的人机界面;
  Advanced shell功能,例如:
  1) 输入输出重定向,例如 ./a.out output.dat
  2) 支持多管道命令,例如 ./a.out -a | ./b.out | ./c.out
  3) 支持后台运行命令,例如 ls | wc &
  4) 其他:参考GNU bash提供的功能。

  参考程序:

  课本的示例Program 1.5 和 Program 8.8
  GNU bash. 源代码见bash-2.05b.tar.gz,文档见bash-doc-2.05b.tar.gz。

  3. 实验要求

  独立完成实验内容
  良好的编程风格

  注意事项
  禁止使用system函数直接调用系统shell提供的命令。

  对于执行指定的程序,使用fork函数生成一个新进程执行。

  必须有exit命令:用来退出shell。

  必须有help命令:列出shell所拥有的所有命令。

  当前目录下放一个hello程序(功能:打印"hello world")。

  实验提交

  1) 程序源代码、可执行文件、makefile和readme都放在目录 /home/apue/apue×××/lab2/下,×××表示用户的编号。请严格按照上述目录位置存放,否则后果自负。

  2) 程序命名:  mysh , 提交前请编译好且可执行。

  3) readme文件为实验报告:说明程序设计文档、用户手册。

  4. 评分标准

  A——选做内容/必做内容功能完善,编程风格好,人机接口界面好;
  B——必做内容功能完善,完成部分选做内容,编程风格好,人机接口界面良好;
  C——完成必做内容,编程风格良好;
  D——能完成必做内容;
  E——未按时完成必做内容,或者抄袭(雷同者全部为E).

来源:https://www.tulaoshi.com/n/20160220/1647759.html

延伸阅读
关于在 Java 语言中使用异常的大多数建议都认为,在确信异常可以被捕捉的任何情况下,应该优先使用检查型异常。语言设计(编译器强制您在方法签名中列出可能被抛出的所有检查型异常)以及早期关于样式和用法的著作都支持该建议。最近,几位闻名的作者已经开始认为非检查型异常在优秀的 Java 类设计中有着比以前所认为的更为重要的地位...
标签: ASP
  作者:mechiland (http://www.jzchen.net) 动笔时间:2003年4月21日 完成时间:2003年4月29日 目录: 概述历史 先进的技术与好用的技术: ASP到了尽头吗? 组件化的Web程序       一个实例       小技巧       结束语 概述 本文简要描述了Web开发的历史...
(注:本文以Debian GNU/Linux为蓝本。各版本中个别路径用法等不同请自行查看修改。)1、首先拷贝字体到系统字体目录下比如/usr/share/fonts/truetype/hahafonts(hahafonts请自行建立),我在Debian sid中:(这里以大家都比较好找的windows字体为例。)到win下找到你需要的字体,比如我拷了simhei.ttf simyou.ttf tahoma.ttf verdana.ttf simsun.tt...
随着计算机语言的发展,我们现在编写一个程序越来越轻易了。利用一些软件开发工具,往往只要通过鼠标的拖拖点点,计算机就会自动帮你生成许多代码。但在很多时候,计算机的这种能力被滥用了,我们往往只考虑把这个程序搭起来,而不去考虑程序的性能如何,程序是否足够的健壮。 !-- frame contents -- !-- /frame contents -- 而此节...
将泛型添加到 Java 语言中增加了类型系统的复杂性,提高了许多变量和方法声明的冗长程度。因为没有提供 “typedef” 工具来定义类型的简短名称,所以有些开发人员转而把扩展当作 “穷人的 typedef”,结果收到了良好的效果。 对于 Java 5.0 中新增的泛型工具,一个常见的抱怨就是,它使代码变得太冗长。原来用一行就够的变量声明...

经验教程

80

收藏

19
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部