Linux 4 指令结尾&&通过shell明白指令实现的原理

🔥个人主页: Milestone-里程碑

❄️个人专栏: <<力扣hot100>> <<C++>><<Linux>>

<<Git>><<MySQL>>

🌟心向往之行必能至

目录

前言:

[一 . 基础指令的总结和使用](#一 . 基础指令的总结和使用)

[1.1 bc 指令:可以很⽅便的进⾏浮点运算](#1.1 bc 指令:可以很⽅便的进⾏浮点运算)

[1.2 面试题讲解(带三个指令)](#1.2 面试题讲解(带三个指令))

[二. 常用热键:提升操作效率](#二. 常用热键:提升操作效率)

[三. shell命令及其内核交互的原理](#三. shell命令及其内核交互的原理)

[1.1 核心原理解析](#1.1 核心原理解析)

[1.2 shell(翻译者/中间商) 内壳(执行者)](#1.2 shell(翻译者/中间商) 内壳(执行者))

总结:


前言:

前面的我们讲述了常用的指令,但基本也是会用,但不知道原理及哪些指令很实用,此篇将带你见识常用键位及shell 与Linux的关系,理解底层结构

一 . 基础指令的总结和使用

1.1 bc 指令:可以很⽅便的进⾏浮点运算

bash 复制代码
#普通使用
root@hcss-ecs-1cde:/tmp# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1.06 *56.2
59.57
4+5
9
23.6*89
2100.4

#与管道结合`
root@hcss-ecs-1cde:/tmp# echo '1+2' |bc
3

1.2 面试题讲解(带三个指令)

面试题:
1.你的计算机体系结构是什么?
2.如何查看你的 Linux 版本?
3.如何查看你的具体系统发行版?

1.首先,我们先明白体系结构其实就是我们的芯片结构

2.Linux分新旧版本,企业一般都是使用旧版本(经过时间与多数公司的验证,稳定性好)
uname ‒r 指令
语法:uname [选项]
功能: uname⽤来获取电脑和操作系统的相关信息。
补充说明:uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。

bash 复制代码
root@hcss-ecs-1cde:~# uname -r
5.15.0-138-generic
版本组成部分 含义及对应关系
5.15.0 对应的Linux 主线内核版本(基础内核版本)
-138 Ubuntu 对该主线内核的补丁版本号(表示该主线内核在 Ubuntu 中的第 138 次补丁更新)
generic 内核类型(适用于通用 x86_64 硬件平台)
对应 Ubuntu 发行版 该版本属于Ubuntu 22.04 LTS(Jammy Jellyfish)(Ubuntu 22.04 默认采用 5.15 系列内核,-138 是该系列的后期补丁版本)

-a / -all 会详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
器类型,硬件平台类型,操作系统名称

bash 复制代码
root@hcss-ecs-1cde:~# uname -a
Linux hcss-ecs-1cde 5.15.0-138-generic #148-Ubuntu SMP Fri Mar 14 19:05:48 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
信息项 对应内容
内核名称 Linux
主机名 hcss-ecs-1cde
内核版本号 5.15.0-138-generic
内核版本 #148-Ubuntu SMP Fri Mar 14 19:05:48 UTC 2025
硬件名 x86_64
处理器类型 x86_64
硬件平台类型 x86_64
操作系统名称 GNU/Linux

注:x86_64 是64位,如果后面没有64,那么就是32位

大多软件都适配32位,是因为兼容性,32位可以在64位下跑,反之则不一定
lsb_release -a:查看操作系统版本

bash 复制代码
root@hcss-ecs-1cde:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04
Codename:	jammy
输出字段 对应内容 含义说明
Distributor ID Ubuntu 操作系统的发行商标识(发行商名称)
Description Ubuntu 22.04.5 LTS 发行版完整描述:包含发行版名、具体版本号、LTS(长期支持)标识
Release 22.04 发行版的主版本号
Codename jammy 该发行版对应的开发 / 内部代号

二. 常用热键:提升操作效率

|---------|--------------------------------------------------|
| 热键 | 功能 |
| ctrl+c | 终止异常任务 |
| 上下键 | 查看历史命令,从新到旧 |
| tab | 输入数据后,快速按两下,可以查看根目录下包含该数据的文件 |
| ctrl+r | 查看历史命令,搜索 |
| ctrl+d | 退出当前队伍 |
| history | 上面的指令竟然可以查看历史命令,难道Linux可以记录我们的命令吗?用histroy是验证可以的 |

三. shell命令及其内核交互的原理

1.1 核心原理解析

Linux严格意义上说的是⼀个操作系统,我们称之为"核⼼(kernel)" ,但我们⼀般⽤⼾,不能直接
使⽤kernel。⽽是通过kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通。如何理解?为
什么不能直接使⽤kernel?

从技术⻆度,Shell的最简单定义:命令⾏解释器(command Interpreter)主要包含:
• 将使⽤者的命令翻译给核⼼(kernel)处理。
• 同时,将核⼼的处理结果翻译给使⽤者。

那么为什么要存在外壳程序呢?
1.方便用户操作
2.保护内壳程序

1.2 shell(翻译者/中间商) 内壳(执行者)

以我们当前的知识,无法很好理解,下面举个例子,方便我们感性理解

阶段一:

在一个村子里,老王是村长,他的儿子小王事业有成回到家乡。老王催小王找对象,但小王不擅长与女孩交流。于是,老王请来村里有名的媒婆------王婆。王婆到小王家询问他的心意,小王说:"我喜欢隔壁的如花。"王婆便去如花家说媒。如花表示不认识小王,王婆提醒:"他是你小学同学。"如花想了想,还是拒绝了。王婆只好回去告诉小王。

解析:

1.小王不亲自去,是因为他不善于交流(用户不善于操作)

2.小王让媒婆(shell)替他去传递信息

3.如花(内核)拒绝,王婆回去告诉小王(执行错误,反馈用户)

阶段二:

小王得知该消息仍不死心,要求王婆再尝试,王婆只好继续,但走到如花家门口,看到小帅一家人与如花一家人和谐地一起吃饭,王婆见此,未进门

理解

1.(用户)在得知自己错误仍不死心,继续进行操作,王婆看到如花家场景,选择放弃

2.正如王婆这样,shell这外壳也会判断信息是否正确,防止侵害内壳

阶段三

小王依旧不死心,于是王婆只能招一个实习生替她去说媒(无论实习生成不成功,都不影响王婆本人)

理解

正如王婆找替身一样,shell也会开一个子进程来判断是否可以进行,其中子进程并不会影响shell

对⽐windows GUI,我们操作windows 不是直接操作windows内核,⽽是通过图形接⼝,点击,从⽽完成我们的操作(⽐如进⼊D盘的操作,我们通常是双击D盘盘符.或者运⾏起来⼀个应⽤程序)。
shell 对于Linux,有相同的作⽤,主要是对我们的指令进⾏解析,解析指令给Linux内核。反馈结果在通过内核运⾏出结果,通过shell解析给⽤⼾。

总结:

掌握常用的热键,提升自己的操作效率

理解shell于内核交互的原理.让我们不竟可以知指令,还明白指令的原理

相关推荐
zhengtianzuo2 小时前
049-Linux抓屏-xcb
linux·抓屏·xcb
fanruitian2 小时前
k8s 设置副本数
linux·容器·kubernetes
txinyu的博客2 小时前
unique_ptr
linux·服务器·c++
亲爱的非洲野猪2 小时前
动态规划进阶:树形DP深度解析
算法·动态规划·代理模式
lpfasd1232 小时前
《影响力》精读笔记
网络·笔记·成长
lihui_cbdd2 小时前
GROMACS 2026 Beta 异构集群完全部署手册(5090可用)
linux·计算化学
亲爱的非洲野猪2 小时前
动态规划进阶:其他经典DP问题深度解析
算法·动态规划
啊阿狸不会拉杆2 小时前
《计算机操作系统》第四章-存储器管理
人工智能·算法·计算机组成原理·os·计算机操作系统
tobias.b2 小时前
408真题解析-2010-11-数据结构-基础排序算法特征
数据结构·算法·排序算法·计算机考研·408真题解析