下面是最近学习shell的一些知识点总结
***博客园-邦邦酱好***
1.什么是shell
(1)Shell将我们输入的指令与Kernel沟通,好让Kernel可以控刢硬件来正确无误地工作。
(2)我们总是需要让用户操作系统的,所以就有了在操作系统上面发展的应用程序啦!用户可以透过应
用程序来指挥核心,让核心达成我们所需要的硬件任务。应用程序其实是在最外局,就如同鸡蛋的外壳一样,因此这个咚咚也就被称呼为壳程序(shell)啰。
(3)包括man, chmod, chown, vi, fdisk, mkfs等等指令,这些指令都是独立的应用程序,我们可以透过壳程序(就是指令列模式)来操作这些应用程序,让这些应用程序呼叫核心来运作所需的工作。
2.shell的历史
由于早年的Unix年代,发展者众,所以由于shell依据发展者的不同就有讲多的版本,例如常听到的Bourne SHell (sh)、在Sun里头预的C SHell、商业上常用的K SHell、,还有TCSH等等,每一种Shell
都各有其特点。
shell 的简单历史:第一个流行的 shell 是由 Steven Bourne 发展出来的,为了纪念他,所以就称为 Bourne shell,或直接简称为sh!而后来另一个广为流传的shell是由柏克莱大学的 Bill Joy 设计依附于BSD版的Unix 系统中的shell,这个shell的语法有点类似C语言,所以才得名为C shell ,简称为csh!由于在学术界Sun主机势力相当的庞大,而Sun主要是BSD的分支之一,所以C shell也是另一个很重要而且流传很广的shell之一。
3.系统的shell
查看系统的shell:cat /etc/shells
/bin/sh (已经被/bin/bash所取代)
/bin/bash (就是Linux预设的shell)
/bin/ksh (Kornshell由AT&T Bell lab.发展出来的,兼容于bash)
/bin/tcsh (整合C Shell,提供更多的功能)
/bin/csh (已经被/bin/tcsh 所取代)
/bin/zsh (基于ksh发展出来的,功能更强大的shell)
4.bash shell的功能
(1)命令编修能力history
(2)命令与档案补全功能tab键
(3)命令别名设定功能
(4)工作控制,前景背景控制
(5)程序化脚本
(6)通配符