Linux操作系统 Linux Shell介绍 1
1 Linux 操作系统 Linux Shell 介绍
主要内容和学习要求 口知道什么是shell和一些常见的shell 口掌握bash的基本功能(通配符、别名等) 口了解bash的启动脚本 口了解shell变量,学会查看和修改变量的值 口理解如何定制bash 2
2 主要内容和学习要求 知道什么是 shell 和一些常见的 shell 掌握 bash 的基本功能(通配符、别名等) 了解 bash 的启动脚本 了解 shell 变量,学会查看和修改变量的值 理解如何定制 bash
Shell简介 口shell是系统的用户界面,它提供了用户和Linux (内核)之间进行交互操作的一种接口。用户在命 令行中输入的每个命令都由shell先解释,然后传给 Linux内核去执行。 ▣王 如果把Linux内核想象成一个 用程扇 Shell 球体的中心,shell就是围绕内核 内核 的外层,从shell向Linux操作系 统传递命令时,内核就会做出相 应的反应
3 shell 是系统的用户界面,它提供了用户和 Linux (内核)之间进行交互操作的一种接口。用户在命 令行中输入的每个命令都由 shell 先解释,然后传给 Linux 内核去执行。 如果把 Linux 内核想象成一个 球体的中心,shell 就是围绕内核 的外层,从 shell 向 Linux 操作系 统传递命令时,内核就会做出相 应的反应。 Shell 简介
Shell简介 ▣shell是一个命令语言解释器,拥有自己内建的 shell命令集。此外,shell也能被系统中其他应用程 序所调用。 口shel的另一个重要特性是它自身就是一个解释型 的程序设计语言,shell程序设计语言支持在高级语 言里所能见到的绝大多数程序控制结构,比如循 环,函数,变量和数组等。shell编程语言简单易 学,一旦掌握后它将成为你的得力工具。任何在命 令行中能键入的命令也能放到一个可执行的shell程 序里
4 shell 的另一个重要特性是它自身就是一个解释型 的程序设计语言,shell 程序设计语言支持在高级语 言里所能见到的绝大多数程序控制结构,比如循 环,函数,变量和数组等。shell 编程语言简单易 学,一旦掌握后它将成为你的得力工具。任何在命 令行中能键入的命令也能放到一个可执行的 shell 程 序里。 shell 是一个命令语言解释器,拥有自己内建的 shell 命令集。此外,shell 也能被系统中其他应用程 序所调用。 Shell 简介
常用的Shell 常用的shell有Bourne shell,.C shell,和Korn shell。 口三种shell都有它们的优点和缺点。 不同shell之间的转换非常方便。 ▣Bourne shell(sh) 作者是Steven Bourne,它是UNIX最初使用的 shell并且在每种UNIX上都可以使用。Bourne shel在shell编程方面相当优秀,但在处理与用户 的交互方面不如其他几种shell。 5
5 常用的 shell 有 Bourne shell, C shell, 和 Korn shell。 常用的 Shell 作者是 Steven Bourne,它是 UNIX 最初使用的 shell 并且在每种 UNIX 上都可以使用。Bourne shell 在 shell 编程方面相当优秀,但在处理与用户 的交互方面不如其他几种 shell。 Bourne shell (sh) 三种 shell 都有它们的优点和缺点。 不同 shell 之间的转换非常方便
常用的Shell(续) ▣C shell(csh) C shell由Bill Joy所写,它更多的考虑了用户界面的 友好性。它支持象命令补齐等一些Bourne shell所不 支持的特性。因为C shell的语法和C语言的很相 似,C shell被很多C程序员使用,这也是C shell名 称的由来。 ▣Korn shell(ksh) 由Dave Korn所写。它集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容
6 C shell 由 Bill Joy 所写,它更多的考虑了用户界面的 友好性。它支持象命令补齐等一些 Bourne shell 所不 支持的特性。因为 C shell 的语法和 C 语言的很相 似,C shell 被很多 C 程序员使用,这也是 C shell 名 称的由来。 C shell (csh) 常用的 Shell (续) 由 Dave Korn 所写。它集合了 C shell 和 Bourne shell 的优点并且和 Bourne shell 完全兼容。 Korn shell (ksh)
常用的Shell (续) ▣其它shell 许多其它的shell基本上都是吸收了这些shel的优点 扩展而成的shell。常见的有tcsh(csh的扩展), Bourne Again shell(bash,sh的扩展),和Public Domain Korn shell(pdksh,ksh的扩展)。 ▣bash是现在大多数Linux系统的缺省shell bash与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加和增强了很多特性。bash也包含了 很多csh和ksh里的优点。bash有很灵活和强大的编 程接口,同时又有很友好的用户界面
7 许多其它的 shell 基本上都是吸收了这些 shell 的优点 扩展而成的 shell。常见的有 tcsh (csh 的扩展), Bourne Again shell(bash, sh 的扩展),和 Public Domain Korn shell (pdksh, ksh 的扩展)。 bash 与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性。bash 也包含了 很多 csh 和 ksh 里的优点。bash 有很灵活和强大的编 程接口,同时又有很友好的用户界面。 bash 是现在大多数 Linux 系统的缺省 shell 常用的 Shell (续) 其它 shell
Bash的功能 口命令行 当用户打开一个(虚拟)终端时,可以看到一个 shel1提示符,标识了命令行的开始。用户可以在 提示符后面输入任何命令 command [选项][参数] 例:1s-1/home/ypan/1inux/ 注意:命令行中选项先于参数输入 8
8 当用户打开一个 (虚拟) 终端时,可以看到一个 shell 提示符,标识了命令行的开始。用户可以在 提示符后面输入任何命令 例:ls –l /home/jypan/linux/ 注意:命令行中选项先于参数输入 command [选项] [参数] 命令行 Bash 的功能
命令行特征 ▣在一个命令行中可以输入多个命令,用分号将各 个命令隔开。例如: 1s -F;cp -imydata newdata 口如果一个命令太长,无法在一行中显示,可以使 用反斜杠八来续行,在多个命令行上输入一个命令 或多个命令。例如: 1s-E;\ cp -i mydata newdata 大多数shlI在达到命令行行尾时都会自动断开长命令
9 如果一个命令太长,无法在一行中显示,可以使 用反斜杠 \ 来续行,在多个命令行上输入一个命令 或多个命令。例如: ls -F; \ cp -i mydata newdata 大多数 shell 在达到命令行行尾时都会自动断开长命令 在一个命令行中可以输入多个命令,用分号将各 个命令隔开。例如: ls -F; cp -i mydata newdata 命令行特征
命令行特征(续) 口命令行编辑 命令行实际上是可以编辑的一个文本缓冲区,在按回车之 前,可以对输入的命令进行编辑。如用BACKSPACE键 可以删除刚键入的字符,也可以进行整行删除,还可以插 入字符等。 10
10 命令行实际上是可以编辑的一个文本缓冲区,在按回车之 前,可以对输入的命令进行编辑。如用 BACKSPACE 键 可以删除刚键入的字符,也可以进行整行删除,还可以插 入字符等。 命令行特征 ( 续 ) 命令行编辑