热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>Shell开发>

Shell 介绍

来源: 作者: 时间:2007-01-27 Tag: 点击:
 # 版权宣告: 1999 Copyright OLS3 All rights reserved.

# 作者: OLS3 (卧龙小三)
# 本讲义仅供台南县 87 学年度网路管理进阶研习班上课之用.
# 学员可保存一份自用, 供日後网管时参考备查.
# 作者保有一切形式的着作权.
# 欲作其它用途者, 需经作者授权同意.
# 未经作者授权同意之前, 请勿转载刊登.

Shell

当我们登入 Linux 之後, 第一个接触到的, 便是 Shell. 我们必须对它有点初步的认识才行.

一. Shell 简介.

Linux 系统分成三个重要的部份

核心 
Shell 
工具程式 
核心的部份相当低阶, 操作者不易和它直接沟通, 因此, 必须要有一个友善的介面(interface), 使得操作时能更为方便, 这个介面便是 Shell.

换言之, Shell 就是一个居於核心和操作者之间的一层使用者介面. 

那麽, 为何称它为 Shell 呢? Shell 的本意是 "壳" 的意思呢!

没错, 在核心的外面, 包覆着一层外壳, 用来负责接收使用者输入的指令, 然後将指令解译成核心能够了解的方式, 传给核心去执行, 再将结果传回至预设的输出周边.

如图所示:



例如: 键入

ls -l 

shell 给你以下回应:

            拥                       
档          有                               
案          档                              
种          案                   档案大小 最近修改的
类 档案权限 数 拥有人   组别    (byte单位)日期及时间   档案名称
drwxr-xr-x  14 root     root         1024 Jul 21 21:31 .
drwxr-xr-x  17 root     root         1024 Apr 11 12:01 ..
drwxr-xr-x   8 82       82           1024 Feb 25 19:23 apache
-rw-r--r--   1 root     root      1335460 Feb 25 17:45 apache_1_3_4.tar.gz
drwxr-xr-x   6 root     root         1024 Aug 31  1998 ftp
drwxr-xr-x   5 root     root         1024 Aug 31  1998 httpd
drwx------   2 james    james        1024 Apr 23 06:47 james
drwxr-xr-x   2 root     root        12288 Aug 31  1998 lost+found
drwxr-xr-x   2 msql     nobody       1024 Dec 28  1998 msql
drwxr-xr-x  28 ols3     ols3         2048 Jul 19 21:38 ols3
drwxr-xr-x   3 1022     nobody       1024 Jan 25 23:40 ols3cgi
drwxrwxr-x   3 perl     ols3         1024 Feb  2 07:11 perl
-rw-------   1 root     root      2097152 Jul 21 18:39 quota.group
-rw-------   1 root     root      1278656 Jul 21 18:39 quota.user
drwxrwxr-x   2 root     nobody       1024 May 11  1998 samba
drwxr-xr-x   3 apache   nobody       1024 Feb 25 16:58 temp
drwxrwxr-x   2 webadm   nobody       1024 Mar 14 16:34 webadm

 

其实不只是 Linux 有这一层 Shell, 其它作业系统也有. 
比如 DOS 的 command.com, Windows 的 GUI(Graphical User Interface), Mac 的 GUI.

Shell 按着表现的方式与读取使用者输入种类的不同, 可分为二大类:

Text base : 文字导向 
Graph base: 图型导向 
所谓 "读取使用者输入种类不同" 是指: 读取自键盘, 或读取自滑鼠, 其它 serial input, 萤幕触控等.

这样说来, Shell 好像只是命令直译器罢了?! 
嗯, 这倒要按不同的 OS 所附给的 Shell 其功能和选择性的自由度而定.

以 DOS 的 COMMAND.COM 而言, 它就是一个十足的命令直译器, 除了一点点 batch 档的能力之外, 它的功能并不多.  Win 平台的 GUI, 则是一个图型式的命令直译器, 介面十分友善. 不过, 这二种 OS, 不能让你自由而简单地选择 Shell.(以前  DOS 有 4dos 可选用)

Linux 的 shell, 除了做为命令直译器之外, 它也是一个不错的程式语言, 是系统管理维护时的重要工具. 

由於 Unix 家族, 对 Shell 的处理, 采独立自由开放的方式, 因此, Shell 的种类相当地多, 更可以让人自由地更换(chsh).

目前流行的 shell 有:

Bourne shell : sh 
C shell : csh 
Korn shell: ksh (商业软体) 
tcsh (free) 
Bourne Again shell: bash (GNU) 
Linux 的标准 shell 是采用 bash. 它也是我们要学习的主要对象.

二. Shell 的简史

第一个重要的 shell 是 Bourne shell (如此命名是为了纪念此 shell 的发明者 Steven Bourne), 1979 年第一个流行的 Unix 版本 7 发行时, 开始使用 Bourne shell. 
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册