shell 的历史

Shell(本身就是个程序)的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式Interactive),Shell还有一种执行命令的方式称为批处理Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

由于历史原因,UNIX系统上有很多种Shell

1. shBourne Shell):由Steve Bourne开发,各种UNIX系统都配有

2. cshC Shell):由Bill Joy(软件爱迪生)开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne Shell所不支持的功能:作业控制,命令历史,命令行编辑。

3. kshKorn Shell):由David Korn开发,向后兼容sh的功能,并且添加了引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上往往是指向的符号链接。

4. tcshTENEX C Shell):是的增强版本,引入了命令补全等功能,在FreeBSDMac OS X等系统上替代了csh

5. bashBourne Again Shell):由GNU开发的Shell,主要目标是与POSIX标准保持一致,同时兼顾对的兼容,借鉴了很多功能,是各种Linux发行版标准配置的Shell,在Linux系统上往往是指向的符号链接

文件etc/shells给出了系统中所有已知(不一定已安装)的Shell,除了上面提到的Shell之外还有很多变种。

leon@leon-desktop:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen

用户的默认Shell设置在/etc/passwd文件中,

leon:x:1000:1000:leon,,,:/home/leon:/bin/bash

用户leon从字符终端登录或者从图形终端登录,就会执行/bin/bash,如果要切换到其它Shell,可以在命令行输入程序名,例如:sh。
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1081) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值