Linux :指令收尾!从 “会敲” 到 “懂原理”,Shell 和内核的交互秘密都在这
一. 基础指令首尾与总结1.1 文件压缩与远程传输指令1.1.1 tar文件归档与压缩利器功能打包/解包不打开它直接看内容参数组合(这里需要注意 -f后不能再加别的参数)tar -czf静默打包并压缩目录适合脚本中后台执行不输出过程信息tar -xzf静默解压 .tar.gz 格式的压缩包快速恢复文件tar -xzf -C指定解压目录避免文件散落在当前目录-C 后接目标路径tar -cvzf带详细输出的打包压缩-v 参数显示每个处理的文件tar -xvzf带详细输出的解压适合确认解压内容是否正确实际案例# # 示例 1: 使用 tar -czf 打包并压缩目录 (不显示过程) # # 创建测试目录和文件 [rootVM-0-3-centos lesson5]# mkdir -p test_dir [rootVM-0-3-centos lesson5]# echo 测试文件1 test_dir/file1.txt [rootVM-0-3-centos lesson5]# echo 测试文件2 test_dir/file2.txt [rootVM-0-3-centos lesson5]# ls ./test_dir file1.txt file2.txt # 打包并压缩 test_dir 目录为 archive.tgz (-c:创建 -z:gzip压缩 -f:指定文件名) [rootVM-0-3-centos lesson5]# tar -czf archive.tgz test_dir [rootVM-0-3-centos lesson5]# ls archive.tgz test_dir # # 示例 2: 使用 tar -xzf 解压缩包 (不显示过程) # # 先删除原目录 [rootVM-0-3-centos lesson5]# rm -rf test_dir [rootVM-0-3-centos lesson5]# ls archive.tgz # 解压 archive.tgz (-x:解压 -z:识别gzip压缩 -f:指定压缩包) [rootVM-0-3-centos lesson5]# tar -xzf archive.tgz [rootVM-0-3-centos lesson5]# ls archive.tgz test_dir [rootVM-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 解压到指定目录 # # 创建目标目录 [rootVM-0-3-centos lesson5]# mkdir -p target_dir [rootVM-0-3-centos lesson5]# ls archive.tgz target_dir test_dir # 解压到指定目录 target_dir (-C:指定解压路径) [rootVM-0-3-centos lesson5]# tar -xzf archive.tgz -C target_dir [rootVM-0-3-centos lesson5]# ls ./target_dir test_dir # # 示例 4: 使用 tar -cvzf 打包压缩并显示过程 # # -v:显示详细过程 (verbose) [rootVM-0-3-centos lesson5]# tar -cvzf visible__archive.tgz test_dir test_dir/ test_dir/file2.txt test_dir/file1.txt [rootVM-0-3-centos lesson5]# ls archive.tgz target_dir test_dir visible__archive.tgz # # 示例 5: 使用 tar -xvzf 解压并显示过程 # # 清理已经存在的测试文件 [rootVM-0-3-centos lesson5]# rm -rf test_dir # -v:显示解压的每个文件 [rootVM-0-3-centos lesson5]# tar -xvzf visible__archive.tgz test_dir/ test_dir/file2.txt test_dir/file1.txt [rootVM-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 # 后台解压 # 所以我们大部分时候也可以不用v1.1.2 scp跨机文件传输工具功能scp基于 SSH 协议实现远程文件拷贝无需手动登录即可传输适合服务器间文件同步本地到远程scp local_file userremote_ip:/remote/path如scp test.txt Lotso192.168.1.1:/home/将本地test.txt传到远程/home目录。远程到本地scp userremote_ip:/remote/file local_path如scp root192.168.1.1:/etc/hosts ./将远程hosts文件下载到当前目录。传输目录加-r参数递归传输scp -r local_dir userremote_ip:/remote/path。1.1.3 bc交互式计算器工具功能bc解决了 Linux 终端默认不支持浮点运算的问题是简单计算的高效工具基础使用直接输入bc进入交互模式支持 - * / 运算如 25 回车返回 7输入 quit 退出。结合管道使用输入echo 12345|bc直接返回结果15实际案例# 基础使用 [rootVM-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. 25 7 2*5 10 5/2 2 5-3 2 quit #结合管道 [rootVM-0-3-centos lesson5]# echo 12345|bc 151.2 面试题讲解(附带两个指令)面试题1.你的计算机体系结构是什么2.如何查看你的 Linux 版本3.如何查看你的具体系统发行版1.3 常用热键热键组合功能描述CtrlC强制终止当前运行的程序或进程常用于中断终端中正在执行的命令如ping测试、长时间运行的脚本等。CtrlR快速搜索历史指令输入关键字后会匹配最近执行过的含该关键字的指令方便快速重复执行或编辑历史命令。CtrlD等效于exit命令可用于退出当前 Shell 会话如远程登录后退出服务器也可在输入模式中表示“输入结束”如cat命令中输入内容后按此键结束输入。Tab自动补全指令或路径输入指令前几个字符或路径前几个部分时按此键会自动补全为完整的指令或路径减少拼写错误提升操作效率。补充一个关机指令shutdown语法shutdown [选项]常见选项-h停止系统服务后立即关机。-r停止系统服务后重新启动系统。-t sec指定延迟sec秒后执行关机操作。以下命令作为扩展安装和登录命令login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last文件处理命令file、mkdir、grep、dd、find、mv、ls、diff、cat、ln系统管理相关命令df、top、free、quota、at、lp、adduser、groupadd、kill、crontab网络操作命令ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup系统安全相关命令passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who其它命令tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。二. Shell 与内核交互原理拆解 “指令生效” 的关键环节2.1 核心原理解析Linux严格意义上说的是⼀个操作系统我们称之为“核心kernel“但我们⼀般用户不能直接使用kernel。而是通过kernel的“外壳”程序也就是所谓的shell来与kernel沟通。如何理解为什么不能直接使用kernel从技术角度shell的最简单定义命令行解释器主要包含将使用者的命令翻译给核心处理同时将核心的处理结果结果翻译给使用者。2.2 核心角色定位Shell 是 “翻译官”内核是 “执行者”以目前的知识储备我们可能无法很好的理解那么接下来博主将通过一个故事带大家感性理解一下先。故事阶段一在一个村子里老王是村长他的儿子小王事业有成回到家乡。老王催小王找对象但小王不擅长与女孩交流。于是老王请来村里有名的媒婆——王婆。王婆到小王家询问他的心意小王说“我喜欢隔壁的如花。”王婆便去如花家说媒。如花表示不认识小王王婆提醒“他是你小学同学呀。”如花想了想还是拒绝了。王婆只好回去告诉小王。阶段一理解小王不亲自去是因为他不擅长与女孩交流。在Linux中用户小王通常不直接与内核如花打交道而是通过Shell王婆传递指令“喜欢如花”。Shell解析并执行命令内核处理请求执行失败则反馈给用户。故事阶段二小王不死心请王婆再去争取。王婆走到如花家附近看见如花正和隔壁的小帅及家人一起吃饭顿时明白如花已有对象。王婆直接返回告诉小王此事不可为。阶段二理解王婆在传递请求前先判断情况拒绝了不合理的要求。正如Shell能在一定程度上拦截非法或危险请求保护内核免受直接干扰。故事阶段三小王仍不放弃王婆本要拒绝却遇见老王碍于情面只好答应。但她担心事情办不成会砸招牌于是想出一个办法成立“王婆婚介公司”招聘实习生去执行任务。成功了是王婆指导有方失败了也无妨换一个实习生再去试试就是。阶段三理解王婆不亲自冒险而是派实习生去尝试。这好比Shell不直接执行可能崩溃的任务而是创建子进程实习生去执行。子进程若失败不影响Shell本身。✅ 整体总结Shell与Bash Linux中常用的Shell程序是Bash如which bash所示用户登录后自动启动常以“死循环”方式等待用户输入。王婆是Bash媒婆是Shell——Shell是命令行界面的统称Bash是其中一种具体实现。外壳的多样性 Windows也有Shell如图形化界面GUI。安卓基于Linux内核其GUI也是一种Shell。这就是为什么手机厂商常宣传“基于安卓深度定制”实为定制Shell而非“优化Linux内核”。内核才是核心 我们学习的应是操作系统最核心的部分——内核。无论Shell如何变化内核始终是基础选择哪种外壳反而次要。通过这个故事我们形象地理解了用户-Shell-内核之间的关系Shell作为桥梁既传递指令也提供保护还能通过子进程机制增强系统稳定性。内核才是真正的力量中心而Shell只是我们与它对话的窗口。2.3 Shell与内核交互过程图解(对应上面的故事)阶段一正常命令执行流程┌─────────┐ 请求 ┌─────────┐ 传递 ┌─────────┐ │ 小王 │ ──────── │ 王婆 │ ──────── │ 如花 │ │ (用户) │ │ (Shell) │ │ (内核) │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ 喜欢如花 │ 解析命令 │ 处理请求 │ │ │ │ │ │ │ ←──────────────── ──────────────────── │ │ 反馈结果(拒绝) │关键理解用户不直接操作内核需要通过Shell中介阶段二Shell拦截非法请求┌─────────┐ 再次请求 ┌─────────┐ │ 小王 │ ──────── │ 王婆 │ │ (用户) │ │ (Shell) │ └─────────┘ └─────────┘ │ │ 检测到异常情况 │ (如花已有对象) │ ┌─────┴─────┐ │ 拒绝执行 │ │ 保护内核 │ └─────┬─────┘ │ │ ←────────────────── │ │ 直接返回拒绝 │关键理解Shell能在传递前拦截危险请求保护系统阶段三创建子进程执行任务┌─────────┐ 坚持请求 ┌─────────┐ │ 小王 │ ──────── │ 王婆 │ │ (用户) │ │ (Shell) │ └─────────┘ └─────────┘ │ │ 创建子进程 ┌───────────┴───────────┐ │ │ ┌─────┐ ┌─────┐ │实习生│ │实习生│ │(子进│ │(子进│ │ 程) │ │ 程) │ └─────┘ └─────┘ │ │ │ 尝试执行 │ 备份方案 │ │ ┌───┴───┐ ┌───┴───┐ │成功/失败│ │成功/失败│ └───┬───┘ └───┬───┘ └─────────┬─────────────┘ │ │ ←────────────── │ │ 汇总结果 │关键理解通过子进程机制Shell本身不会崩溃整体架构对比现实世界比喻 Linux系统对应 ┌─────────────────┐ ┌─────────────────┐ │ 小王 │ │ 用户 │ │ (不擅长直接交流) │ │ (不直接操作内核) │ └────────┬────────┘ └────────┬────────┘ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ 王婆 │ │ Shell │ │ (沟通中介) │ │ (命令解释器) │ └────────┬────────┘ └────────┬────────┘ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ 如花 │ │ 内核 │ │ (最终决策者) │ │ (核心资源管理) │ └─────────────────┘ └─────────────────┘

相关新闻

PLC电梯控制系统设计

PLC电梯控制系统设计

PLC电梯控制系统设计 第一章 系统设计目标与核心需求 本设计以PLC为核心控制单元,构建高效、精准、安全的电梯控制系统,核心目标是实现电梯轿厢的自动启停、楼层精准定位、门机联动控制与乘梯安全保障,适配中低层楼宇(3-10层&…

2026/7/5 14:36:00 阅读更多 →
计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网

计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网

计算机毕业设计springboot招聘系统网站g2k9n (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。整套系统围绕“信息实时、流程闭环、体验友好”三个关键词展开:前端一套…

2026/5/17 2:46:50 阅读更多 →
计算机毕业设计springboot微信小程序医院预约挂号系统 基于SpringBoot的掌上医院门诊预约小程序 微信小程序+SpringBoot智慧医院挂号平台

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

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

2026/7/4 3:45:56 阅读更多 →

最新新闻

Python练习题002篇

Python练习题002篇

文章目录 模块一:布尔类型与比较运算符 练习题 模块二:基本if单分支选择结构 练习题 模块三:if-else双分支选择结构 练习题 模块四:逻辑运算符(and / or / not) 练习题 模块五:多重if(elif)多分支选择结构 练习题 模块六:嵌套if选择结构 练习题 综合练习题(侧重Linu…

2026/7/5 14:36:22 阅读更多 →
Blender UV编辑终极指南:UvSquares插件一键重塑UV网格

Blender UV编辑终极指南:UvSquares插件一键重塑UV网格

Blender UV编辑终极指南:UvSquares插件一键重塑UV网格 【免费下载链接】UvSquares Blender addon for reshaping UV quad selection into a grid. 项目地址: https://gitcode.com/gh_mirrors/uv/UvSquares 想要彻底告别繁琐的UV调整工作吗?UvSqua…

2026/7/5 14:32:21 阅读更多 →
vue学习笔记(持续更新)

vue学习笔记(持续更新)

目录vue的学习笔记使用emit的步骤使用vue-Router的坑点报错信息报错原因总结错误代码正确代码一句话最终结论箭头函数速记口诀涓滴之水终可磨损大石,不是由于它力量强大,而是由于昼夜不舍的滴坠。 —贝多芬 vue的学习笔记 使用emit的步骤 在子组件定义…

2026/7/5 14:32:21 阅读更多 →
【ESP32】ESP-IDF开发环境搭建(cursor)

【ESP32】ESP-IDF开发环境搭建(cursor)

1 前言 ESP-IDF 是乐鑫主推的ESP32的开发框架,旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。 [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html] 如需在 ESP32 上使用…

2026/7/5 14:32:21 阅读更多 →
解锁Mi-Create:打造个性化小米手表表盘的完整指南

解锁Mi-Create:打造个性化小米手表表盘的完整指南

解锁Mi-Create:打造个性化小米手表表盘的完整指南 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 想要为你的小米智能手表设计独一无二的个性化表盘…

2026/7/5 14:32:21 阅读更多 →
ConvNeXt 的 torchvision 版本 模型结构的代码实现

ConvNeXt 的 torchvision 版本 模型结构的代码实现

ConvNeXt 的 torchvision 版本 模型结构的代码实现 flyfish # flyfish convnext_tiny.py from collections.abc import Sequence from functools import partial from typing import Any, Callable, Optionalimport torch from torch import nn, Tensor from torch.nn import …

2026/7/5 14:28:21 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻