基于LINUX的操作系统实验教程 (2)
- 格式:doc
- 大小:555.50 KB
- 文档页数:88
计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc操作系统实验指导书(linux版)《操作系统》实验指导书实验学时:16适⽤专业:计算机科学与技术实验⼀:进程和线程的创建1. 在linux下编写⼀个应⽤程序,命名为an_ch2_1b。
这个程序不断地输出如下⾏:Those output come from child,[系统时间]另外写⼀个应⽤程序,命名为an_ch2_1a。
这个程序创建⼀个⼦进程,执⾏an_ch2_1b。
这个程序不断地输出如下⾏:Those output come from child,[系统时间]观察程序运⾏的结果,并对你看到的现象进⾏解释。
2。
在linux环境下编写⼀个控制台应⽤程序,程序中有⼀个共享的整型变量shared_var,初始值为0;创建⼀个线程并使其⽴即与主线程并发执⾏。
新创建的线程与主线程均不断地循环,并输出shared_var 的值。
主线程在循环中不断地对shared_var 进⾏加1操作,即每次循环shared_var 被加1;⽽新创建的线程则不断地对shared_var 进⾏减1 操作,即每次循环shared_var 被减1。
观察程序运⾏的结果,并对你看到的现象进⾏解释。
3。
提交源代码以及实验报告。
实验⼆:进程和线程同步和互斥1。
⽣产者消费者问题(信号量)参考教材中的⽣产者消费者算法,创建5个进程,其中两个进程为⽣产者进程,3个进程为消费者进程。
⼀个⽣产者进程试图不断地在⼀个缓冲中写⼊⼤写字母,另⼀个⽣产者进程试图不断地在缓冲中写⼊⼩写字母。
3个消费者不断地从缓冲中读取⼀个字符并输出。
为了使得程序的输出易于看到结果,仿照阅读材料中的实例程序,分别在⽣产者和消费者进程的合适的位置加⼊⼀些随机睡眠时间。
可选的实验:在上⾯实验的基础上实现部分消费者有选择地消费某些产品。
例如⼀个消费者只消费⼩写字符,⼀个消费者只消费⼤写字母,⽽另⼀个消费者则⽆选择地消费任何产品。
前言操作系统是计算机系统中的核心软件。
操作系统教学不但需要讲授操作系统概念、原理与方法,还需要让学生进行编程实践,只有这样才能让学生真正理解操作系统的精髓。
Linux操作系统是源码公开的实用的现代操作系统,同时Linux也得到了广泛的普及,所以采用Linux作为操作系统实验的平台。
第1章 Linux系统概述1.1.关于LinuxLinux于1991年诞生于芬兰。
大学生Linus Torvalds,编写了一个小的操作系统内核,这就是Linux的前身。
Linus Torvalds将操作系统的源代码在Internet 上公布,受到了计算机爱好者的热烈欢迎。
各种各样的计算机高手不断地为它添加新的特性,并不断地提高它的稳定性。
1994年, Linux 1.0 正式发布。
现在,Linux 已经成为一个功能强大的32位的操作系统。
1984年,由Richard Stallman组织成立了Free Software Foundation(FSF)组织以及GNU项目,并不断地编写创建GNU程序(程序的许可方式均为GPL: General Public License)。
GNU项目的目的是提供一个免费的类Unix的操作系统以及在上面运行的应用程序。
GNU项目在初期进展并不顺利,特别是操作系统内核方面。
Linux适时而出,由于它出色的性能,使它成为GNU项目的操作系统的内核。
从此以后, GNU项目进展非常迅速:全世界的计算机高手已经为它贡献了非常多的应用程序和源代码。
严格地说, Linux只是一个操作系统内核。
比较正式的称呼是GNU/Linux操作系统,它使用Linux内核。
GNU的意思是GNU’s not Unix(GNU不是Unix)—一种诙谐的说法,意指GNU是一种类Unix的操作系统。
为了保证GNU的软件可以自由使用和拷贝,GNU组织制订了一个新的法律许可协议:GPL协议。
该协议的主要特点:允许软件被自由地拷贝允许软件被自由地修改允许软件被修改后自由地传播,但必须提供源代码。
实验2Linux操作系统基本操作实验2 Linux操作系统基本操作Linux操作系统是一种开源的、免费的操作系统,具有广泛的应用和强大的功能。
掌握Linux的基本操作对于学习和使用该系统是非常重要的。
本文将介绍Linux操作系统的基本操作,帮助读者快速上手和熟悉Linux系统。
一、Linux系统的安装Linux系统的安装是使用该系统的第一步,正确的安装能够确保系统的正常运行。
在安装Linux操作系统时,首先需要选择适合自己的Linux发行版,如Ubuntu、CentOS等,然后按照相应的步骤进行安装。
1. 准备安装介质:下载相应的Linux发行版ISO镜像,并刻录成安装光盘或制作安装U盘。
2. 启动计算机:将安装介质插入计算机,按照提示启动计算机并选择从光盘或U盘启动。
3. 安装过程:根据安装程序的提示,选择安装语言、时区、键盘布局等选项,然后设置分区和文件系统,最后选择安装软件和设置用户信息。
4. 完成安装:安装完成后,重新启动计算机,正常情况下会进入Linux系统的登录界面。
二、Linux系统的登录与注销成功安装Linux系统后,下一步是登录到系统中。
1. 用户名和密码:在登录界面输入正确的用户名和密码,然后按下Enter键。
2. 图形界面和命令行:登录成功后,会进入Linux系统的桌面环境或命令行界面,可以根据需要选择相应的界面。
3. 注销:当需要退出Linux系统时,可以选择注销或重新启动计算机。
三、Linux系统的文件系统Linux系统的文件系统是系统中文件和目录的组织方式,了解和熟悉文件系统的结构能够更方便地使用和管理文件。
1. 目录结构:Linux系统采用树形结构的目录,根目录为/,下级目录按照一定规则进行组织。
2. 常用目录:在Linux系统中,有一些常用的目录,如/bin、/sbin、/home等,分别用于存放可执行文件、系统管理员命令和用户的主目录。
3. 切换目录:使用cd命令可以在不同的目录之间切换,如cd /home 可以切换到/home目录。
《操作系统原理》实验报告
实验序号:1 实验项目名称:Linux操作系统环境搭建
一、实验目的及要求
1. 加深对操作系统结构及编程环境的理解。
2. 掌握虚拟机软件及Linux操作系统的安装及环境搭建。
3. 掌握Linux操作系统下的C语言编程环境搭建。
二、实验设备(环境)及要求
1.搭建虚拟机VMware Workstation下的Ubuntu操作系统环境
2.搭建Ubuntu操作系统下的C语言编程环境,并用C语言实现N!程序,编译好并运行,采用函数调用的形式,模块化编程思想。
三、实验内容与步骤
1.搭建虚拟机VMware Workstation:
2.搭建虚拟机VMware Workstation下的Ubuntu操作系统环境:语言选择,开始安装:
输入信息:
安装完成:重启后:。
操作系统实验教程一、实验原理和环境搭建(大约200字)在开始实验之前,学生需要了解操作系统的基本原理,包括进程管理、文件管理、内存管理、设备管理等。
同时,需要搭建一个合适的实验环境,可以选择使用虚拟机软件搭建一台虚拟机,并安装一个操作系统作为实验环境。
二、实验内容和步骤(大约500字)1.进程管理实验:学生可以编写一个简单的多进程程序,用于展示进程的创建、调度和终止过程。
学生需要了解进程状态的转换和调度算法,例如FCFS、SJF、RR等。
实验的步骤包括定义进程控制块、创建进程、调度进程以及进程间的通信与同步。
2.文件管理实验:学生可以编写一个简单的文件管理系统,实现文件的创建、打开、读写和关闭等基本操作。
学生需要了解文件的组织方式、目录结构以及文件的读写权限等。
实验的步骤包括设计文件系统的结构、实现文件的创建和打开、实现文件的读写和关闭。
3.内存管理实验:学生可以编写一个简单的内存管理程序,模拟操作系统的内存分配和释放过程。
学生需要了解内存的组织方式、分页和分段机制以及虚拟内存管理等。
实验的步骤包括设计内存管理的数据结构、实现内存的分配和释放以及处理内存碎片等。
4.设备管理实验:学生可以编写一个简单的设备管理程序,模拟操作系统的设备分配和使用过程。
学生需要了解设备的组织方式、设备驱动程序以及设备中断处理等。
实验的步骤包括定义设备控制块、实现设备的分配和释放、处理设备中断以及设备的并发访问控制等。
三、实验结果和分析(大约300字)在完成实验后,学生需要对实验结果进行分析和总结。
他们可以关注实验中遇到的问题、解决问题的方法和改进的方向。
同时,还应该对实验的原理和实现进行评估和比较,以加深对操作系统的理解。
四、实验报告撰写(大约200字)每个实验都需要撰写实验报告,报告应包括实验目的、实验环境、实验内容、实验步骤、实验结果和分析等部分。
学生需要清晰地描述实验过程和思路,并附上相关的代码和截图。
报告应该具备清晰、准确和完整的特点,并体现出学生的思考和改进。
Ubuntu linux 操作系统与实验教程(第2版)课后习题第一章习题一1、判断题(1)在一台主机上只能安装一个虚拟机。
(2)在一个虚拟机下只能安装一个操作系统。
(3)格式化虚拟机下的操作系统就是格式化主机的操作系统。
(4)虚拟机的安装有三种安装类型。
(5)VMware Workstation 15 默认分配的推荐虚拟机的存是1G。
(6)Ubuntu 有两种安装方式:即Ubuntu和安装Ubuntu。
(7)解压vmware-install.pl文件安装VM tools。
(8)VMtools安装完成后可以在主机和虚拟机之间任意拖动和复制文件。
2、简答题(1)请简述在虚拟机的安装过程中,四种网络类型的特点?(2)简述.vmdk 和.vmx 文件的不同点?(3)Ubuntu应该建立几个分区?每个分区的大小是多少?(4)虚拟机捕获屏幕有什么作用?3、实验题(1)安装VMware Workstation Pro 15。
(2)为安装ubuntukylin-16.04.06创建虚拟机。
(3)在虚拟机中安装ubuntukylin-16.04.06。
(4)在Ubuntu下安装VM tools。
(5)上述实验完成后创建快照,如果使用Ubuntu过程中出现问题,可以恢复快照。
(6)更改虚拟机的内存、添加硬盘。
第二章习题二1、判断题(1)Linux操作系统诞生于1991 年8月。
(2)Linux是一个开放源的操作系统。
(3)Linux是一个类unix操作系统。
(4)Linux是一个多用户系统,也是一个多任务操作系统。
(5)Ubuntu Linux 16.04默认的桌面环境是Gnome。
(6)Ubuntu每一年发布一个新版本。
(7)ubuntu Linux 16.04包含LibreOffice套件。
2、简答题(1)什么是Linux?(2)简述Linux系统的产生过程?(3)简述Linux系统的组成?(4)什么是Linux 内核版本?举例说明版本号的格式。
计算机操作系统课程实验实验授课计划实验一:认识Linux系统【实验目的】了解Linux的启动过程;了解Linux文件的组织结构;熟悉X Window环境;熟练掌握Linux常用命令。
【准备知识】登录Linux是一个多用户多任务操作系统,多个用户可以拥有自己独立的用户账号登录提示:Red Hat Linux release 6.0 (Hedwing)Kernel 2.2.5-15 on an i686Login:此时输入用户户名(账号)并键入回车,则系统显示“passward”。
在输入密码和回车。
登录后:[root@hawk/root]##表示是按root方式登录,$表示是普通用户。
Linux大小写敏感,用加参数zlinux:~# Is -FHowTo/ HowToMin/ linux@ nag/ sag/获取帮助:Linux带有联机手册,可以用man命令来阅读Zlinux:〜$ man Is虚拟终端Linux可有多个用户登录到同一个计算机,但一般微机只有一个终端难以体现。
可以使用多个虚拟终端,用Alt+Fl、Alt+F2等来切换。
退出系统在停止使用系统时,要退出系统。
具体方法:exit或logout,或Ctrl+D关机如果没有用户在使用系统,可以关机。
但是不能直接关闭电源,而要按正常顺序关机。
一般用户是不能关机的,只有root用户可以关机。
方法:可以使用halt或shutdown命令,也可以同时键入Ctrl+Alt+Del。
Windows虚拟机环境:登录到系统点击桌面“VMware"图标---- > Vmware Workstation 窗口---- >Commands ------ >Start this virtual machine进入fedora后,用户名:root口令:123456【实验内容】(1)熟悉开机、登录、退出、关机步骤。
(2)查看并记录所在机器Linux操作系统目录结构,特别是源代码所在的目录及文件。
Linux操作系统实验教程第1章Linux系统概述一、Linux系统结构从操作系统的角度来分析Linux,它的体系结构总体上属于层次结构如下图所示:从到外包括三层:最层是系统核心,中间是Shell、编译编辑实用程序、库函数等,最外层是用户程序,包括许多应用软件。
从操作系统的功能角度来看,它的核心有五大部分组成:进程管理、存储管理、文件管理、设备管理、网络管理。
各子系统实现其主要功能,同时相互之间是合作、依赖的关系。
进程会管理是操作系统最核心的容,它控制了整个系统的进程调度和进程之间的通信,是整个系统合理高效运行的关键;存储管理为其他子系统提供存管理支持,同时其他子系统又为存管理提供了实现支持,例如要通过文件管理和设备管理实现虚拟存储器和外存的统一管理。
二、配置一个双引导系统如果计算机中已经安装了其他操作系统,并想创建一个引导系统以便兼用Red Hat Linux和另外的操作系统,需要使用双引导。
机器启动时,可以选择其中之一,但不能同时使用两者。
每个操作系统都从自己的硬盘驱动器或硬盘分区中引导,并使用自己的硬盘驱动器或硬盘分区。
如果计算机上还没有安装任何操作系统,可以使用专门的分区及格式化软件给Windows创建指定大小的分区,Windows的文件系统为FAT,再为Linux系统创建所需要大小的分区(4G或更大),另外再给Linux留100MB 左右的交换分区,Linux的文件系统为ext2。
然后就可以安装系统了。
应首先安装Windows,然后再安装Red Hat Linux。
如果只进行了分区而没有格式化各分区,在安装时可以使用Windows自带的格式化程序和Linux自带的格式化程序进行各自分区的格式化。
当Windows已经被安装,而且已为Linux准备了足够的磁盘空间,就可以安装Linux了。
Red Hat Linux安装程序通常会检测到Windows并自动配置引导程序来引导Windows或Red Hat Linux。
Linux的起源与发展Linux的特点与优势第二季度第三季度第一季度第四季度开源和免费稳定性和可靠性多用户和多任务强大的命令行功能服务器领域嵌入式设备桌面应用云计算和大数据01020304Linux的应用领域内核系统库系统工具应用程序文件系统类型Linux支持多种文件系统类型,如Ext2、Ext3、Ext4、XFS等。
文件系统结构Linux文件系统采用树形结构,以根目录“/”为起点,其他目录和文件都挂载在根目录下。
文件权限和所有权Linux文件系统对文件和目录的访问权限进行了严格控制,包括读、写和执行权限,以及文件和目录的所有权。
编程开发命令如程序编译、调试和构建。
如用于网络配置和故障排查。
系统管理命令如ps 系统进程、管理进程和终止进程等。
文件操作命令用于浏览目录、复制、移动和文本处理命令Linux 的基本命令1 2 3用户管理用户组管理用户和用户组关系管理用户和用户组管理了解文件和目录权限的基本概念,如读、写、执行权限等。
文件和目录权限概述修改文件和目录权限默认权限和掩码特殊权限使用chmod 命令修改文件和目录的权限。
了解默认权限和掩码的概念,以及如何设置默认权限和掩码。
了解并设置特殊权限,如setuid 、setgid 和sticky 位。
文件和目录权限管理进程管理进程概述查看进程终止进程进程优先级和调度系统备份与恢复系统备份概述使用rsync命令进行备份A B C D使用tar命令进行备份系统恢复故障排除方法和相关的问题。
介绍Web 服务的基本概念、工作原理和HTTP 协议。
Web 服务概述介绍如何使用Linux 系统进行Web 应用的开发,包括PHP 、Python 等开发语言和环境配置。
Web 应用开发详细讲解如何安装和配置Web 服务器,包括Apache 、Nginx 等常见Web 服务器的配置方法。
Web 服务器配置提供一些常见的Web 服务故障排除方法和工具,帮助读者解决Web 服务相关的问题。
前言操作系统是计算机系统中的核心软件。
操作系统教学不但需要讲授操作系统概念、原理与方法,还需要让学生进行编程实践,只有这样才能让学生真正理解操作系统的精髓。
Linux操作系统是源码公开的实用的现代操作系统,同时Linux也得到了广泛的普及,所以采用Linux作为操作系统实验的平台。
第1章 Linux系统概述1.1.关于LinuxLinux于1991年诞生于芬兰。
大学生Linus Torvalds,编写了一个小的操作系统内核,这就是Linux的前身。
Linus Torvalds将操作系统的源代码在Internet 上公布,受到了计算机爱好者的热烈欢迎。
各种各样的计算机高手不断地为它添加新的特性,并不断地提高它的稳定性。
1994年, Linux 1.0 正式发布。
现在,Linux 已经成为一个功能强大的32位的操作系统。
1984年,由Richard Stallman组织成立了Free Software Foundation(FSF)组织以及GNU项目,并不断地编写创建GNU程序(程序的许可方式均为GPL: General Public License)。
GNU项目的目的是提供一个免费的类Unix的操作系统以及在上面运行的应用程序。
GNU项目在初期进展并不顺利,特别是操作系统内核方面。
Linux适时而出,由于它出色的性能,使它成为GNU项目的操作系统的内核。
从此以后, GNU项目进展非常迅速:全世界的计算机高手已经为它贡献了非常多的应用程序和源代码。
严格地说, Linux只是一个操作系统内核。
比较正式的称呼是GNU/Linux操作系统,它使用Linux内核。
GNU的意思是GNU’s not Unix(GNU不是Unix)—一种诙谐的说法,意指GNU是一种类Unix的操作系统。
为了保证GNU的软件可以自由使用和拷贝,GNU组织制订了一个新的法律许可协议:GPL协议。
该协议的主要特点:允许软件被自由地拷贝允许软件被自由地修改允许软件被修改后自由地传播,但必须提供源代码。
很多软件制作者都遵循GPL协议,无数的软件开发人员和软件爱好者将自己的软件通过GPL分布,公布在互联网上,从而形成了一个庞大的GNU社区。
Linux是遵从GPL协议的软件,也就是说,只要遵从GPL协议,就可以免费得到它的软件和源代码,并对它进行自由地修改。
然而,对一般用户来说,从Internet或者其他途径获得这些源代码,然后对它们进行编译和安装是技术难度很高的工作。
一些应用程序的安装也都非常复杂。
因而,有一些公司如Red Hat、VA等开始介入Linux的业务。
它们将Linux操作系统以及一些重要的应用程序打包,并提供较方便的安装界面。
同时,还提供一些有偿的商业服务如技术支持等。
这些公司所提供的产品一般称为Linux的发布版本。
目前比较著名的Linux发布版本有以下几种:Red Hat—最著名的Linux服务提供商,Intel、Dell等大公司都对其有较大投资,该公司收购了开放源代码工具供应商CyGNUs公司。
Red Hat最早由Bob Young和Marc Ewing在1995年创建。
而公司开始真正步入盈利时代,归功于收费的Red Hat Enterprise Linux(RHEL,Red Hat的企业版)。
而正统的Red Hat版本早已停止技术支持,最后一版是Red Hat 9.0。
于是,Red Hat 分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。
Fedora Core 1发布于2003年年末,而FC的定位便是桌面用户。
FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅六个月。
Fedora 是一个操作系统和平台,基于 Linux。
它允许任何人自由地使用、修改和重发布,无论现在还是将来。
它由一个庞大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。
Fedora Core 是Fedora Project 的一部分,得到了 Red Hat, Inc. 的支持。
可运行的体系结构包括 x86, x86_64 和 PPC。
SlackWare—历史比较悠久,有一定的用户基础。
SUSE—在欧洲知名度较大。
Turbo Linux—在亚洲,特别是日本用户较多。
该公司在中国推出了TurboLinux 4.0、4 .0 2和6 .0的中文版,汉化做得很出色。
Debain—完全由计算机爱好者和Linux社区的计算机高手维护的Linux发布版本。
Linux进入中国后,在我国计算机界引起了强烈的反响,也出现了许多汉化的Linux发布版本,影响较大的有以下几种:Xteam Linux—北京冲浪平台公司推出的产品,中国第一套汉化的Linux发布版本。
BluePoint—1999年底正式推出的产品,内核汉化技术颇受瞩目。
红旗Linux—中国科学院软件研究所和北大方正推出的Linux发布版本。
从本质上来说,上面所有发布版本使用的都是同样的内核(或者版本略有不同),因而,它们在使用上基本上没有什么区别。
但它们的安装界面不一样,所包含的应用程序也有所不同。
Linux之所以大受欢迎,不仅仅因为它是免费的,而且还有以下原因:1) Linux是一个真正的抢占式多任务、多线程、多用户的操作系统。
2) Linux性能非常稳定,功能强劲,可以与最新的商用操作系统媲美。
3) Linux有非常广泛的平台适应性。
它在基于Intel公司的x 8 6(也包括AMD、Cyrixx、IDT)的计算机、基于Alpha的计算机,以及苹果、Sun、SGI等公司的计算机上都有相应的发布版本,甚至在AS/400这样的机器上都能找到相应的版本。
Linux 还可以在许多PDA和掌上电脑以及嵌入式设备上运行。
4) 已有非常多的应用程序可以在Linux上运行,大多数为SCO Unix开发的应用程序都能在Linux上运行(借助于i B C S软件包),甚至还比在SCO Unix上运行速度更快。
借助Dosemu,可以运行许多DOS应用程序,而借助Wabi或Wine,还可以运行许多为Windows设计的软件。
5) Linux是公开源代码的,也就是说,不用担心某公司会在系统中留下后门(软件开发商或程序员预留的,可以绕开正常安全机制进入系统的入口)。
6) 只要遵从GPL协议,就可以自由地对Linux进行修改和剪裁。
当然, Linux的优点决不止于此。
对计算机专业人员来说, Linux及其相关应用程序也是学习编程的绝好材料,因为这些软件都提供了完整的源代码。
Linux的出现为我国软件产业赶超世界先进水平提供了极好的机遇,也为我国软件产业反对微软的垄断提供了有力的武器。
1.2 关于shellShell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。
操作系统是一个系统资源的管理者与分配者,当用户有需求时,得向系统提出;从操作系统的角度来看,它也必须防止使用者因为错误的操作而造成系统的伤害。
众所周知,对计算机下命令得通过命令(command)或是程序(program);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?其实shell 也是一个程序,它由输入设备读取命令,再将其转为计算机可以了解的机器码,然后执行它。
各种操作系统都有它自己的shell,以DOS 为例,它的shell 就是 文件。
如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解译程序可以取代标准的 ,UNIX 下除了 Bourne shell(/bin/sh) 外还有 C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh) … 等其它的 shell。
UNIX/Linux 将 shell 独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。
(1)Shell 的激活在系统启动的时候,核心程序会被加载内存,负责管理系统的工作,直到系统关闭为止。
它建立并控制着处理程序,管理内存、档案系统、通讯等等。
而其它的程序,包括 shell 程序,都存放在磁盘中。
核心程序将它们加载内存,执行它们,并且在它们中止后清理系统。
Shell 是一个公用程序,由使用者login时启动,Shell 提供使用者和核心程序产生交谈的功能。
当用户(login)时,一个交谈式的shell 会跟着启动,并提示用户输入命令。
在用户键入一个命令后,接着就是 shell 的工作了,它会进行:1. 语法分析命令列2. 处理万用字符(wildcards)、转向(redirection)、管线(pipes)与工作控制(job control)3. 搜寻并执行命令当用户刚开始学UNIX/Linux系统时,大部分的时间会花在于提示符号(prompt)下执行命令。
如果用户经常会输入一组相同形式的命令,可能会想要自动执行那些工作。
如此,可以将一些命令放入一个文件(称为script),然后执行该文件。
一个shell 命令文件很像是 DOS 下的批处理文件(如 Autoexec.bat):它把一连串的 UNIX 命令存入一个文件,然后执行该文件。
较成熟的命令文件还支持若干现代程序语言的控制结构,如条件判断、循环、测试、传送参数等。
要写命令文件,不仅要学习程序设计的结构和技巧,而且要对 UNIX/Linux 公用程序及如何运作需有深入的了解。
有些公用程序的功能非常强大(例如 grep、sed 和awk),它们常被用于命令文件来操控命令输出和档案。
在用户对那些工具和程序设计结构变得熟悉之后,就可以开始写命令文件。
当由命令文件执行命令时,此刻,就已经把 shell 当做程序语言使用了。
(2)Shell 的生平第一个有重要意义的,标准的 UNIX shell 是V7(AT&T的第七版)UNIX,在1979 年底被提出,且以它的创造者 Stephen Bourne 来命名。
Bourne shell 是以 Algol 这种语言为基础来设计,主要被用来做自动化系统管理工作。
C shell 是在加州大学柏克来分校于70年代末期发展而成,而以2BSD UNIX 的部分发行。
这个 shell 主要是由 Bill Joy 写成,提供了一些在标准 Bourne shell 所看不到的额外特色。
C shell 是以C 程序语言作为基础,且它被用来当程序语言时,能共享类似的语法。