Linux操作系统实用教程-第六章ppt课件.pptx
《Linux操作系统实用教程-第六章ppt课件.pptx》由会员分享,可在线阅读,更多相关《Linux操作系统实用教程-第六章ppt课件.pptx(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux操作系统实用教程第6章 Red Hat Linux 9的shell程序 6.1 shell简介 6.2 创建和执行shell程序 6.3 shell环境变量及设置文件 6.4 shell脚本编程 6.5 shell程序跟踪本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。本章概述本章概述Shell的原意是外壳,用来形容物体外部架构。各种操作系统都有自己的shell,在DOS系统中,它的shell就是程序,而Windows操作系统的程序shell是explorer.exe
2、程序。与Windows等操作系统不同,Linux系统中将shell独立于操作系统核心程序之外,使得用户可以在不影响操作系统本身的情况下进行修改,更新版本或添加新的功能。第6章 Red Hat Linux 9的shell程序本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。操作系统的shell程序,介于用户和操作系统内核(Kernel)之间,负责将用户的命令解释成操作系统可以接受的指令,然后由操作系统来执行这些指令,并将操作系统执行的结果以用户可以了解的方式反馈给用户。6.1.1
3、shell及及shell编程编程在Linux系统中,shell是操作系统的外壳,为用户提供使用操作系统的接口,它是命令语言、命令解释程序和程序设计语言的统称。shell是用户和操作系统之间的一个接口。用户在命令提示符下输入的每个命令都首先由shell程序进行解释,然后再传给Linux内核的。6.1 shell的简介 6.1.1 shell及及shell编编程程本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。shell是一个命令解释器。它拥有自己内建的shell命令集,可以用它来
4、启动、挂起、停止一些程序。此外shell也能被系统中的其他有效的Linux应用程序所调用。shell还是一个解释型的程序设计语言。shell程序设计语言支持绝大多数高级程序设计语言中常用的元素,比如函数、变量、数组和控制结构。shell编程简单易学,在任何命令提示符中能键入的命令都可以在shell程序中使用。而且一旦掌握,它将成为工作中的得力工具。和DOS和Windows不同,Linux提供了多种shell程序供用户选择使用,使用不同类型shell的原因是它们都有各自的特点。一般某个用户登录系统时的shell都在/etc/passwd6.1 shell的简介 6.1.1 shell及及shel
5、l编编程程本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。文件的最后一个字段中定义,用户可以通过修改该字段来替换其使用的shell。另外,用户在文本模式下登录系统后,Linux的初始化程序initd就会为每个用户启动一个shell,可以使用“Alt+F1F6”来获取shell提供的多个虚拟控制台,使用虚拟控制台的最大好处就是,当一个虚拟控制台上的程序由于出错给锁住输入时,用户可以进入另一个虚拟控制台,然后杀死该进程。如果系统使用了X Window的图形模式,那么虚拟终端的切换就
6、要使用“Ctrl+Alt+F1F6”。6.1 shell的简介 6.1.1 shell及及shell编编程程本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。6.1.2 bash在Linux中,用户可以选择使用多种不同类型的shell。在RedHat Linux 9的/etc/shells文件中,列出了目前系统可以使用的shell。并且给出了这些shell程序的位置。具体如下图所示。6.1 shell的简介 6.1.2 bashRedHat Linux 9中的shell本标准适用
7、于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。最常用的几种shell是Bourne shell(sh)、C shell(csh)、Ash shell(ash)、Korn shell(ksh)和Bourne Again shell(bash)等。每种shell都有自己的特点,一般的Linux系统默认使用bash。1bash简介简介Bourne shell是最早被大量使用及标准化的shell,几乎所有的Linux都支持它。它是由贝尔实验室开发的,由于开发者是Steven Bourne,所以
8、被命名为“Bourne shell”。Bourne Again shell(bash)是Bourne shell的扩展,与Bourne shell完全兼容,并且在其基础上增加和增强了很多功能。其中包括了很多csh和ksh的优点。bash不仅有非常灵活和强大的编程接口,同时又有非常友好的用户界面。它内建40个shell命令和12个命令行参数。目前bash6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。是大多数Linux默认的shell
9、,RedHat Linux 9也默认使用bash。bash有许多特色,可以使用方向键查阅以前输入的命令,即history功能。可以对命令行进行编辑,甚至可以在忘记了命令名时请求shell通过命令行补齐进行帮助,方法就是在敲入命令的一部分时,再按下Tab键即可。例如,在命令行提示符下输入ls,再按下“Tab”键,bash会帮助用户列出所有以“ls”打头的命令名,供用户选择。如图下所示。6.1 shell的简介 6.1.2 bashbash的命令行补齐本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准
10、执行,并增补指标。bash也内建了帮助功能,可以给出所有内建命令和每个系统命令的帮助信息。可以使用“help”的方法获得指定命令的帮助信息。在RedHat Linux 9中环境表变量SHELL记录了系统当前使用的shell程序的名称,可以通过返回环境变量SHELL的值来查看当前系统使用的shell程序,如图下所示。6.1 shell的简介 6.1.2 bash查看系统当前的shell本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。2bash的功能的功能shell是操作系统的外壳
11、。RedHat Linux 9中默认使用的shell是bash,它为用户提供使用操作系统的接口,承担着用户与操作系统内核之间进行沟通的任务。除此之外,bash程序还兼备如下的功能:1)交互式处理从用户登录系统开始,shell程序就是在系统终端中显示不同的命令行提示符(root用户登录系统则提示符显示“#”,普通用户登录则显示“$”),然后等待用户输入命令。在接收来自用户输入的命令后,bash会根据命令的不同的类型(包括程序或shell内置命令)来执行,在执行完毕后,bash将结果回传给用户,并且再次回到命令提示符,以等待用户的下一次输入。这种模式会一直继续下去,直6.1 shell的简介 6.
12、1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。到用户执行exit或是按下Ctrl+D来注销,bash才会结束,bash的这种与用户沟通的方式称为“交互式处理”。2)命令补全功能所谓“命令补全”是指在用户输入命令的时候,无需输入完整的命令行,Linux系统的shell会自动查找出最符合的命令名称,供用户选择。这样的功能可以帮用户节省输入长串命令的时间。例如,在/root目录下有一个testexecvp.c文件,如果想查看其中的内容,并不需要完整输入该文件的名称,
13、而只要输入开头的几个字母,即输入“more/root/teste”,然后按下Tab键一次,Linux的bash会自动补足完整的命令(more/root/testexecvp.c)。6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。另一种情况就是,如果系统中有多个文件都与输入的前缀相同,那么当用户连续按下2次Tab键时,系统会显示当前目录下所有具有相同前缀的文件名称,供用户选择。例如,输入“more test”后按2次Tab键,结果如图
14、下所示。6.1 shell的简介 6.1.2 bashbash的补齐功能本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。shell的补全功能,不但方便,而且可以避免由于用户输入错误的路径而执行错误的程序。3)查阅历史记录history命令在RedHat Linux 9中,每当用户输入的命令并按下Enter后,都会被记录在命令记录表中,默认情况下,bash默认使用的命令记录表文件为用户主目录下的.bash_history(文件名前面的“.”表示这是一个隐藏文件)文件。可以使用环境
15、变量HISTSIZE来定义命令记录表的条数,默认的记录条数为1000条。6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。在RedHat Linux 9中可以直接浏览.bash_history文件,或使用history命令来查看目前的命令记录。如下图所示。6.1 shell的简介 6.1.2 bashbash的补齐功能本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅
16、炉以及联合循环机组可参照本标准执行,并增补指标。系统提供的history命令可以列出完整的系统在该用户登录时执行过的所有命令,并以命令执行的先后顺序列出记录的号码。如果要查看最近执行的命令,则可以使用“history n”命令,其中,n表示需要查看的最近执行的命令的条数。如下图所示,列出系统最近执行的10条命令。6.1 shell的简介 6.1.2 bash查看最近的10条命令记录本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。bash的history功能提供了一种执行命令的最
17、快的方法,就是使用命令记录号码。在RedHat Linux 9的命令记录中,每条用户执行过的命令都会被赋一个记录号码,用户可以利用这些记录号码来执行指定的要执行的旧命令。其语法如下:!例如,要执行478条记录标记的命令,可以在命令行提示符下执行如下:rootmyhost root#!478结果如右图所示。6.1 shell的简介 6.1.2 bash使用!执行命令本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。4)别名(alias)功能Linux中的别名功能是指提供给用户使用自
18、定义的简单字符串,来替换复杂的命令选项,或是替换连续多个命令的连续组合的功能,从而使得用户可以自定义符合自己习惯的操作命令。例如,对于熟悉DOS和Windows的用户来说,dir命令可以方便地显示当前目录的内容,但是在Linux中完成该功能的命令是“ls l”。如果希望使用dir来代替ls l,则可以使用alias功能来创建一个到ls l的别名,如下图所示。6.1 shell的简介 6.1.2 bashbash的alias功能本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。如果
19、希望查看当前Linux系统中使用的别名命令,可以直接输入“alias”命令。如果需要取消特定的别名命令,可以使用unalias命令。例如,取消dir别名命令可使用如下命令。rootmyhost root#unalias dir使用alias命令查看并取消别名命令的结果如下图所示。6.1 shell的简介 6.1.2 bash查看并取消别名命令本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。5)后台处理Linux是多用户多任务的操作系统,它允许多个用户同时登录系统,也允许多个程序
20、同时执行。但因为shell使用交互式模式,目前执行的命令会一直掌握系统的控制权,直到该程序结束为止,这类程序称为前台程序(Foreground)。shell采用的这种前台程序接管系统控制权的模式,使得个别用户无法使用Linux提供的多任务功能来增加效率,因此,shell提供了后台处理功能来解决上述问题。6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。通常,Linux后台运行的都是比较耗时的程序,如编译核心或是下载Linux的安装文件
21、等,但是后台任务在执行期间,用户仍然可以和shell继续交互,以下达其他的命令。要在RedHat Linux 9中要执行后台程序,只要在输入命令的时候,在命令后面加上“&”符号。系统就会开始以后台的方式执行该命令,屏幕将显示该后台运行程序的进程PID,然后shell将回到命令提示符状态,以等待用户的下一个命令的输入。例如,将top命令投入后台运行。如下图所示。6.1 shell的简介 6.1.2 bash后台运行top本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。当前某个任务
22、在前台运行之后,就无法使用“&”将它投入后台运行,但是可以先使用“Ctrl+z”组合键暂停该程序,然后在命令提示符下输入“bg”命令,即可将该任务投入后台执行。如果要查看目前系统中正在运行的后台程序,可以使用jobs命令。6)输入/输出重定向在Linux系统中,标准输入和输出有3种形态:标准输入(stdin):通常是指键盘。标准输出(stdout):通常是指将命令执行的结果输出到终端机或屏幕上。标准错误输出(stderr):是指在命令发生错误时,将其错误信息输出到屏幕上。6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技
23、术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。一般情况下,程序的输入对象都是标准输入,输出是标准输出。在Linux中提供了输入(和和)的重新定向功能,它可以将程序的输入和输出由标准设备重定向到文件、打印机或其他装置(/dev/null)。这里重定向(和和)是追加重定向,就是新的内容将被添加到文件原来内容的后面。例如,先使用ls命令查看/etc/pam目录的内容,然后将查看结果重定向到ls_result.txt文件中。其命令和执行结果如图所示。6.1 shell的简介 6.1.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮
24、发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。然后使用输入重定向查看ls_result.txt文件,可在命令提示符中输入如下命令:rootmyhost root#cat、|和!,还有以下可以在shell中使用的特殊字符。1)通配符(*和?)“*”和“?”是Linux系统中最常用的两个通配符,在字符串查找的时候,通配符可以代替任意的字符。其中“?”可以代替一个任意字符,“*”可以代替任意多个字符。例如,执行“ls l/root/test*”命令就会列出/root目录下所有以test打头的所有文件名,如下图所示。6.1 shell的简介 6.1
25、.2 bash本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。2)命令取代符()命令取代符“”在Esc键下方,与“”符号在同一个键上。两个“”符号包围的命令,是该命令行中首先被执行的命令。例如,“echo date”命令,首先执行date命令,然后使用echo来显示date命令的结果,而不是显示字符串date,如下图所示。6.1 shell的简介 6.1.2 bash命令取代符“”的使用本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 实用教程 第六 ppt 课件
限制150内