Linux Shell性质和工作原理

  • shell的性质

Linux系统的shell相当于操作系统的“一层外壳”,它是命令语言解释器,它为用户提供了使用操作系统的接口。它不属于内核,而是在内核之外以用户态方式运行。它的基本功能是解释并执行用户打入的各种命令,实现用户与Linux内核的接口。

个人理解:shell就是普通的用户态程序,能够理解用户命令。是用户和系统的传信者。

  • shell工作原理

在启动Linux系统后,内核会为每个终端用户建立一个进程去执行shell解释程序。

以下内容为个人理解:

1.shell检查并预处理命令行后,使用fork或vfork创建子进程。

2.在子进程中调用execve执行命令。

3.在本进程中等待子进程处理完毕(对于非后台进程),继续等待用户输入命令。

时间: 2024-10-26 07:06:10

Linux Shell性质和工作原理的相关文章

Linux Shell脚本Ldd命令原理及使用方法

1.首先ldd不是一个可执行程序,而只是一个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量如下:LD_TRACE_LOADED_OBJECTS.LD_WARN.LD_BIND_NOW.LD_LIBRARY_VERSION. LD_VERBOSE等.当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行.要不你可以在shell终端测试一下,如下:(1)

Linux路由器及交换机工作原理

IP包头中TTL字段的含义是什么?它用来做什么? TTL(time to live):该字段用于表示IP数据包的生命周期, 作用:限制一个数据在网络中无限循环的转发下去. 简述arp缓存表的建立过程: Pc1发送数据给pc2,查看缓存表中没有pc2的Mac地址,便向所有的主机发送ARP请求.Pc2收到后回复ARP应答.Pc1知道pc2的Mac地址后将pc2的mac地址保存的缓存中,发送数据. arp缓存表中记录了什么字段信息: Internet地址   物理地址  类型     简述网络通信中数

Linux shell指令运行的原理

shell是一种命令行解释器 对于一般用户,我们不能直接使用操作系统(kernel).而是通过 kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通.    为什么不能直接使用kernel?    从 技 术 角 度 , Shell 的 最 简 单 定 义 : 命 令 行 解 释 器(command Interpreter)主要包含:    a. 将使用者的命令翻译给核心(kernel)处理.    b. 同时,将核心的处理结果翻译给使用者.    对于window

linux中inode的工作原理

当划分磁盘分区并格式化的时候,整个分区会被划分为两个部分,即inode区和data block(实际数据放置在数据区域中)这个inode即是(目录.档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个文件的 inode. Inode 里面存储了文件的很多重要参数,其中唯一标识称作 Inumber, 其他信息还有创建时间(ctime).修改时间(mtime) .文件大小.属主.归属的用户组.读写权限.数据所在block号等信息 所以文件就有两部份组成: 1.元数据:in

Linux 内核防火墙的工作原理一

Linux的内核提供的防火墙功能通过netfiter框架实现,并提供iptables工具配置和修改防火墙的规则 netfilter的通用框架不依赖于具体的协议,而是为每种网络协议定义一套钩子函数.这些钩子函数在 数据包经过协议栈的几个关键点时被调用,在这几个点中,协议栈将数据包及钩子函数作为参数,传递 netfilter框架 对于每种网络协议定义的钩子函数,任何内核模块可以对每种协议的一个或多个钩子函数进行注册, 实现挂接.这样当某个数据包被传递给netfilter框架时,内核能检测到是否有有关

Linux shell 指令

Linux shell指令运行的原理: Linux严格意义上说的是一个操作系统,我们称之为"核心(kernel)" ,但我们一般用户,不能直接使用kernel.而是通过 kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通.shell对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核.反馈结果在通过内核运行出结果,通过shell解析给用户. ls指令 -a 列出目录下的所有文件,包括以.开头的隐含文件. cd命令

Linux shell脚本-基础学习笔记

Linux脚本能力不是太强,最近再补习下,毕竟linux shell在日常工作中还是很普遍的, 用起来更方便.省时省力. 以下是学习笔记,偏理论,后面有几个例子,供参考. shell脚本组成元素系统命令.文本处理工具(grep\sed等).变量.条件判断.循环结构和函数 -------------------------------------------- 三剑客:grep,sed,awk,还有wc,sort,head等 ------------------------------------

Linux学习之路-Shell 工作原理

Shell 工作原理 什么是shell shell是命令语言.命令解释程序及程序设计语言的统称,是用户和Linux内核之间的接口程序,为用户提供使用操作系统的接口. shell的特性 shell的一个重要特性是它自身是一个解释型的程序设计语言,程序运行时由解释器全程参与运行过程,每次读取一行,运行一行.shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数.变量.数组和程序控制结构.shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中. sh

Linux系统开机启动时的工作原理

Linux系统开机启动时的工作原理也是深入了解Linux系统核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了.在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了. 启动第二步--读取MB