当前位置: 首页 > news >正文

Linux 基础知识:指令与shell

目录

  • 一、操作系统
  • 二、指令
  • 三、shell

一、操作系统

  什么是操作系统?

  单纯的操作系统应该是指操作系统内核。内核的作用就是管理计算机的软硬件资源,让计算机在合适的时候干合适的事情。

  但是有一个问题,并不是人人都会直接通过内核来操作计算机,对于绝大部分人来说这是很困难的。

  因此需要一些外部的应用来辅助用户来操作计算机,这样就形成了我们现在使用的操作系统。完整的操作系统就应该是内核加上外部应用

二、指令

  如何操作内核?

  内核并不允许用户直接访问或操作,因为很不安全。万一不小心弄错,系统就会崩溃。

  因此设计者提供了用于访问内核功能的系统调用接口,比如操作各种设备的接口。这些接口让使用者可以更安全的使用操作系统,但是这些接口的功能对于我们来说还是太过单一。

  比如:想听音乐,我们就需要把音频文件从硬盘取出来,让声卡解码,让喇叭播放。这样是不是很麻烦?可是我们现在播放音乐需要这样做吗?并不需要,只需要点一下就行。因为设计者把这些接口又进行了封装,封装后就变成了一个应用程序,我们听歌的时候只要点一下,这个程序就会调用内部的系统调用接口实现播放歌曲的功能。

  而这个应用程序就是指令。我们在Linux中常使用的ls指令,其实就是一个程序,我们输入ls并回车其实就是调用这个程序来完成我们想要的操作。

三、shell

  上文提到ls指令就是程序,输入ls并回车其实就是调用了浏览目录的程序。但这是如何实现的?操作系统怎么通过ls这个指令来调用对应的程序?这就要归功于shell(命令解释器)

  shell就是我们和操作系统之间的桥梁,我们输入ls指令后,shell捕捉到这个指令,然后就去指定的路径下查找对应的程序,找到后就执行,找不到就报错。

  如图:shell就是在内核外套了一层保护壳,我们输入的指令都会被shell接收,然后通过我们输入的指令查找是否有对应的程序,如果有就执行,这就是shell的作用。

shell

  shell其实只是一个统称,就像苹果一样,是这类水果的统称,他们还分为各个品种,shell只是这类程序的统称。

  每个终端中都会有shell,如果没有shell,我们就不能方便的使用操作系统。

http://www.lryc.cn/news/20064.html

相关文章:

  • 【数通网络交换基础梳理1】二层交换机、以太网帧、MAC地址数据帧转发原理详解
  • 《分布式技术原理与算法解析》学习笔记Day22
  • [MySQL]MySQL数据类型
  • 利用steam搬砖信息差赚钱,单账号200+,小白也能轻松上手!
  • 树与二叉树与森林的相关性质
  • MySQL面试题
  • 【蓝桥OJ—C语言】高斯日记、马虎的算式、第39级台阶
  • 基于深度学习的三维重建网络PatchMatchNet(二):dtu数据集介绍及PatchMatchNet中加载数据部分代码解析
  • 一文3000字从0到1实现基于requests框架接口自动化测试项目实战(建议收藏)
  • 【RockerMQ】001-RockerMQ 概述
  • 阿里是如何做Code Review的?
  • 内核调试:一次多线程调试与KASAN检测实例
  • Java - 数据结构,队列
  • ccc-pytorch-感知机算法(3)
  • LeetCode 225.用队列实现栈
  • 【面试】spring控制反转IOC
  • Spring 事务管理详解及使用
  • LeetCode 232.用栈实现队列
  • go面向对象思想封装继承多态
  • 【网络原理9】HTTP响应篇
  • SpringCloud之Seata(二)
  • 【Redis-入门阶段】基本数据结构
  • BACnet协议详解————MS/TP物理层,数据链路层和网络层
  • Tomcat
  • 创客匠人直播:构建公域到私域的用户增长模型
  • 机试指南
  • Android CTA认证设定首选网络类型
  • Android 动态切换应用图标方案
  • SMART PLC斜坡函数功能块(梯形图代码)
  • 不那么认真的linux复习