shell和bash

混淆一个概念:shell与bash,这两者之间的关系也都是模模糊糊的,虽然现在的感觉好了点,但是还总是停留在那种只可意会不可言传的地步,今天就尝试着来记录下。

使用Windows系统的人可能对shell没什么感觉,对于Linux来说,不知道shell可以直接走出开源世界的大门了,这是学习Linux必须要掌握的,否则就是一直停留在学习的表面。

那么,什么是shell呢?用过计算机的人知道,我只要点点鼠标计算机就能按照我们的要求来进行相应的操作,那么,你有没有想过计算机为什么能够识别我们的操作呢?俗话说,人有人语,机有机语,人说的话机器怎么会懂呢?不懂改咋办?找翻译啊!对了,shell就是充当人与计算机之间的翻译官。

举个例子,在计算机世界中,那只是一堆带着电的电子器件,这些器件只识别电流,再高一点能分别出高电压与低电压,这个就是二进制,1和0了,也就是说计算机的语言就是这些1和0了,当然这是最基础了。但是当我们操作那些带有ABCD的软件时,计算机能够很好的执行相应的命令。整个流程是这样的,我们发出指令,经过shell的翻译将这些命令变成计算机语言,也就是1和0,最后反映在高低电压的不同上,然后那些电子器件就能按照我们的要求进行相应的动作了。

因为在Linux中图形界面不是很强,一般都只是直接通过命令窗口来进行系统控制的,所以shell就显得特别重要。你也可以简单的将shell理解为命令行,与之相关的还有shell脚本,就是shell能识别的一连串命令行。说了那么多,来看个官方定义:

Unix shell:一种壳层与命令行界面,是Unix操作系统下传统的用户和计算机的交互界面。普通意义上的shell就是可以接受用户输入命令的程序。它之所以被称作shell是因为它隐藏了操作系统低层的细节。Unix操作系统下的shell既是用户交互的界面,也是控制系统的脚本语言。

说完shell就可以说bash了,bash是shell的一种,在早年的UNIX年代,发展者众多,所以就有许多不同的版本,例如Bourne shell(sh),这也是必然的,每种shell都有其应用的需求,很难说孰好孰坏。而在Linux中默认的shell就是Bourne-Again shell(简称bash),所以学习linux就必须要掌握bash的用法。另外一个是伯克利分校比尔▪乔伊写的C Shell(csh),因为类似C语言,故此得名。而由这两种又发展出很多其它的版本,不过根基都在这里。

总结一下,可以将shell看做是一种语言名称,其具体的语法则遵循bash或csh的规定。总之,要想在Linux这条道上走下去,这是不可避免的,而具体的bash又有很多的语法,就像是一门编程语言,不过学好了这些,相信会在自由的世界收获更大的自由。


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值