06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译

嵌入式操作系统 | vim 与软件管理:apt / 源码编译

模块一 · 2 学时 · 环境:VMware + Ubuntu 20.04

一句话概述:掌握 vim 编辑器基本操作与三种工作模式,以及两种软件安装方式(apt 安装与源码编译安装),配套课堂练习与课后作业。

本节目标

  1. 会用 vim 打开、编辑、保存文件,理解三种模式切换
  2. 会用 apt 搜索、安装、卸载软件
  3. 理解源码编译安装的一般步骤(configure / make / make install)

一、讲解内容

1.1 知识讲解

vim 是嵌入式必备编辑器。 很多嵌入式设备或服务器没有图形界面,只能用命令行编辑器,vim 是主流。它有三组模式:普通模式(按键盘是命令)、插入模式(输入文字)、命令模式(保存/退出)。进入 vim 默认是普通模式,按 i 进插入模式打字,按 Esc 回普通模式,普通模式输 :wq 保存退出、:q! 不保存退出。牢记这一组键即可入门,后面熟练后再学跳转、复制等。

apt 快速装软件。 apt 是 Ubuntu 的软件管理工具,从软件源下载安装。sudo apt install 包名 安装、sudo apt remove 包名 卸载、apt search 关键词 搜索、sudo apt update 更新源列表。日常开发绝大多数软件 apt 一键搞定。

源码编译安装。 有的软件不在源里,或嵌入式场景需要定制编译选项,就要从源码编译。编译器是 gcc :gcc 源文件.c -o 程序名 生成可执行文件。对于带构建系统的软件(多为 C 项目),一般步骤是:

shell 复制代码
./configure        # 1. 检测环境、生成编译配置
make               # 2. 编译(调用 gcc)
sudo make install  # 3. 安装到系统目录

注意 :这三个步骤要按顺序执行,make 出错时先看报错信息,常见原因是缺依赖库,用 apt 装后再重试。后续课时(如 libubox 源码编译)会再次用到这套流程。

1.2 代码示例

shell 复制代码
# 软件管理
sudo apt update                 # 更新软件源
apt search vim                  # 搜索 vim 相关包
sudo apt install git -y        # 安装 git
sudo apt remove git            # 卸载 git

# 源码编译(以写一个 hello.c 为例)
gedit / 用 vim 创建 hello.c
gcc hello.c -o hello            # 编译
./hello                         # 运行

# vim 基本键位(三个模式)
vim hello.c                     # 普通模式打开
# 按 i -> 插入模式输入内容
# 按 Esc -> 回普通模式,输入 :wq 保存退出

执行前后对比(apt 安装 tree):

text 复制代码
# 执行前
$ tree
tree: command not found

# 执行:sudo apt install tree -y
$ sudo apt install tree -y

# 执行后
$ tree
.            # 正常列出目录树,命令可用

1.3 常见错误与排查

现象 原因 解决
vim 按方向键/退格出现乱码字符 进入了错误模式 按 Esc 回普通模式,用 i 进入插入模式再输入
想保存却提示 E37 或改不动 用 :q 但文件被修改 用 :wq 保存退出,或 :q! 放弃修改
apt install 报 "Unable to locate package" 软件源列表没更新 先执行 sudo apt update
apt install 卡住或很慢 源为国外源、下载慢 更换国内镜像源后 sudo apt update
make 报 "No rule to make target" 没有按顺序 configure 按 configure → make → make install 顺序执行
gcc 报 "fatal error: xxx.h: No such file" 缺少头文件/开发库 sudo apt install 对应开发包 后再编

二、学生练习

本节命令速查表:

命令/键位 作用 示例
vim 文件 打开文件 vim hello.c
i / Esc 插入 / 回普通模式 ---
:wq / :q! 保存退出 / 不保存退出 ---
sudo apt install 安装软件 sudo apt install git
apt search 搜索软件 apt search vim
gcc 源码 -o 程序 编译 gcc hello.c -o hello
./程序 运行当前目录程序 ./hello
编号 任务 提示 预期结果
L6.1 用 vim 新建并编辑 hello.c,用 :wq 保存退出 按 i 输入代码,Esc 后输 :wq 提示写入成功
L6.2 用 gcc 编译并运行 gcc hello.c -o hello && ./hello 终端输出 Hello 内容
L6.3 用 vim 打开 makefile 文档练习 yy 复制 / p 粘贴后保存 普通模式操作 内容变化并保存成功
L6.4 用 apt 搜索并安装 tree 命令 sudo apt install tree 安装后 tree 可用
L6.5 卸载后重新安装 tree 练习 apt remove 再 install 出现"已是最新版本"提示

三、作业

  • 必做:完成 L6.1--L6.5,保存截图;回答 gcc 编译命令的含义(gcc hello.c -o hello 各部分作用),并说明再执行一次 ./hello 为什么能运行(说明它与源码的关系)
  • 选做:用 vim 打开 /etc/profile 观察文件结构(只读了解,不要修改);下载任意开源工具源码(如已经在源里的 echo/xx),尝试 configure / make 流程,记录过程中安装的依赖
  • 提交:命令截图 + 文字回答,命名 课时06-作业截图.png

四、本节小结与下节预告

本节掌握了 vim 编辑与 apt / 源码编译两种软件安装方式,至此开发环境基础全部就绪。下节进入模块二:进程与服务管理,用 systemctl 管理系统服务与开机自启,为部署真实服务做铺垫。

相关推荐
番茄灭世神3 小时前
PN学堂GD32教程第12篇——SPI与Nor Flash
c语言·stm32·单片机·嵌入式·gd32·总线协议
饭来_3 小时前
Ubuntu 中出现 CondaToSNonInteractiveError 的解决方法
ubuntu·conda·debug
东风微鸣4 小时前
精简 Ubuntu Linux 固件包:每个 N100 节点省下约 450 MB
linux·ubuntu·postgresql
pride.li15 小时前
Python 安装
linux·python·ubuntu
潘潘的嵌入式日记15 小时前
大彩串口屏型号怎么看?DC80480M070 命名拆解与选型
嵌入式·硬件·串口屏·选型·大彩·型号命名
明日清晨16 小时前
mobaxterm root身份登录Ubuntu
linux·ubuntu·postgresql
Allocator16 小时前
彻底解决ubuntu上腾讯会议无法共享问题
linux·ubuntu·腾讯会议
忆挽篱笙歌17 小时前
冯诺依曼+操作系统+进程
linux·ubuntu
蓝天居士18 小时前
PY32F系列MCU在OTA时App区概率性跑不起来的根因分析(5)
mcu·嵌入式
Zwawa18 小时前
传感器模块都在交出什么:从模拟电压到数字协议
c语言·单片机·嵌入式