概述
shell是什么
当我们谈到命令行时,我们实际上是指shell。 shell是一个应用程序,它从键盘读取命令然后交由操作系统来执行,来访问或者实现对操作系统的管理。所有 Linux 发行版都有默认的shell,一般是bash shell,源自GNU Project 。“bash”是“Bourne Again Shell”首字母缩写,bash 是 sh 的增强版本。
终端
在图形界面操作系统下,我们需要一个额外的程序来与shell交互,这个程序就是终端模拟器,在 Ubuntu 系统下的终端叫gnome-terminal。kde桌面环境自带的是konsole,如redhat6,凝思80等系统的终端。
不同的shell
sh
sh的全称是Bourne shell,由AT&T公司的Steve Bourne开发,为了纪念他,就用他的名字命名了。
sh是UNIX上的标准shell,很多UNIX版本都配有sh。sh是第一个流行的Shell。
bash
bash shell是大多数Linux的默认shell。
bash由GNU组织开发,保持了对sh shell的兼容性,是各种Linux发行版默认配置的 shell。
尽管如此,bash和sh还是有一些不同之处:
- 一方面,bash扩展了一些命令和参数;
- 另一方面,bash并不完全和sh;
- 兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用bash代替sh。
csh
sh之后另一个广为流传的shell是由柏克莱大学的Bill Joy设计的,这个shell的语法有点类似C语言,所以才得名为C shell ,简称为csh。
tcsh
tcsh是csh的增强版,加入了命令补全功能,提供了更加强大的语法支持。
ash
一个简单的轻量级的Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。
其它
查看当前终端用的是什么shell?
echo $SHELL
切换到其它shell,如bash shell
exec bash
最后
以上就是怡然樱桃为你收集整理的Shell基础概念的全部内容,希望文章能够帮你解决Shell基础概念所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复