Linux中shell的分类以及查看当前的shell

原创 2013年12月03日 20:34:55

DOS/Windows 与 Linux 的最重要的区别之一是 Linux 的命令 shell 是与操作系统相分离的一层。

目前流行的shell有ash、bash、ksh、csh、zsh,如下介绍:

bash:bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,也是很多linux版本默认的shell。

csh :C shell 使用的是“类C”语法,借鉴了 Bourne shell 的许多特点,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。

ksh:Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。

zsh :Z shell 是 Korn shell 的一个增强版本,是Linux最大的shell之一,由Paul Falstad完成,共有84个内部命令。如果只是一般的用途,是没有必要安装这样的shell

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

tcsh :TC shell 是 C shell 的一个增强版本,与 C shell 完全兼容。

Linux中查看可以使用的shell

查看/etc/shells文件可得到系统中可用的shell的完整路径

例如: more  /etc/shells

或者使用 : chsh  -l    (在我的ubuntu中是无法显示的,man帮助信息中是可以查到这个命令的)

Linux中查看当前使用的shell

方法一:echo  $SHELL

方法二:输入系统不认识的命令,获取提示(在某些shell中没有这样的提示)

方法三:一般来讲/etc/passwd文件中最后一项是每个用户使用的shell,但不见得每个都是shell,可以通过以下命令来查看:

tail  5  /etc/passwd

方法四:使用命令echo $0  (在bash中和ksh中验证过)

方法五:通过ps命令查看(建议使用,使用于多个linux系统)

linux中shell的切换

可以直接输入shell的名字如,我要启动sh

直接输入:sh 或者 /bin/sh  这样有启动了一个Shell,这个Shell在最初登录的那个Shell之后,称为下级的Shell或子Shell。使用命令:exit就可以退出这个子shell。

linux中修改默认shell

输入 chsh 命令,会提示输入密码:


输入你要改变shell的绝对路径名,注销后重新登录即可改变默认shell。

或者直接使用 chsh -s /bin/dash

这样下次我们启动系统的时候,通过ps命令查看,默认shell已经改变了。


参考地址:http://blog.163.com/zmhot88@126/blog/static/169846647201082683846279/

http://waterlife.blog.sohu.com/10439596.html

http://book.51cto.com/art/201106/271627.htm

Linux下Shell从入门到精通完整版

本套课程适用于初学者以及各类运维人员,我们可以通过本次的编程技术学习,明白并掌握企业里面的运维编程必备脚本,同时掌握企业运维到底要求会什么东西,有哪些是我们必须要掌握的知识。
  • 2017年03月03日 13:47

linux shell脚本

  • 2010年12月30日 14:31
  • 18KB
  • 下载

linux查看当前使用的shell,修改shell,shell编程?

[root@localhost ~]# ls -l /bin/*sh -rwxr-xr-x 1 root root 735004 2009-01-22 /bin/bash lrwxrwxrwx 1...
  • centre10
  • centre10
  • 2010-11-20 20:45:00
  • 6741

30 查看当前Linux系统中安装的shell及其版本

 shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器),其接收用户命令,然后调用相应的应用程序。同时shell又是一种程序设计语言,作为命令语言,它交互式解释和执...
  • alloyInRunning
  • alloyInRunning
  • 2014-04-10 08:57:12
  • 5288

如何查找出Linux使用的shell版本号

当在linux系统中安装有多个shell且需要经常切换时,如何快速的查看当前使用的shell及版本号。...
  • electrocrazy
  • electrocrazy
  • 2017-10-22 22:20:38
  • 465

Linux下查看使用的是哪种shell的方法汇总

转自:http://www.jb51.net/LINUXjishu/247797.html 查看当前发行版可以使用的shell 代码如下: [root@localhost ~...
  • lufqnuli
  • lufqnuli
  • 2017-01-12 16:27:51
  • 594

如何查看用户当前shell和修改用户登陆时的默认shell

1.查看当前使用的shell类型 echo $SHELL   /usr/bin/bsh 2.改变test用户登陆的默认  chsh test /usr/bin/ksh ...
  • gracioushe
  • gracioushe
  • 2011-11-28 21:57:36
  • 3069

查看各种Linux系统版本信息的Shell命令

几种查看Linux版本信息的方法:   1. uname -a   2. cat /proc/version   3. cat /etc/issue   4. lsb_rele...
  • Huilaojia123
  • Huilaojia123
  • 2016-12-29 14:19:52
  • 3862

45 如何在Linux下查看和切换shell

1、可以使用echo $SHELL来查看当前使用的shell alloy@alloy:~$ echo $SHELL /bin/bash alloy@alloy:~$ ls -al...
  • alloyInRunning
  • alloyInRunning
  • 2014-04-20 07:23:53
  • 5092

shell 获取当前用户名/ID的几种方法

echo “$UID” echo “$USER” id whoami
  • timo1160139211
  • timo1160139211
  • 2017-09-01 22:41:28
  • 277
收藏助手
不良信息举报
您举报文章:Linux中shell的分类以及查看当前的shell
举报原因:
原因补充:

(最多只允许输入30个字)