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的分类以及查看当前的shell相关推荐

  1. linux中用户的分类

    linux中用户的分类 在linux中用户分为三类: 超级用户:(root,UID=0),UID为0的用户就是超级用户 普通用户:(UID=500~60000),可以使用useradd  添加的用户 ...

  2. 【Linux】Linux中的文件搜索和查看

    Linux中的文件搜索和查看 Linux中的文件搜索和查看 cat head tail more less grep sed vim Linux中的文件搜索和查看 cat cat 命令用于连接文件并打 ...

  3. Linux中的缓存分类:free中的buff/cache;pagecache、dentries和inodes的区别

    Linux中的缓存分类 要清理Linux中的cache,首先要明白buff和cache的区别(free中的buff/cache),以及pagecache,dentries和inodes的区别. buf ...

  4. linux鉴于它没有文件拓展名,linux中的文件类型以及查看文件类型的方法

    Linux文件类型和文件的文件名所代表的意义是两个不同的概念,在linux中文件类型与文件扩展名没有关系.它不像Windows那样是依靠文件后缀名来区分文件类型的,在linux中文件名只是为了方便操作 ...

  5. Linux中shift命令的用法,一文掌握shell脚本中shift的用法及功能

    概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...

  6. LINUX中软件包的分类

    LINUX中软件包的可分为两类,一类是二进制的软件包,还有一类是含有源码的软件包: 二进制的软件包:可以直接执行,不需要编译: 含有源码的软件包:不能直接执行,需编译,可对源码进行修改:

  7. linux中查yum命令,yum 查看软件

    在linux下如何使用yum查看安装了哪些软件包 Linux系统下yum命令查看安装了哪些软件包:$yum list installed //列出所有已安装的软件包yum针对软件包操作常用命令:1.使 ...

  8. linux中项目部署和日志查看

    1 查找进程 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. ps -ef | grep java   查看所有关于java的进程 root     ...

  9. 在Linux中,用什么命令查看文件或目录的权限?

    命令:ll 或者 ls -l 解释,输出的格式如下 -rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash第一个字段 -rwxr-xr-x 包含该特 ...

最新文章

  1. Spring Cloud Contract 契约测试实践
  2. DebootstrapChroot
  3. 科研实习 | 北京大学智能学院贺笛老师招收NLP/GNN方向科研实习生
  4. Innobackupex实现mysql在线搭建master-slave主从复制
  5. devstack安装OpenStack Pike版本 (OVN+VLAN)
  6. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
  7. php autoload用法,php自动加载__autoload()函数用法
  8. Spring MVC中使用 Swagger2 构建Restful API
  9. .net分页控件webdiyer:AspNetPager
  10. 解密flash播放器
  11. 如何使用计算机中的导出,(excel在电脑的哪个文件里?)excel怎么把查找的导出
  12. 转--计算几何常用算法概览
  13. 11. 数值的整数次方
  14. C++--第1课 - C到C++的升级
  15. win7下没有ntsd提供的程序支持
  16. Linux-4.4-x86_64 内核配置选项简介
  17. 怎么让你的网站快如飞?
  18. AndroidStudio 实现用户登录注册
  19. 2021-2027全球与中国自动卡车卸货系统 (ATLS)市场现状及未来发展趋势
  20. 多类隶属度的模糊支持向量机(FSVM)

热门文章

  1. Hadoop MapReduce程序的模板框架
  2. 推荐几个好玩又有难度的编程网站
  3. 别的程序员是怎么读你的简历的
  4. 【Machine Learning】KNN学习算法与C语言实现
  5. redis快照文件dump.rdb解析工具--redis-rdb-tools
  6. SSH服务如何远程管理RHEL 5
  7. Unity3d 下websocket的使用
  8. Dependence Inversion Principle
  9. 权限框架 - shiro 授权demo
  10. 使用Java操作Redis(二)