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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

编写shell脚本查看linux当前各用户的cpu和memory消耗比例

#!/bin/bash # # view the cpu and memory consumption of each user at the current time. # chenqy 20...

linux shell命令分类大全

  • 2011-07-26 12:25
  • 347KB
  • 下载

linux命令介绍:source -- 在当前shell环境中执行指定文件中的命令

source FileName   作用:在当前bash环境下读取并执行FileName中的命令。   注:该命令通常用命令“.”来替代。   如:source .bash_rc 与...

./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell

最近遇到一个有趣的问题,让我搞清楚Linux如何选择当前执行脚本的shell 执行cts的的 media stress test 需要安装 android-cts-media-1.0.zip 把这...
  • span76
  • span76
  • 2013-09-10 15:51
  • 2660

Linux exit --退出当前shell

用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。   常用参数 格式:exit n 退出。设置退出码为n。(Cause the shell to exi...

linux shell 获取当前正在执行脚本的绝对路径

常见的一种误区,是使用 pwd 命令,该命令的作用是“print name of current/working directory”,这才是此命令的真实含义,当前的工作目录,这里没有任何意思说明,这...

Linux命令exit - 退出当前shell

exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。 常用参数格式:exit n退出。设… 用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本...

Linux学习6之shell筛选当前目录下文件并逐个对其进行操作

代码: hadoop@Master:~/cloud/adam/xubo/code$ cat a.sh #!/bin/bash #SRR003161h20t1 #samtools view -h -S...

linux shell 获取当前正在执行脚本的绝对路径

原文链接:http://sexywp.com/bash-how-to-get-the-basepath-of-current-running-script.htm   常见的一种误区,是使...

Linux 下 Shell 命令的分类及用法

当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点。为了成为一个 Linux 高手,你必须能够理解 Shell命令的不同类型,并且会在终端下正确的使用它们
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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