news 2026/3/26 23:44:56

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/3/24 20:59:27

# DeepSeek一夜跌落神坛?不!是你不会用!手把手教你0成本本地部署+投喂私有数据,打造比GPT-4更懂你的“第二大脑”

摘要: 为什么你的DeepSeek只会讲车轱辘话?为什么AI总是产生幻觉?本文不讲虚头巴脑的概念,直接带你从底层逻辑拆解,利用DeepSeek-R1 Ollama RAG技术,在普通家用电脑上部署一个完全私有、懂你业务、绝不泄露…

作者头像 李华
网站建设 2026/3/19 21:24:03

计算机毕业设计springboot微信小程序医院预约挂号系统 基于SpringBoot的掌上医院门诊预约小程序 微信小程序+SpringBoot智慧医院挂号平台

计算机毕业设计springboot微信小程序医院预约挂号系统056f5 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 移动互联网把“排队”搬进了手机,也把“等待”压缩成指…

作者头像 李华
网站建设 2026/3/16 4:11:49

空降项目经理生存指南,三个月站稳脚跟!

空降成为项目经理,是一次高风险的职业跃迁。面对陌生的团队、既定的流程和隐形的张力,如何在最短时间内赢得信任、掌控局面,是每位空降管理者必须解答的命题。成功的空降并非运气,而是一套可拆解、可执行的方法体系。本文将为你梳…

作者头像 李华
网站建设 2026/3/26 23:01:29

一文解读PMI-ACP认证值不值得考?

市场需求的演变与不确定性等对项目管理提出新挑战。PMI-ACP认证的诞生,与项目管理领域的演变以及管理者们所面临的挑战紧密相连。大环境的不断变迁,以及技术的飞速发展,都对企业内部的管理和执行方式提出了新的挑战。在外部环境发生改变的情况…

作者头像 李华
网站建设 2026/3/21 18:17:44

sql语言之计算最大值,最小值,平均值的函数

数据表如下图如果要计算最大值语法是select max(字段名) from 表名select max("score") from table_tom;计算最小值语法select min(字段名) from 表名select min("score") FROM table_tom;计算平均值语法select avg(字段名) from 表名如果需要控制小数位&a…

作者头像 李华