news 2026/4/23 15:42:52

Linux :指令收尾!从 “会敲” 到 “懂原理”,Shell 和内核的交互秘密都在这

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux :指令收尾!从 “会敲” 到 “懂原理”,Shell 和内核的交互秘密都在这

一. 基础指令首尾与总结

1.1 文件压缩与远程传输指令

1.1.1 tar:文件归档与压缩利器

功能:打包/解包,不打开它,直接看内容
参数组合:(这里需要注意 -f后不能再加别的参数)

实际案例

# ================================================== # 示例 1: 使用 tar -czf 打包并压缩目录 (不显示过程) # ================================================== # 创建测试目录和文件 [root@VM-0-3-centos lesson5]# mkdir -p test_dir [root@VM-0-3-centos lesson5]# echo "测试文件1" > test_dir/file1.txt [root@VM-0-3-centos lesson5]# echo "测试文件2" > test_dir/file2.txt [root@VM-0-3-centos lesson5]# ls ./test_dir file1.txt file2.txt # 打包并压缩 test_dir 目录为 archive.tgz (-c:创建 -z:gzip压缩 -f:指定文件名) [root@VM-0-3-centos lesson5]# tar -czf archive.tgz test_dir [root@VM-0-3-centos lesson5]# ls archive.tgz test_dir # ================================================== # 示例 2: 使用 tar -xzf 解压缩包 (不显示过程) # ================================================== # 先删除原目录 [root@VM-0-3-centos lesson5]# rm -rf test_dir [root@VM-0-3-centos lesson5]# ls archive.tgz # 解压 archive.tgz (-x:解压 -z:识别gzip压缩 -f:指定压缩包) [root@VM-0-3-centos lesson5]# tar -xzf archive.tgz [root@VM-0-3-centos lesson5]# ls archive.tgz test_dir [root@VM-0-3-centos lesson5]# ls -l test_dir total 8 -rw-r--r-- 1 root root 14 Oct 16 10:28 file1.txt -rw-r--r-- 1 root root 14 Oct 16 10:28 file2.txt # ================================================== # 示例 3: 使用 tar -xzf -C 解压到指定目录 # ================================================== # 创建目标目录 [root@VM-0-3-centos lesson5]# mkdir -p target_dir [root@VM-0-3-centos lesson5]# ls archive.tgz target_dir test_dir # 解压到指定目录 target_dir (-C:指定解压路径) [root@VM-0-3-centos lesson5]# tar -xzf archive.tgz -C target_dir [root@VM-0-3-centos lesson5]# ls ./target_dir test_dir # ================================================== # 示例 4: 使用 tar -cvzf 打包压缩并显示过程 # ================================================== # -v:显示详细过程 (verbose) [root@VM-0-3-centos lesson5]# tar -cvzf visible__archive.tgz test_dir test_dir/ test_dir/file2.txt test_dir/file1.txt [root@VM-0-3-centos lesson5]# ls archive.tgz target_dir test_dir visible__archive.tgz # ================================================== # 示例 5: 使用 tar -xvzf 解压并显示过程 # ================================================== # 清理已经存在的测试文件 [root@VM-0-3-centos lesson5]# rm -rf test_dir # -v:显示解压的每个文件 [root@VM-0-3-centos lesson5]# tar -xvzf visible__archive.tgz test_dir/ test_dir/file2.txt test_dir/file1.txt [root@VM-0-3-centos lesson5]# ls archive.tgz target_dir test_dir visible__archive.tgz # ================================================== #补充: 在任意 tar 命令末尾加 &, 例如: # ================================================== tar -czf bigarchive.tar.gz /path/to/large_dir & # 后台打包 tar -xzf bigarchive.tar.gz -C /target & # 后台解压 # 所以我们大部分时候也可以不用v
1.1.2 scp:跨机文件传输工具

功能scp基于 SSH 协议实现远程文件拷贝,无需手动登录即可传输,适合服务器间文件同步

1.1.3 bc:交互式计算器工具

功能bc解决了 Linux 终端默认不支持浮点运算的问题,是简单计算的高效工具

实际案例

# 基础使用 [root@VM-0-3-centos lesson5]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 2+5 7 2*5 10 5/2 2 5-3 2 quit #结合管道 [root@VM-0-3-centos lesson5]# echo "1+2+3+4+5"|bc 15

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

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

1.3 常用热键

热键组合功能描述
Ctrl+C强制终止当前运行的程序或进程,常用于中断终端中正在执行的命令(如ping测试、长时间运行的脚本等)。
Ctrl+R快速搜索历史指令,输入关键字后会匹配最近执行过的含该关键字的指令,方便快速重复执行或编辑历史命令。
Ctrl+D等效于exit命令,可用于退出当前 Shell 会话(如远程登录后退出服务器),也可在输入模式中表示“输入结束”(如cat命令中输入内容后按此键结束输入)。
Tab自动补全指令或路径,输入指令前几个字符或路径前几个部分时,按此键会自动补全为完整的指令或路径,减少拼写错误,提升操作效率。

补充一个关机指令shutdown

语法shutdown [选项]

常见选项

以下命令作为扩展:

二. Shell 与内核交互原理:拆解 “指令生效” 的关键环节

2.1 核心原理解析

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

从技术角度:shell的最简单定义,命令行解释器主要包含:

2.2 核心角色定位:Shell 是 “翻译官”,内核是 “执行者”

以目前的知识储备,我们可能无法很好的理解,那么接下来博主将通过一个故事带大家感性理解一下先。

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

阶段一理解

故事阶段二:小王不死心,请王婆再去争取。王婆走到如花家附近,看见如花正和隔壁的小帅及家人一起吃饭,顿时明白如花已有对象。王婆直接返回,告诉小王此事不可为。

阶段二理解

故事阶段三:小王仍不放弃,王婆本要拒绝,却遇见老王,碍于情面只好答应。但她担心事情办不成会砸招牌,于是想出一个办法:成立“王婆婚介公司”,招聘实习生去执行任务。成功了是王婆指导有方,失败了也无妨,换一个实习生再去试试就是。

阶段三理解

✅ 整体总结

王婆是Bash,媒婆是Shell——Shell是命令行界面的统称,Bash是其中一种具体实现。

通过这个故事,我们形象地理解了用户-Shell-内核之间的关系:Shell作为桥梁,既传递指令,也提供保护,还能通过子进程机制增强系统稳定性。内核才是真正的力量中心,而Shell只是我们与它对话的窗口。

2.3 Shell与内核交互过程图解(对应上面的故事)

阶段一:正常命令执行流程

┌─────────┐ 请求 ┌─────────┐ 传递 ┌─────────┐ │ 小王 │ ────────> │ 王婆 │ ────────> │ 如花 │ │ (用户) │ │ (Shell) │ │ (内核) │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ "喜欢如花" │ 解析命令 │ 处理请求 │ │ │ │ │ │ │ ←──────────────── ──────────────────── │ │ 反馈结果(拒绝) │

关键理解:用户不直接操作内核,需要通过Shell中介

阶段二:Shell拦截非法请求

┌─────────┐ 再次请求 ┌─────────┐ │ 小王 │ ────────> │ 王婆 │ │ (用户) │ │ (Shell) │ └─────────┘ └─────────┘ │ │ 检测到异常情况 │ (如花已有对象) │ ┌─────┴─────┐ │ 拒绝执行 │ │ 保护内核 │ └─────┬─────┘ │ │ ←────────────────── │ │ 直接返回拒绝 │

关键理解:Shell能在传递前拦截危险请求,保护系统

阶段三:创建子进程执行任务

┌─────────┐ 坚持请求 ┌─────────┐ │ 小王 │ ────────> │ 王婆 │ │ (用户) │ │ (Shell) │ └─────────┘ └─────────┘ │ │ 创建子进程 ┌───────────┴───────────┐ │ │ ┌─────┐ ┌─────┐ │实习生│ │实习生│ │(子进│ │(子进│ │ 程) │ │ 程) │ └─────┘ └─────┘ │ │ │ 尝试执行 │ 备份方案 │ │ ┌───┴───┐ ┌───┴───┐ │成功/失败│ │成功/失败│ └───┬───┘ └───┬───┘ └─────────┬─────────────┘ │ │ ←────────────── │ │ 汇总结果 │

关键理解:通过子进程机制,Shell本身不会崩溃

整体架构对比

现实世界比喻: Linux系统对应: ┌─────────────────┐ ┌─────────────────┐ │ 小王 │ │ 用户 │ │ (不擅长直接交流) │ │ (不直接操作内核) │ └────────┬────────┘ └────────┬────────┘ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ 王婆 │ │ Shell │ │ (沟通中介) │ │ (命令解释器) │ └────────┬────────┘ └────────┬────────┘ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ 如花 │ │ 内核 │ │ (最终决策者) │ │ (核心资源管理) │ └─────────────────┘ └─────────────────┘
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:53:46

基于STM32的便携式信号发生器设计

基于STM32的便携式信号发生器设计 第一章 系统设计目标与核心需求 基于STM32的便携式信号发生器以“小型便携、多波形输出、参数可调、低耗稳定”为核心设计目标,依托STM32微控制器的高集成度与精准时序控制优势,突破传统信号发生器体积大、功耗高、操作…

作者头像 李华
网站建设 2026/4/23 10:57:37

基于STM32的光伏水泵控制器设计

基于STM32的光伏水泵控制器设计 第一章 系统设计目标与核心需求 基于STM32的光伏水泵控制器以“高效节能、稳定可靠、自适应调节、安全防护”为核心设计目标,依托STM32微控制器的高运算性能与低功耗优势,突破传统光伏水泵控制效率低、适配性差的局限&…

作者头像 李华
网站建设 2026/4/23 12:16:08

SIEMENS变频器6SE7032-3HH84-1GF0

西门子6SE7032-3HH84-1GF0是SIEMENS SIMOVERT MASTERDRIVES系列中的一款高性能工程型变频器,广泛应用于工业自动化领域,适用于对控制精度、响应速度和系统可靠性要求较高的传动场景,如轧机、起重设备、输送系统等。 一、基本结构组成 6SE70系…

作者头像 李华
网站建设 2026/4/23 12:21:39

告别沉闷的直方图:绘制高颜值的威尔金森图与麦穗图

在数据可视化世界中,我们经常用直方图来描述数据的分布情况,但今天我想介绍两种特别而优雅的点状图变体:威尔金森点状图和麦穗图。它们像数据世界的"点彩派"画家,用简单的点创造出丰富的信息层次。与直方图相比&#xf…

作者头像 李华
网站建设 2026/4/23 12:19:08

java+vue基于springboot大学生一体化服务系统 校园生活服务平台 选课 失物招领 自习室预约,实习系统y98ioc9x

目录 系统概述技术栈核心功能模块性能优化扩展性设计 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 系统概述 基于SpringBoot和Vue的大学生一体化服务系统整合了校园生活核心功能模块,包括选课管理、失物招领、自…

作者头像 李华
网站建设 2026/4/23 13:43:42

东风奕派官方回应eπ007碰撞起火,宣传与现实有出入?——为什么过了一年的视频才曝光引起了关注——东昱欣晟(欣旺达)这个磷酸铁锂电磁如何?——为啥还容易起火?——对比:欣旺达 LFP vs 比亚迪刀片

​ 编辑首页 对比:欣旺达 LFP vs 比亚迪刀片 下面是 欣旺达(Sunwoda 系统 / LFP)电池和 **比亚迪刀片电池(Blade Battery)**的真实对比,重点聚焦在 安全性、结构设计、热稳定、能量密度与实际表现,帮你理清两者的优缺点。 ⚠️注意:本文强调的是 工程层面的真实差异…

作者头像 李华