磨刀不误砍柴工,理解bash工作原理,就好比为学习Linux打好了地基
一. Linux的基本原则:
1、由目的单一的小程序组成;组合小程序完成复杂任务;
2、一切皆文件;
3、尽量避免捕获用户接口;
4、配置文件保存为纯文本格式;
Linux加载过程:
文章图片
二. bash命令工作流程:
概念:
bash也就是/bin/目录下的二进制程序了,比如ls,mv,cp等等
首先简要介绍下,在Linux下,kernel内核暴露了300多个系统调用的接口,即system call 300多个,比如:work(),open(),close(),fstat(),fork()等等.
所有的程序都最后脱离不了调用这300多个接口(这300多个接口放在/lib或者/lib32或者/lib64下),就好比所有的java程序脱离不开jdk一样.
首先装一下strace,用来查看命令的工作流程
yum install strace -y
文章图片
1.查看ls的命令流程
文章图片
more t2即可看到ls命令流程了
文章图片
可以流程一步一步分析
2.流程图:
文章图片
【Linux(五) 之 bash工作原理】1)首先由init启动Linux系统,加载好系列的文件
2)用户输入命令,终端捕获到.
3)进行字符串解析.
4)找到对应的/bin/bash
5)将对应的bash通过fork复制到内存当中
6)bash通常由很多system call接口构成,按其顺序压入栈中,而将数据存入堆中.
7)由内核一个一个调用.
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具