嵌入式开发软件分层
嵌入式分为应用层、内核层、硬件层
开发技术栈
储备知识: Linux系统基础
- 主要内容: 1.Linux 文件系统结构 2.常用的shell系统指令 3.用户与权限管理 4.VIM文本编译 5.共享环境搭建
安装问题
按照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
- ls -l 显示文件详细信息 文件类型:d 目录 l 链接(快捷方式) s 套接字链接 b 块设备 i 索引 p 管道 c 字符设备
- touch 创建文件 修改文件时间 创建多个文件使用{} 使用,隔开{1..10}
- rm -rf 删除文件 -i 删除前询问 rmdir -p 删除目录
- cp -R 复制目录 -r 复制 -f 强制覆盖 -i 询问
这里为你整理了 Linux 系统中常用的文件操作、文本处理及 Vim 编辑器命令速查表。
文件操作与文本处理
1. 文件查看 (Read)
用于读取和浏览文件内容。
| | |
|---|
cat | -n | 连续显示 |
| > | 创建/覆盖:cat > file.txt 创建文件或清空写入。 |
| >> | 追加:cat >> file.txt 在文件末尾追加内容。 |
more | | 分页查看 |
less | | 增强分页 |
head | -n 10 | 头部显示 |
tail | -n 10 | 尾部显示 |
2. 文件写入 (Write)
快速生成或追加文本内容。
| | |
|---|
echo | echo "text" > file | 覆盖写入 |
| echo "text" >> file | 追加写入 |
3. 文件查找 (Search)
在系统中定位文件或过滤内容。
| | |
|---|
grep | "pattern" file | 文本过滤 |
| -n | |
| -c | |
| -i | |
find | .-name "*.txt" | 按名查找 |
| -size +10M | 按大小 |
| -type d/f/l... | 按类型:d(目录) f(文件) l(链接) b(块设备)等。 |
locate | filename | 快速定位:基于数据库快速查找文件路径(需先 updatedb)。 |
Vim 编辑器命令
核心模式
- **命令模式 (Command)**:启动 Vim 后的默认状态,用于执行操作指令。
- **插入模式 (Insert)**:输入
i, a, o 等进入,用于输入文本。 - **末行模式 (Last Line)**:输入
: 进入,用于保存、退出或查找替换。
1. 光标移动与跳转
2. 编辑操作 (命令模式下)
| |
|---|
dd | 删除 |
:n,nd | 删除 |
dG | 删除 |
yy | 复制 |
yG | 复制 |
p | 粘贴 |
P | 粘贴 |
u | 撤销 |
Ctrl + r | 重做 |
r | |
R | 进入替换模式,连续替换多个字符(直到按 Esc)。 |
3. 查找与替换 (末行模式下)
| |
|---|
/string | 向下搜索字符串 string。按 n 查找下一个,N 上一个。 |
?string | 向上 |
:s/old/new/g | |
:%s/old/new/g | |
:n,ms/old/new/g | 在第 n 行到第 m 行之间,将所有 old 替换为 new。 |
:set nu | |
:set nonu | |
4. 保存与退出 (末行模式下)
其他指令
这些命令通常在 Vim 的命令模式(按 Esc 后)下输入。
| |
|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
:.= | 当前行号 |
:= | 总行数 |
Ctrl + g | 文件状态 |
用户和权限管理
1. 用户切换
在不同用户身份之间进行转换。
- **
sudo -i**:切换到 root 用户(需要当前用户有 sudo 权限)。 - **
exit**:退出当前用户,返回到上一个登录的用户。 - **
su -**:切换用户(通常后接用户名,如 su - username,加 - 会同时加载目标用户的环境变量)。
2. 用户管理
管理系统的登录用户。
| | |
|---|
| useradd | -m | 添加用户并创建家目录 |
| -d | 指定家目录路径 |
| -g | 指定初始用户组 |
| -G | 指定附加用户组 |
| userdel | -r | 删除用户 |
| usermod | -d | 修改用户家目录 |
| -g | 修改用户主组 |
| -G | 修改用户附加组 |
3. 密码管理
使用 passwd 命令管理用户密码。
| |
|---|
| (无选项) | 设置/修改密码:直接运行 passwd 修改当前用户密码,或 passwd 用户名 修改指定用户密码。 |
-l | 锁定密码 |
-u | 解锁密码 |
-d | 删除密码 |
-e | 强制修改 |
4. 用户组管理
管理用户所属的组别。
groupmod:修改用户组的属性(如组名 -n 或组ID -g)。chgrp:修改文件或目录的所属组。 -R 递归修改chown: 修改文件或目录的所属用户。chown -R [用户名][:组名] [文件名]chmod: 修改文件或目录的权限。-R 递归修改 chmod -R [权限] [文件名]
文字描述:agu;数字描述,4210
注:对于新增的的用户,需要重新授权,进行sudo授权在配置文件中添加./etc/sudoers.d/username visudo命令进行用户特权的授权