嵌入式学习(linux模块)
Apr 21. 2026

AI文摘
此内容由AI根据文章内容自动生成.
加载中。

嵌入式开发软件分层

嵌入式分为应用层、内核层、硬件层

开发技术栈

储备知识: Linux系统基础

  • 主要内容: 1.Linux 文件系统结构 2.常用的shell系统指令 3.用户与权限管理 4.VIM文本编译 5.共享环境搭建

安装问题

  • mac 版本安装虚拟机镜像iso遇到的问题

按照server 镜像版本地址:https://old-releases.ubuntu.com/releases/ 安装最新版本的 不会存在屏幕适配的问题

先安装server版本的ubuntu,然后使用 sudo apt install ubuntu-desktop 桌面版的,执行完之后 使用 sudo reboot 重启

mac arm版本无法使用vmware 3d硬件加速。

Linux基础

文件结构

linux 系统的文件结构:

目录名作用与说明
/bin基础指令库:存放所有用户都能使用的基本命令(如 ls, cp)。
/sbin特权指令库:存放主要由超级用户(root)使用的系统管理命令(如 reboot, fdisk)。
/dev设备文件:存放硬件设备文件(如硬盘、键盘、终端),Linux 下硬件也被视为文件。
/etc配置中心:存放系统及应用程序的配置文件(如网络配置、用户信息)。
/home用户家目录:普通用户的主目录,通常以用户名命名(如 /home/lucy)。
/lib共享库文件:存放程序运行所依赖的库文件(类似于 Windows 的 .dll 文件)。
/mnt挂载点:系统管理员手动挂载文件系统(如外接硬盘、光盘)的临时目录。
/proc虚拟文件系统:存放内存中的映射信息,包含正在运行的进程和内核信息。
/root超级用户家目录:系统管理员(root)的专属主目录,与普通用户的 /home 区分开。
/usr应用程序目录:存放用户安装的应用程序和工具,类似于 Windows 的 Program Files
/var动态数据:存放经常变化的文件,如系统日志(/var/log)、邮件和缓存。
/tmp临时文件:存放程序运行产生的临时文件,系统重启后通常会被清空。
/boot启动文件:存放系统启动所需的核心文件,如 Linux 内核和引导加载程序。

文件命令指令

速查表:https://wangchujiang.com/reference/docs/linux-command.html

  1. ls -a 显示所有文件
  2. ls -l 显示文件详细信息 文件类型:d 目录 l 链接(快捷方式) s 套接字链接 b 块设备 i 索引 p 管道 c 字符设备
  1. cd - 退回上一级目录
  2. mkdir -p 创建目录 递归创建
  3. touch 创建文件 修改文件时间 创建多个文件使用{} 使用,隔开{1…10}
  4. rm -rf 删除文件 -i 删除前询问 rmdir -p 删除目录
  5. cp -R 复制目录 -r 复制 -f 强制覆盖 -i 询问

这里为你整理了 Linux 系统中常用的文件操作、文本处理及 Vim 编辑器命令速查表。

文件操作与文本处理

1. 文件查看 (Read)

用于读取和浏览文件内容。

命令选项功能描述
cat-n连续显示:读取文件内容并显示行号。
>创建/覆盖cat > file.txt 创建文件或清空写入。
>>追加cat >> file.txt 在文件末尾追加内容。
more分页查看:空格翻页,Enter 下一行,q 退出。
less增强分页:支持上下滚动,功能比 more 更强大。
head-n 10头部显示:显示文件的前 10 行(默认前 10 行)。
tail-n 10尾部显示:显示文件的最后 10 行(常用于看日志)。

2. 文件写入 (Write)

快速生成或追加文本内容。

命令语法功能描述
echoecho "text" > file覆盖写入:将文本写入文件,会清空原内容。
echo "text" >> file追加写入:将文本追加到文件末尾。

在系统中定位文件或过滤内容。

命令选项/参数功能描述
grep"pattern" file文本过滤:在文件中搜索指定的字符串。
-n显示匹配行的行号。
-c统计匹配行的数量。
-i忽略大小写进行搜索。
find. -name "*.txt"按名查找:在当前目录及子目录中查找 .txt 文件。
-size +10M按大小:查找大于 10M 的文件。
-type d/f/l...按类型d(目录) f(文件) l(链接) b(块设备)等。
locatefilename快速定位:基于数据库快速查找文件路径(需先 updatedb)。

Vim 编辑器命令

核心模式

  • 命令模式 (Command):启动 Vim 后的默认状态,用于执行操作指令。
  • 插入模式 (Insert):输入 i, a, o 等进入,用于输入文本。
  • 末行模式 (Last Line):输入 : 进入,用于保存、退出或查找替换。

1. 光标移动与跳转

快捷键功能描述
G跳转到文件最后一行
gg跳转到文件第一行
vim file +n打开文件并直接跳转到第 n 行。
0 / ^移动到行首(0为绝对行首,^为第一个非空字符)。
$移动到行尾。

2. 编辑操作 (命令模式下)

快捷键功能描述
dd删除当前行。
:n,nd删除从当前行到第 n 行。
dG删除从当前行到文件末尾。
yy复制当前行。
yG复制从当前行到文件末尾。
p粘贴到光标
P粘贴到光标
u撤销 (Undo) 上一次操作。
Ctrl + r重做 (Redo)。
r替换光标所在的一个字符
R进入替换模式,连续替换多个字符(直到按 Esc)。

3. 查找与替换 (末行模式下)

命令功能描述
/string向下搜索字符串 string。按 n 查找下一个,N 上一个。
?string向上搜索字符串 string
:s/old/new/g在当前行中,将所有 old 替换为 new
:%s/old/new/g整个文件中,将所有 old 替换为 new
:n,ms/old/new/g在第 n 行到第 m 行之间,将所有 old 替换为 new
:set nu显示行号 (Set Number)。
:set nonu取消显示行号。

4. 保存与退出 (末行模式下)

命令功能描述
:w保存 (Write)。
:q退出 (Quit)。
:wq保存并退出。
:q!强制退出,不保存修改。

其他指令

这些命令通常在 Vim 的命令模式(按 Esc 后)下输入。

命令功能描述
:set nu显示行号:在编辑器左侧显示每一行的编号。
:set nonu取消行号:隐藏行号显示。
:.=当前行号:显示光标当前所在行的行号。
:=总行数:显示整个文件的总行数。
Ctrl + g文件状态:显示文件名、当前行号、总行数及位置百分比。

用户和权限管理

1. 用户切换

在不同用户身份之间进行转换。

  • sudo -i:切换到 root 用户(需要当前用户有 sudo 权限)。
  • exit:退出当前用户,返回到上一个登录的用户。
  • su -:切换用户(通常后接用户名,如 su - username,加 - 会同时加载目标用户的环境变量)。

2. 用户管理

管理系统的登录用户。

命令选项功能描述
useradd-m添加用户并创建家目录
-d指定家目录路径(例如:-d /opt/myuser)。
-g指定初始用户组(主组)。
-G指定附加用户组(可以加入多个组)。
userdel-r删除用户,并同时删除该用户的家目录及邮件池。
usermod-d修改用户家目录
-g修改用户主组
-G修改用户附加组

3. 密码管理

使用 passwd 命令管理用户密码。

选项功能描述
(无选项)设置/修改密码:直接运行 passwd 修改当前用户密码,或 passwd 用户名 修改指定用户密码。
-l锁定密码:禁止用户使用密码登录。
-u解锁密码:恢复被锁定的用户密码。
-d删除密码:清空用户密码(使账户无密码)。
-e强制修改:使密码立即过期,用户下次登录时必须修改密码。

4. 用户组管理

管理用户所属的组别。

  • groupadd:添加一个新的用户组。
  • groupdel:删除一个已存在的用户组。
  • groups:查看用户所属的所有组。
  • groupmod:修改用户组的属性(如组名 -n 或组ID -g)。
  • chgrp:修改文件或目录的所属组。 -R 递归修改
  • chown: 修改文件或目录的所属用户。chown -R [用户名][:组名] [文件名]
  • chmod: 修改文件或目录的权限。-R 递归修改 chmod -R [权限] [文件名]

文字描述:agu;数字描述,4210

权限组合数字计算含义
rwx4+2+1 = 7读、写、执行
rw-4+2 = 6读、写
r-x4+1 = 5读、执行
r--4 = 4只读
---0 = 0无任何权限

注:对于新增的的用户,需要重新授权,进行sudo授权在配置文件中添加./etc/sudoers.d/username visudo命令进行用户特权的授权

> comment on / twitter
>
CC BY-NC-SA 4.0 2021-PRESENT © RYANUO