免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 717 | 回复: 0
打印 上一主题 下一主题

Linux下的Shell -zt [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-09 11:36 |只看该作者 |倒序浏览
Shell是用户和操作系统之间的接口。通俗点儿,就是他们之间的一座桥梁。
当然,桥不只是只有一座。linux下也有多种shell。今天咱们来说说linux下可
以使用的shell。

——————————————————————————————————
Shell是什么?

                            ┌─────┐
                            │  用  户  │
                            └─────┘
                               ↓    ↑  
                           ┌──────┐
                           │   Shell      │
                           └──────┘
                               ↓    ↑
                           ┌──────┐
                           │  Linux内核 │
                           └──────┘
                               ↓    ↑
                            ┌─────┐
                            │  硬  件  │
                            └─────┘

从上面的图上可以看到,shell其实就是提供给用户的linux接口,用户通过shell来向linux传递命令,linux并作出相应的反应。
具体地说,shell就是命令语言解释器。比如,在提示符下输入ls(功能和dos下的dir相同)。shell会先检测是否是内部命令,若不是,再检查是否是一个有效的应用程序,若还不是,就显示一条错误的消息,如下:

[Jesse@linux Jesse]$ ls
Jesse.txt   opera-7.50   opera.tar.gz   soft
显示Jesse文件夹下有以上的文件和文件夹。

[Jesse@linux Jesse]$ cat Jesse.txt
I am Jesse
显示Jesse.txt的内容,有点儿类似dos中的type。

[Jesse@linux Jesse]$ ld
ld: no input files
默认的shell中没有ld,而且ld也不是有效的应用程序。所以shell给出错误提示。

——————————————————————————————————
多种的shell

可能有些朋友很纳闷,为什么会有多种的shell,其实shell也是一步步发展而来的。最早开发出的shell叫Bourne shell,当时它的功能已经很强大了,只是还缺乏很多交互的功能。到今天已经了好几种不同的shell,可以根据自己的需要,来使用不同的shell。

Bash:Bourne Again Shall。它是linux下最常用的shell,一般安装redhat之后,默认的shell就是它了。它是由GUN(自由软件基金会)开发,同时它还提供了编辑命令行功能。

Csh:C shell。它是由伯克力大学开发。与bash的交互使用上大多是相同的。

只是在程序设计的界面有很大的不同。还有和Bash最大的不同就是,它不提供编辑命令行功能,而提供一种叫命令历史记录的功能。

ksh:Korn shell。它是在Unix下使用最普片的shell,它提供编辑命令行的功能。

sh:Bourne shell。是原始的shell。不提供编辑命令行功能。

tcsh:C shell的加强版,提供了编辑命令行功能。

zsh:Z shell。它是最新的shell,兼容sh。并提供编辑命令行功能。

大家可以在自己的机器上尝试一下这个命令。注意大小写。

[Jesse@linux Jesse ~]$ echo $SHELL
/bin/tcsh
显示当前使用的shell,并指出了路径。

当然自己可以更换不同的shell
我安装的是redhat 7.2 ,默认的shell是bash,同时它提供了csh,sh,tcsh等多种shell。

用chsh可以更换当前的shell

[Jesse@linux Jesse ~]$chsh
Changing shell for Jesse.
Password:
输入相应的密码之后

New shell [/bin/tcsh]:/bin/bash
输入/bin下不同的shell之后,回车

Shell changed.
shell提示已经更换。

[Jesse@linux Jesse ~]exit
注销之后重新登陆,就可以发现使用的shell已经更换为bash。

以上是关于shell的简单介绍,至于shell的命令,希望大家参看本版精华,在应用中实践,这样会学得很快。

当然在选择shell之前,您可以接触尽可能多的shell,这样帮助您会多使用几种shell,以防有一天您遇到提供很少shell的系统。

补充几点:
shell是命令解释器,典型的shell有bash,sh,ksh,csh等等很多。在Linux下一般使用的是bash。配置文件是.bashrc文件。
shell的更换使用chsh命令。查询可以使用chsh -l命令。
shell列表在/etc/shell文件中。比如你可以手工添加一个邮件客户端。将某个用户的shell设定为该程序,那么该用户登陆以后只能使用邮件客户端收信。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP