Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1666737
  • 博文数量: 174
  • 博客积分: 5493
  • 博客等级: 上校
  • 技术积分: 5802
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-05 15:13
个人简介

炼狱,是为追逐光芒

文章分类

全部博文(174)

文章存档

2017年(1)

2016年(3)

2015年(9)

2014年(5)

2013年(23)

2012年(56)

2011年(45)

2010年(32)

分类: LINUX

2010-12-20 14:10:19

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

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

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

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

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

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

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

文件/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。
阅读(2150) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~