Linux shell复习

shell是什么?

shell是用户应用程序(application)与内核进行交互的外壳.也可以作为我们与内核交互的环境


为什么叫外壳?这就好比面向对象里面的private修饰的变量以及函数,不想让其它人触碰到的数据以及程序段,


为了让各位能够更加清楚shell是干什么的?特此举例如下:


当你在终端里面输入ls命令的时候,会显示你当前所在目录的文件名称,如果你直接塞给内核,“它”无法完成这样的工作,因为内核无法处理ls这样的一个字符串,而且从安全性角度来讲,如果我们直接与内核进行交互,假如我们犯错了呢,输入一个错误的命令呢?很容易造成系统崩溃,所以shell的作用就在与此.


学习shell之前的准备

首先你必须了解一些基本常用的命令,我曾在github上面曾经写过一些常用的命令,链接如下:

点击打开链接https://github.com/qq854674282/test_1

其次,你要决心,对于这种学了但不能一次性换二两馍的东西,如果你真心要学,祝君好运。。。



Let's shelling...

第一个shell程序,当然是hello world

#!/bin/bash                                                    ----------->采用何种方式的shell解释器


echo "Hello world"                                          ----------->echo命令


其实很容易就理解了,我们使用bash ,并在其下运行echo命令,


将上面的东西再抽象一点,即每一个shell程序必须在一行写上  #!/bin/***     ***则是指你采用的shell解释器,关于shell解释器,有如下几种:

ksh

bash

sh

csh

...


下面的echo命令即为我们打开了一个bash环境,在其下运行echo "Hello world"命令


shell说白了就是一大堆命令堆积起来的东西,但其后还有一些基本的语法,比如if ...else... 、 for..do..done、case ...esac等等

在其中填充的全是命令


我们可以使用命令来达到我们想要实现的任何东西


<对于shell解释器的补充:>

我们可以在我们的终端上面打一个上面的解释器出来,以sh为例


我们可以尝试再打一个exit出来<解释在后面,请耐心>



这是怎么回事?


我们打开每一次终端,我们的os都会参照/etc/passwd里面的最后一行来打开一个相应的shell环境,以供我们与内核进行交互,/etc/passwd截图如下:



我们可以很清楚的看到,以wangxuan身份登录,OS会打开/bin/bash的交互环境让我们与内核进行交互,

而我们以sshd登录时,则会打开/usr/sbin/nologin的环境.


当我们输入exit则会退出当前的sh环境,不会退出bash环境,

我们可以无限的任意个环境里面调用另一个,但关闭时即按照类似与退栈的方式关闭,

<补充:当我们在一个shell环境里面打开另一个环境,则原来的那个shell环境处于休眠状态>



下一章节将会讲到shell的相关语法,谢谢大家观看,三鞠躬,撒花。。。


<讲的比较乱,所以希望各位见谅>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值