Linux命令行怎么用?shell外壳程序原理一看就懂
外壳程序(Shell)是命令行解释器,将用户命令翻译成系统调用交由内核执行并返回结果。Linux系统分为超级用户和普通用户,权限级别不同。普通用户需通过sudo指令临时获取超级用户权限,但必须在/etc/sudoers白名单中有相应配置。
1 Xshell 运行原理
1.1 命令行的组成

命令行本身由三部分构成:用户名、主机名和工作目录。这就像你每次打开终端时,系统先把你是谁、在哪台机器、当前在哪个目录告诉你。

"#" 是个提示符,它左边是操作系统的地盘,右边是用户的地盘。提示符有两种:"$" 代表普通用户,"#" 代表超级用户。看到不同的符号,心里就有数了——权限不同。
1.2 外壳程序
说出来你可能不信,你输入的命令并不是直接交给操作系统处理的。真正干活的是一个叫 “外壳程序” 的东西,它负责读取命令、识别命令,然后才去跟操作系统打交道。简单说,外壳程序打印出命令行,咱们在命令行里输入指令,它再往下传。

操作系统外面通常包着一层软件层,这就是外壳程序。它最直观的表现就是给你一个命令行界面,你输入“ls”这样的命令——本质上就是一堆字符串。外壳程序拿到后,翻译给操作系统内核去执行,然后把结果再翻译回来,让你看到文件列表。这个外壳程序也叫命令行解释器,Linux 下统称为 shell。
命令行解释器的作用其实就两个:
- 把用户的命令翻译给内核(kernel)处理
- 把内核的处理结果翻译给用户
光说理论可能有点干,咱们举个贴近生活的例子。
假设有个闷骚又害羞的程序员小王(用户),shell 就像媒婆,操作系统内核就是村头让你心动的小花。小王看上了小花,但不好意思直接表白,于是让家人找媒婆去提亲。所有事情小王都只跟媒婆沟通,由媒婆转达给小花。这就是第一个功能:翻译,让用户能操作。
小花多次拒绝小王,小王不死心,还希望媒婆再争取。但这次媒婆在小花家窗外看到小帅和小花一家人其乐融融吃饭,连门都没进就告诉小王没戏了——变相拒绝。这就是第二个功能:如果用户输入的指令太离谱,命令行解释器直接拦住,不让它交给操作系统,从而保护操作系统。
小王还不死心,让媒婆再帮一次。因为小王他爸是村长,媒婆不好驳面子,但知道这事成不了,又不想砸招牌。怎么办呢?找了个实习生去干。实习生做成了,是媒婆慧眼识珠;没做成,也没影响她。这就是第三个功能:外壳程序在系统上以进程方式运行,进行命令行解释时不能挂——一旦挂了就只能重新登录。所以新命令到来时,外壳程序通常创建一个子进程去执行命令,子进程挂了也不影响父进程。
在 Ubuntu 系统下,对应的命令行解释器叫 bash。

那 bash 和 shell 是什么关系呢?相当于王婆和媒婆的关系——shell 是所有外壳程序的统称,而 bash 是其中一个具体实现。
说到这儿提一句,Windows 的图形化界面也是一种外壳程序。你每次鼠标点击,都会被窗口管理器转换成系统级别的任务交给操作系统去执行。安卓手机底层也是 Linux,内核是 Linux,但外面包裹的那层安卓界面,就是 Linux 的 shell。
2 Linux中的用户
2.1 两种用户
Linux 的权限是针对用户设置的。那 Linux 里有哪些用户呢?
简单说两类:超级用户(root) 和 普通用户。
- 超级用户:在 Linux 下啥都能干,不受任何限制。
- 普通用户:在 Linux 下只能干有限的事,处处受管控。
- 超级用户的命令提示符是 “#”,普通用户的命令提示符是 “$”。
root 用户的权限极高,普通用户则权限低、受管控。
2.2 创建普通用户
先学学怎么创建一个普通用户。
指令:adduser 和 passwd
创建普通用户语法:adduser [选项] 用户名

设置密码语法:passwd 用户名。有些系统创建用户后直接让你输密码,不需要单独执行这条指令。

接着输入两次新密码即可。注意:Linux 下输入密码不回显!你敲键盘时屏幕上啥也不显示,这是正常现象,不是系统坏了。

删除用户语法:userdel -r 用户名。删除用户这里不演示了,但必须提醒:一定要加上 -r,否则系统会出问题!
怎么查看创建的用户呢?Linux 中创建的用户都放在 /home 目录下,切换到该目录看看就知道了。

2.3 用户切换
2.3.1 普通→超级
先讲普通用户怎么切换到超级用户。
直接使用 su 命令即可。回车后系统要求输入密码。

这里要输入的是谁的密码?普通用户的还是超级用户的?
肯定输入的是 root 的密码。你是从普通用户切换到 root,如果输入普通用户的密码就能变成 root,那岂不是人人都能当 root 了?所以,想切换成 root,你必须知道管理员的密码。
同样,密码输入不回显。

用 su 切换后,当前工作目录不改变。

另外还有一种做法:su -。操作方法和 su 一模一样,区别在于:

区别就是:su 只是身份切换,不会让 root 重新登录,所以当前工作目录不变;而 su - 会以 root 身份重新登录一次,导致当前路径发生变化(通常切换到 /root)。
2.3.2 超级→普通
超级用户变成普通用户也用 su 命令。
语法:su 用户名 或 su - 用户名

超级用户变普通用户不需要输密码。为什么?因为 root 是最高权限,普通用户的密码根本挡不住 root,root 想干嘛就干嘛。
加不加 - 的区别同上,不再赘述。
3 指令的短暂提权
3.1 为什么要提权
假设你现在是普通用户,但需要以超级管理员的身份执行一条权限比较高的命令——比如安装软件。安装软件的本质是将指令写入特定目录(如 /usr/bin),而这个目录通常属于 root,普通用户没有写入权限。那怎么办?这时候就需要临时提升权限。
顺便说一句,Linux 中安装的程序其实只安装了一份,但允许所有人同时使用。比如普通用户能用 ls,root 用户也能用 ls(当然也有少数指令如 adduser 禁止普通用户使用)。

权限被拒绝——这就是普通用户试图执行高权限操作时的典型结果。
3.2 sudo 指令
短暂提权用到的指令是 sudo。
- 语法:
sudo 要执行的命令 - 功能: 对当前指令进行短暂提权
比如,我们以 root 的身份创建一个文件:

文件创建成功:

虽然现在还不会看文件的具体属性,但文件属于 root 还是能看出来的。
sudo 第一次使用需要输入密码,之后会有十到十五分钟的免密期。从 sudo whoami 的输出也能看出,用户身份变成了 root。

3.3 人人都能提权吗
上面普通用户用 sudo 就能变成 root(输入的是普通用户的密码,不是 root 的),那岂不是人人都是 root 了?那 root 还区分普通用户干什么?
其实正常情况下,普通用户输入 sudo 会报错:

什么原因?Linux 系统提供了一个类似 白名单 的机制,只有白名单上的用户才能用 sudo 提权。白名单就是无条件信任,和黑名单无条件拒绝相对应。
默认情况下,Linux 不允许普通用户执行 sudo。要执行,必须将当前用户添加到白名单。白名单路径:/etc/sudoers。

可以看到这个文件属于 root,只有超级用户才有资格修改。
想让普通用户执行 sudo,必须用超级管理员的身份修改 sudoers 配置文件。修改方式如下:

注:推荐用 vim 编辑器打开。
可能有小伙伴会问:那我把自己的用户加到 sudoers 文件里,不就能随便提权了吗?
道理是这么个道理,但在实际公司环境中,假设一个小组 10 人共用一台机器,只有一个人是管理员。你想把自己的用户加入 sudoers,必须线下真人去找管理员同意才行。现在我们能自己修改 sudoers,是因为我们既是用户又是管理员。只要线下去找管理员,说明人家是真正认可你的,所以不用担心人人都是 root 的问题——即便白名单里的 root,那也是值得信任的。
总结
从 shell 外壳程序的工作原理,到 Linux 用户权限的划分,再到 sudo 提权的机制,整个过程环环相扣。理解这些底层逻辑,才能真正用好 Linux 的命令行。
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














