linux学习基础

发布时间:2026/9/13 6:18:13

linux学习基础 刚开始接触 Linux 的小伙伴大概率都被两个概念搞懵过终端Terminal和Shell。平时打开黑框框敲命令习惯统称为“终端”但网上教程一会儿说终端、一会儿说 Shell越看越混乱到底这俩是不是同一个东西为什么打开终端就可以输命令Shell 到底是干嘛的今天我用大白话实操逻辑彻底讲透终端和 Shell 的定义、区别、协作关系同时整理 Linux 系统中最常用的几类 Shell新手看完一次弄懂再也不混淆一、先破误区终端 ≠ Shell完全是两个东西很多人学 Linux 的第一个误区把打开的黑色命令行窗口当成 Shell。其实终端是“展示窗口”Shell 是“翻译大脑”二者分工明确、缺一不可我们可以用一个超级好懂的类比终端 手机屏幕键盘负责展示内容、接收你的输入Shell 手机操作系统负责解析你的操作、执行指令、返回结果没有屏幕终端你没法输入和查看结果没有系统Shell你输入的内容毫无意义无法被执行。接下来我们分别详细拆解。二、什么是终端Terminal只是一个输入输出载体1. 终端的本质终端全称终端模拟器是一个纯输入输出的交互工具本身没有任何命令解析、执行能力。它的核心工作只有两件事接收用户的键盘输入内容原样传递给 Shell接收 Shell 返回的执行结果展示在屏幕上2. 终端的发展由来看懂就彻底理解在早期大型机时代计算机主机非常昂贵、体积巨大不可能每人一台。厂商就设计了很多廉价的物理终端设备比如经典的 VT100只带屏幕和键盘通过线缆连接主机多人共用一台主机这就是终端的雏形。现在的个人电脑、服务器已经不需要物理终端了我们用的都是终端模拟器是软件模拟出来的终端环境。3. 常见的终端工具不同系统、不同桌面环境自带的终端都不一样它们只是界面工具核心功能完全一致LinuxGNOME Terminal、Konsole、Alacritty、kittyMaciTerm2、系统自带终端WindowsWindows Terminal、CMD、PowerShell简单总结终端只是一个“传话窗口”不干活、只传信、展示结果。三、什么是 ShellLinux 命令的真正执行者如果说终端是窗口那 Shell 就是整个命令行交互的核心核心核心。1. Shell 的本质Shell 是命令行解释器是运行在操作系统之上的应用程序也是用户与 Linux 内核的中间桥梁。Linux 内核是系统的底层核心负责管理硬件、进程、文件但内核无法直接识别人类的文字命令。而 Shell 的唯一使命就是做“翻译官”。2. Shell 的完整工作流程我们每一次敲命令回车都会经历一套完整流程这也是终端和 Shell 的协作全过程你在终端窗口输入ls、cd、mkdir等命令按下回车终端接收输入把文本内容完整传递给当前运行的 Shell 进程Shell 解析命令判断命令是否合法、识别参数、区分内置命令/外部程序Shell 向 Linux 内核发起系统调用请求执行对应操作内核执行完成将结果返回给 ShellShell 把结果整理好传回终端最终展示在屏幕上3. Shell 的两大核心能力很多人只知道 Shell 能敲命令却不知道它还有超强的核心功能也是运维、开发必备技能交互式交互就是我们日常手动敲命令、即时执行、即时看结果脚本解析执行Shell 可以运行.sh脚本文件批量执行命令、自动化部署、定时运维解放双手这也是为什么 Shell 是后端、运维、测试工程师的必备技能远不止简单敲命令这么简单。四、终端与 Shell 的核心联系区别终极总结看完上面的讲解我们直接提炼最干货的对比彻底厘清二者关系1. 核心联系依赖关系终端是载体Shell 是内核终端必须启动 Shell 才能实现命令交互空终端没有任何意义进程关系打开终端系统会自动fork一个 Shell 进程所有命令都在该 Shell 进程中执行协作关系终端负责IO输入输出Shell 负责命令解析执行二者配合完成人机交互2. 关键区别本质不同终端是IO界面工具Shell 是命令解释器、应用程序功能不同终端只传数据、展示数据Shell 解析命令、调度内核、执行程序可替换性不同终端可以随意换iTerm、Alacritty随便用不影响命令执行Shell 切换后语法、特性、脚本规则都会变化一句话绝杀总结你看到的黑框框是终端黑框框里帮你跑命令的程序是 Shell。五、Linux 系统中常见的 Shell 类型详解Linux 不是只有一种 Shell不同 Shell 诞生于不同时期功能、语法、性能、适用场景各有不同。我们可以通过cat /etc/shells查看当前系统支持的所有 Shell下面详解生产环境最常用的5种。1. BashBourne-Again Shell—— 系统默认王者Bash 是目前绝大多数 Linux 发行版的默认 ShellUbuntu、CentOS、Debian 全系默认也是使用最广、兼容性最强的 Shell。诞生时间1989年基于 Bourne Shell 优化升级核心优点兼容性极强、语法通用、资料最多、bug最少、支持命令补全、历史命令回溯适用场景日常操作、绝大多数 Shell 脚本编写、服务器运维我们平时所有的 Linux 教程、开源脚本99% 都是基于 Bash 编写的是新手必须掌握的核心 Shell。2. ShBourne Shell—— 最古老的基础 ShellSh 是 UNIX 系统最早的 Shell是所有现代 Shell 的鼻祖非常精简、体积极小。特点语法极简、功能基础、不支持现代的命令补全、别名、历史记录优化功能现状现在的 Linux 系统中sh基本是bash的软链接只是为了兼容老旧脚本适用场景老旧服务器、极简系统兼容适配3. ZshZ Shell—— 高颜值高效终端 Shell近几年超级火的 ShellMac 新版系统已默认切换为 ZshLinux 也大量开发者使用。核心优势自动补全超级强大、支持插件主题Oh My Zsh、语法高亮、错误提示、目录记忆、智能纠错缺点部分老旧兼容脚本可能不适配默认没有 Bash 兼容性强适用场景个人开发、日常终端使用、追求高效和颜值的开发者简单说运维生产用 Bash个人开发用 Zsh是行业通用习惯。4. Csh / Tcsh —— C语言风格 ShellCsh 的语法借鉴了 C 语言和 Bash 语法差异较大Tcsh 是 Csh 的增强版增加了命令补全功能。特点语法贴近C语言适合C开发者但兼容性差、通用性低现状目前基本被淘汰极少用于生产环境适用场景仅部分老旧UNIX系统遗留使用5. KshKorn Shell—— 商用高性能 ShellKsh 融合了 Bash 和 Csh 的优点性能强劲、脚本执行效率高早期多用于商用UNIX系统。特点执行速度快、支持高级脚本特性现状Linux 桌面/服务器场景使用极少基本被 Bash 替代快速选型总结新手入门、服务器运维、写通用脚本首选 Bash个人日常开发、追求高效便捷首选 ZshSh、Csh、Ksh了解即可日常基本不用六、新手必学实操命令最后分享几个实用命令快速查看、切换本机 Shell巩固知识点查看当前正在使用的 Shellecho $SHELL查看系统所有支持的 Shellcat /etc/shells临时切换 Shell比如切换zshzsh永久修改默认 Shellchsh -s /bin/zsh七、写在最后总结全文最核心的一句话终端是交互窗口Shell 是命令翻译执行器窗口依附解释器才能工作。很多新手学 Linux 只死记命令却搞不懂底层逻辑遇到报错、脚本兼容问题就束手无策。搞懂终端和 Shell 的区别是吃透 Linux 命令行、学好 Shell 脚本、进阶运维开发的第一步。日常工作中牢牢记住生产环境优先 Bash 保证兼容性个人开发用 Zsh 提升效率足够应对99%的场景。
延伸阅读

更多相关文章

2026/9/13 18:31:58

TI bq51221EVM-520双模无线充电接收器评估套件深度评测与设计指南

1. 项目概述与核心价值如果你正在为便携式设备设计无线充电功能,并且希望产品能同时兼容市面上主流的WPC(Qi)和PMA标准,那么德州仪器(TI)的bq51221EVM-520评估套件绝对是你绕不开的一个关键工具。我手头这块…

2026/9/12 18:26:48

MSPM0 UNICOMM模块深度解析:统一串行通信外设的架构、配置与实战

1. 项目概述:为什么我们需要一个“万能”的串行通信外设?在嵌入式开发这个行当里摸爬滚打十几年,我经手过的MCU少说也有几十款。每次启动一个新项目,最头疼的事情之一,就是数着手指头算串口、SPI、I2C这些通信接口够不…

2026/9/11 15:09:16

FNet:用傅里叶变换加速Transformer的实践解析

1. FNet项目概述:当傅里叶变换遇上Transformer 去年在谷歌论文《FNet: Mixing Tokens with Fourier Transforms》中,研究者提出了一个大胆的构想——用傅里叶变换替代Transformer中的自注意力机制。这个看似简单的改动,在GLUE基准测试中达到了…

2026/9/13 21:13:09

Ignite 新建项目时 CNG 与 manual 工作流怎么选?

Ignite 新建项目时 CNG 与 manual 工作流怎么选? 【免费下载链接】ignite Infinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting. 项目地址…

2026/9/13 21:13:09

大模型幻觉现象解析与工程实践解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码