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