什么是shell?

说到shell,大家首先想到shell脚本…其实在Linux中脚本就是命令的堆积。我的建议是:对于刚刚接触linux或者unix的同学来说首先应该简单了解shell而不是死记命令,或者是一上来就写几个复杂脚本!

shell其实大家可以理解为是一个翻译官,因为给硬件传达命令的是OS的kernel,不过由于我们不会想去学习kernel的语言(过于贴近机器语言)所以一个翻译官shell诞生了,它向我们提供更好的用户交互式界面。

有可能上述对于刚接触Linux的同学来说可能还是没懂,下面我搞一张图片来让大家理解:

shell

了解了shell程序,现在了解一下现在Linux中有哪些shell可以使用的:
sh:早期Unix中使用的shell;
bash:现在Linux中最流行的shell也是默认的shell;
csh:靠近C语言的shell程序;
ksh:这个属于商业shell;
tcsh:在csh的基础上提供更多功能;
zsh:…都已经zsh了估计不会有下一代了…

其实系统虽然默认先使用bash但是还是可以在系统中去看你有哪些shell,查看shell的路径是/etc/shells。你可以使用vim编辑器,nano编辑器,甚至直接cat一下即可;比如 cat /etc/shells。

不过知道系统中有哪些可用的shell还是不够,我想看看我当前使用的是什么shell呢?可以使用这个命令:echo $SHELL 注:在Linux中是区分字母大小写

如果我要更换shell呢?我的个人建议是最好初学的时候使用bash比较好。以后可以考虑更换,不过得告诉大家shell在那个目录中,这样以后大家更换方便。一般shell程序都在/bin的目录下面 如:/bin/bash。注:在Linux中一切皆文件的,所以每个shell也属于一个文件

Comments

  • Anonymous on

    赞一个

    reply

  • Anonymous on

    666

    reply

Leave a Reply

Your email address will not be published. Name and email are required