<Linux>shell命令以及运行原理

Shell是用户与操作系统内核之间的软件层,它翻译并执行用户的命令。我们不直接访问操作系统是因为直接操作成本高且易出错。在Linux中,我们通过命令行或图形化界面与系统交互,Bash是常见的Shell实现。文章讨论了Shell的运行原理,包括命令解析和权限问题,并展示了如何查看当前使用的Shell。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、shell外壳程序是什么?

二、shell运行原理

三、为什么我们不直接访问操作系统?

四、我们是如何访问操作系统的呢?

五、外壳程序的意义

六、查看Linux中使用的外壳程序


一、shell外壳程序是什么?

1、用户和操作系统间的软件层

2、Linux是一个操作系统,我们称之为“核心(kernel)”,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序。

举个例子:如果说你是一个内向害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且让你心动的小花。你看上了小花,但是又不好意思直接表白,那就让你家人找媒婆帮你提亲,所有的事情你都是直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫她王婆,她对应我们常使用的bash。

二、shell运行原理

它可以将使用者的命令翻译给核心处理同时,将核心处理的结果翻译给使用者

当然,如果我们把指令交给外壳程序,外壳程序把命令交付给OS有两种情况:

第一种:OS不认识指令时可以直接拒绝指令请求

在Linux中我们输入的命令OS并不认识,所以提示错误

[hx@VM-24-7-centos ~]$ ddd
-bash: ddd: command not found

第二种:OS即使认识,也就是指令存在,但指令并不能执行,这里涉及权限问题。

把test.c的所有权限都去除,当把"hello world"写入test.c文件中,OS不能直接执行,即使OS认识该指令。

[hx@VM-24-7-centos ~]$ touch test.c
[hx@VM-24-7-centos ~]$ ls -l test.c
-rw-rw-r-- 1 hx hx 0 Mar 30 22:02 test.c
[hx@VM-24-7-centos ~]$ chmod 000 test.c
[hx@VM-24-7-centos ~]$ ls -l test.c
---------- 1 hx hx 0 Mar 30 22:02 test.c
[hx@VM-24-7-centos ~]$ echo "hello world" > test.c
-bash: test.c: Permission denied

三、为什么我们不直接访问操作系统?

1、人不善于直接使用操作系统

2、如果让人直接访问操作系统,操作成本会很高,人可能会犯错,带来不安全因素

如何理解?

我们人不善于直接去银行进行存取业务,因为我们不知道银行内部是如何运转完成存取业务的,如果让我们代替银行工作人员来完成自己的存取业务,可能会导致一系列问题,因此我们不会直接访问操作系统的。

所以在Linux当中输入各种各样的指令,实际上不是在直接访问OS。

四、我们是如何访问操作系统的呢?

1、在windows下,我们使用图形化界面

我们操作windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作

例如:进入D盘的操作,或者双击一个可执行程序

2、在Linux下,我们使用指令操作

shell对于Linux有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核,内核运行出结果后。通过shell解析给用户

因此图形化界面和指令操作都是操作系统提供的外壳程序

五、外壳程序的意义

1、用户和操作系统交互中间软件层

2、可以在一定程度上保护操作系统

六、查看Linux中使用的外壳程序

通过 echo $BASH 命令在Linux中查看自己所使用的外壳程序,实际上bash是一个文件

shell外壳程序和bash程序的区别:实际就是媒婆和王婆的区别,shell外壳程序是所有外壳程序的统称。

[hx@VM-24-7-centos ~]$ echo $BASH
/bin/bash
[hx@VM-24-7-centos ~]$ ls /bin/bash -al
-rwxr-xr-x 1 root root 964536 Apr  1  2020 /bin/bash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值