说明:我觉得谈及操作系统OS,离不开的一个话题就是Linux,那么对于我们程序员来说,掌握Linux的命令也是十分重要的,因此我将其作为本篇文章的第一部分。
在日常使用 Linux 系统或者从事运维、系统开发工作时,有几个核心概念和操作你必须理解:常用命令的使用、系统中断机制,以及用户态和内核态的区别与切换。今天,我就结合实际经验给大家梳理一遍,让你既能操作 Linux,又能理解底层原理。
一、Linux 常用命令
前置知识:这也是我认为最重要的部分:
1.linux的文件结构,它有别于windows,在linux中一切皆文件。
2.相对路径和绝对路径也十分重要(这里绝对路径很好理解,重点了解下相对路径,比如./xx,表示当前目录下的,也就是文件同级)。

记住上面这张图对于的目录结构就清晰了,包括根目录和主目录对应的操作。
Linux 命令行是系统管理员和开发者必备技能。掌握这些命令,你可以高效管理文件、查看系统状态和调试问题。
1. 文件与目录操作
| 命令 | 作用 | 使用场景 |
|---|---|---|
cd xxx/yyy | 进入目录 | 切换工作目录 |
pwd | 显示当前目录路径 | 确认自己在哪个文件夹 |
ls / ll | 查看目录内容 | 浏览文件列表, |
mkdir 目录名 | 创建目录 | 新建文件夹存放文件 |
rm 文件/目录 | 删除文件或目录 | 小心使用,rm -rf 会递归删除 |
cp 文件 目录 | 复制文件 | 保留原文件,生成备份 |
mv 文件 目录 | 移动文件 | 文件搬家,原位置删除 |
vim/vi 文件 | 编辑文件 | 终端中修改文件内容 |
find 目录 -name 文件 | 查找文件 | 快速定位指定文件 |
kill PID | 杀死进程 | 停止异常或占用资源的程序 |
例如ls -a查看全部,rm -r删除文件夹都是很常用的操作。
2. 查看文件内容
其实这部分不重要,因为都可以通过vim来查看,比如gg(移动到首行),G(移动到末尾)(后面会详细介绍vim命令)。
| 命令 | 作用 | 使用场景 |
|---|---|---|
cat 文件 | 查看整个文件 | 文件小,一次性查看内容 |
head -n 10 文件 | 查看前 10 行 | 快速查看开头日志 |
tail -n 10 文件 | 查看最后 10 行 | 查看最近的日志信息 |
tail -f 文件 | 实时查看文件新增内容 | 监控日志变化 |
grep "关键词" 文件 | 查找文件内容 | 精确定位错误或特定信息 |
3. 系统状态监控
| 命令 | 作用 | 使用场景 |
|---|---|---|
top | 查看 CPU/内存使用 | 找出资源消耗高的进程 |
df -h | 查看磁盘使用情况 | 排查磁盘满的原因 |
netstat -nap | 查看网络连接 | 网络调试、查看端口占用 |
总结:Linux 命令是操作系统的“入口”,掌握它们可以快速完成文件管理、日志查看、系统监控等任务。
二、系统中断(Interrupt)
Linux 和其他操作系统都会利用 中断机制,让处理器在执行任务时能快速响应紧急事件。
1. 什么是中断?
简单来说就是cpu遇到了一个更紧急的任务需要处理,他就先放下了手中的任务。
中断是计算机系统的一种机制,用于暂停当前任务,去处理突发事件。
-
比喻:你在写作业,电话响了,你暂停作业去接电话,接完再继续写作业。
2. 中断流程
-
CPU 正在执行任务 A。
-
某事件触发中断(如键盘输入、鼠标点击、硬件异常)。
-
CPU 保存当前任务状态(寄存器、程序计数器等)。
-
CPU 执行中断处理程序(ISR)。
-
处理完成后,CPU 恢复任务 A 继续执行。
3. 常见中断类型
| 类型 | 触发事件 | 示例 |
|---|---|---|
| 时钟中断 | 系统定时器 | 定时任务调度 |
| I/O 设备中断 | 外设事件 | 键盘、鼠标、硬盘读写 |
| 硬件错误中断 | 系统异常 | 除零错误、内存访问错误 |
理解要点(中断好处):中断让 CPU 无需轮询硬件(CPU主动检查硬件状态的方式),即可高效响应外部事件。(CPU 不主动去问硬件,而是当事件发生时,硬件通知 CPU。)
三、用户态(User Mode)与内核态(Kernel Mode)
操作系统为了安全和稳定,将程序运行分为两种模式:
| 模式 | 特权 | 可以做什么 | 运行主体 |
|---|---|---|---|
| 内核态 | 高 | 访问所有硬件资源,执行特权指令 | 操作系统内核、驱动 |
| 用户态 | 低 | 只能访问授权资源,不能直接操作硬件 | 应用程序 |
1. 为什么需要区分?
如果所有程序都能直接访问硬件,系统可能崩溃或数据丢失。通过区分用户态和内核态,操作系统可以保护系统资源。
2. 用户态 ↔ 内核态切换
触发条件:
-
系统调用(读写文件、网络操作)
-
中断(外设事件触发)
-
异常(程序错误)

切换流程:
-
应用程序在用户态运行。
-
系统调用或中断触发 CPU 切换到内核态。
-
CPU 保存用户态状态,执行内核态操作。
-
操作完成后恢复用户态,继续执行程序。
比喻:
-
用户态:普通公民,只能做被允许的操作。
-
内核态:军队或警察,有权访问和管理所有资源。
-
切换:当普通公民需要开车(访问硬件)时,需要申请(系统调用),警察批准(内核操作)。
四、总结
结合 Linux 常用命令、中断和用户态/内核态,可以形成一个完整的理解框架:
-
Linux 命令 → 帮你操作系统,查看和管理文件、监控进程、排查问题。
-
中断机制 → 让 CPU 能及时响应硬件事件,提高系统效率。
-
用户态/内核态 → 保护系统安全,确保应用程序无法随意破坏硬件资源。
掌握这三块内容,你不仅能成为 Linux 高效使用者,还能理解操作系统的底层运行原理,为调试、开发或系统优化打下坚实基础。
3670

被折叠的 条评论
为什么被折叠?



