菜鸟问题(shell)

菜鸟问题(shell)

我知道shell有好多种.例如:TCSH SHELL  .  BASH SHELL  等.
请问共有几种shell,他们都有什么区别?
  我的系统是RH9,用的是什么shell/
  谢谢!
ash  bash  bsh  csh  sh  tcsh
区别吧 多啦
env或echo $SHELL看一下就知道啦.
我回去帮你查查,明天告诉你哦!
  目前流行的Shell有ash, bash, ksh, csh, zsh等,你可以用下面的命令来查看你自己的Shell类型:

  # echo $SHELL
  $SHELL是一个环境变量,它记录用户所使用的Shell类型。你可以用命令:

  # Shell-name

  来转换到别的Shell,这里Shell-name是你想要尝试使用的Shell的名称,如ash等。这个命令为用户又启动了一个Shell,这个Shell在最初登录的那个Shell之后,称为下级的Shell或子Shell。

  使用命令:

  # exit

  可以退出这个子Shell。
 使用不同的Shell的原因在于它们各自都有自己的特点,下面做一个简单的介绍:

  1.ash

  ash Shell是由Kenneth Almquist编写的,是Linux中占用系统资源最少的一个小Shell,它只包含24个内部命令,因而使用起来很不方便。

  2.bash

  bash是Linux系统默认使用的Shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的Shell是因为它有以下的特色:

  (1)可以使用类似DOS下面的doskey的功能,用上下方向键查阅和快速输入并修改命令。

  (2)自动通过查找匹配的方式,给出以某字串开头的命令。

  (3)包含了自身的帮助功能,你只要在提示符下面键入help就可以得到相关的帮助。

  3.ksh

  ksh是Korn Shell的缩写,由Eric Gisin编写,共有42条内部命令。该Shell最大的优点是几乎和商业发行版的ksh完全相容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。

  4.csh

  csh是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该Shell其实是指向/bin/tcsh这样的一个Shell,也就是说,csh其实就是tcsh。

  5.zch

  zch是Linux最大的Shell之一,由Paul Falstad完成,共有84个内部命令。如果只是一般的用途,是没有必要安装这样的Shell的。
Bourne Shell (/usr/old/bin/sh)
C Shell (/usr/bin/csh)
Korn Shell (/usr/bin/ksh)
POSIX Shell (/usr/bin/sh)
如何知道当前使用的是什么Shell?
①输入一个系统不认识的命令(如#fuck_pig)获得系统提示
②#echo $0 (适用:sh/ksh)
③#ps |grep $$|awk ‘{print $4}’
④#echo $SHELL(用户默认的Shell,但不实时反映当前shell)
学习
还有在你的/etc/shells中你可以看到更多的shell:
# /etc/shells: valid login shells
/bin/ash
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/zsh
/bin/sash
/bin/zsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
不同的 shell 有著不同的功能,且也彼此各異、或說"大同小異"。
常見的 shell 主要分為兩大主流:
sh:
burne shell (sh)
burne again shell (bash)
csh:
c shell (csh)
tc shell (tcsh)
korn shell (ksh)